A complete Guide on How to Install Odoo 17 on Ubuntu 20.04 LTS
sudo apt-get update -y
sudo apt-get upgrade -y
sudo sudo adduser --system --home=/opt/[odoo17] --group [odoo17]
sudo apt-get install openssh-server fail2ban
sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo apt install -f
sudo apt-get install -y python3-pip
sudo apt-get install python-dev python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev libpq-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev
sudo apt-get install -y npm
sudo ln -s /usr/bin/nodejs /usr/bin/node
sudo npm install -g less less-plugin-clean-css
sudo apt-get install -y node-less
sudo apt-get install postgresql
sudo su - postgres
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt [odoo17]
The user and the password are needed for the conf file. Postgres uses a distinct system user to perform tasks.
psql
ALTER USER [odoo17] WITH SUPERUSER;
\q
exit
sudo adduser --system --home=/opt/[odoo17] --group [odoo17]
sudo apt-get install git
sudo su - [odoo17] -s /bin/bash
git clone https://www.github.com/odoo/odoo --depth 1 --branch 17.0 --single-branch .
exit
sudo pip3 install -r /opt/[odoo17]/requirements.txt
sudo cp /opt/[odoo17]/debian/odoo.conf /etc/[odoo17].conf
sudo nano /etc/[odoo17].conf
[options]
; This is the password that allows database operations:
admin_passwd = admin
db_host = False
db_port = False
db_user = [odoo17]
db_password = False
addons_path = /opt/[odoo17]/addons
logfile = /var/log/[odoo17]/[odoo17].log
sudo chown [odoo17]: /etc/[odoo17].conf
sudo chmod 640 /etc/[odoo17].conf
sudo mkdir /var/log/[odoo17]
sudo chown [odoo17]:root /var/log/[odoo17]
We have to create a service to run Odoo 17. Let’s create a service file ‘[odoo17].service’ in /etc/systemd/system.
sudo nano /etc/systemd/system/[odoo17].service
[Unit]
Description=Odoo17
Documentation=http://www.odoo.com
[Service]
# Ubuntu/Debian convention:
Type=simple
User=[odoo17]
ExecStart=/opt/[odoo17]/odoo-bin -c /etc/[odoo17].conf
[Install]
WantedBy=default.target
sudo chmod 755 /etc/systemd/system/[odoo17].service
sudo chown root: /etc/systemd/system/[odoo17].service
sudo systemctl start [odoo17].service
http://<your_domain_or_IP_address>:8069