Odoo 18 Server Setup: Complete Step-by-Step Guide
Setting up Odoo 18 on a server can seem complex, but with the right steps, you can have a production-ready instance running smoothly.
Step 1: System Preparation
sudo apt update && sudo apt upgrade -y
Step 2: Install PostgreSQL
sudo apt install postgresql -y
sudo -u postgres createuser -s odoo
Step 3: Create Odoo User
sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
Step 4: Install Dependencies
sudo apt install git python3-pip python3-dev build-essential wget python3-venv \
python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev \
python3-setuptools node-less libjpeg-dev zlib1g-dev libpq-dev \
libffi-dev libssl-dev -y
Step 5: Clone Odoo 18
sudo su - odoo
git clone https://www.github.com/odoo/odoo --depth 1 --branch 18.0 /opt/odoo/odoo18
exit
Step 6: Python Environment
sudo su - odoo
cd /opt/odoo
python3 -m venv venv
source venv/bin/activate
pip install wheel
pip install -r odoo18/requirements.txt
deactivate
exit
Step 7: Config File
sudo nano /etc/odoo18.conf
[options]
admin_passwd = admin
db_user = odoo
addons_path = /opt/odoo/odoo18/addons
logfile = /var/log/odoo18.log
Step 8: Service Setup
sudo nano /etc/systemd/system/odoo18.service
[Unit]
Description=Odoo 18
After=network.target postgresql.service
[Service]
User=odoo
ExecStart=/opt/odoo/venv/bin/python3 /opt/odoo/odoo18/odoo-bin -c /etc/odoo18.conf
Restart=always
[Install]
WantedBy=multi-user.target
Step 9: Start Service
sudo systemctl daemon-reload
sudo systemctl start odoo18
sudo systemctl enable odoo18
Step 10: Access
Open:
http://<your-server-ip>:8069
✅ Done
Your Odoo 18 instance should now be running.