# 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
```

<div class="copy-btn" id="bkmrk-creating-the-web-dep">creating the web dependency</div><div class="copy-btn" id="bkmrk-"></div>```
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
```