Odoo18
sudo apt-get update
sudo apt-get upgrade -y
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
Creating the user
sudo useradd -m -d /opt/odoo18 -U -r -s /bin/bash odoo18
apt list | grep python3.12
sudo apt-get install python3.12
sudo apt install -y git python3-pip python3.12-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
creating the web dependency
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
html to pdf
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
Install and configure PostgreSQL
sudo apt install postgresql -y
sudo su - postgres
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo18
psql
ALTER USER odoo18 WITH SUPERUSER;
\q
exit
Install Odoo
sudo su - odoo18
git clone https://www.github.com/odoo/odoo --depth 1 --branch 18.0 odoo18
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1
python3 -m venv odoo18-venv
source odoo18-venv/bin/activate
(odoo18-venv) odoo18@ubuntu22:~$ pip3 install wheel
(odoo18-venv) odoo18@ubuntu22:~$ pip3 install -r odoo18/requirements.txt
Create a directory for the 3rd party addons:
mkdir /opt/odoo18/odoo18/custom-addons
Create a configuration file for the Odoo Installation
sudo nano /etc/odoo18.conf
[options]
admin_passwd = admin_passwd
db_host = False
db_port = False
db_user = odoo18
db_password = False
addons_path = /opt/odoo18/odoo18/addons,/opt/odoo18/odoo18/custom-addons
xmlrpc_port = 8069
Create Odoo Systemd Unit file
sudo nano /etc/systemd/system/odoo18.service
[Unit]
Description=Odoo18
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo18
PermissionsStartOnly=true
User=odoo18
Group=odoo18
ExecStart=/opt/odoo18/odoo18-venv/bin/python3 /opt/odoo18/odoo18/odoo-bin -c /etc/odoo18.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now odoo18
sudo systemctl status odoo18
sudo journalctl -u odoo18
No Comments