If you’re looking for a simple and reliable way to install Odoo 17 Community Edition on Ubuntu 24.04, this step-by-step guide is all you need.
You’ll have your Odoo server up and running in just a few minutes, complete with a Python virtual environment, PostgreSQL setup, and a systemd service for automatic startup.
What You’ll Learn
In this guide, you’ll learn how to:
-
Install Odoo 17 Community Edition on Ubuntu 24.04 LTS
-
Set up a dedicated Odoo user and database role
-
Use a Python virtual environment for isolated dependencies
-
Configure systemd to manage your Odoo service automatically
-
Enable RTL support for Arabic using
rtlcss
Step-by-Step Odoo 17 Installation Guide
Step 1: Install System Dependencies
Run the following command to install all required packages, including PostgreSQL, Python, Node.js, and wkhtmltopdf (for PDF reports):
sudo apt update
sudo apt install -y git python3-venv python3-dev build-essential \ libpq-dev libxml2-dev libxslt1-dev libjpeg-dev zlib1g-dev \ libsasl2-dev libldap2-dev libtiff5-dev libopenjp2-7-dev \ libfreetype6-dev liblcms2-dev libwebp-dev libharfbuzz-dev \ libfribidi-dev libxcb1-dev pkg-config xz-utils fontconfig \ wkhtmltopdf nodejs npm postgresql
Step 2: Create the Odoo User and Directory
Create a new system user for Odoo to keep files organized and secure:
sudo useradd -r -m -U -s /bin/bash -d /opt/odoo17 odoo17
Step 3: Create a PostgreSQL Role
Create a PostgreSQL role for the Odoo user. This allows Odoo to connect without a password
sudo -u postgres createuser -d -R -S odoo17
Step 4: Download Odoo 17 Community Source
Clone the official Odoo 17 source code into the user directory:
sudo -u odoo17 -H bash -c "cd /opt/odoo17 && git clone --depth 1 --branch 17.0 https://github.com/odoo/odoo.git server"
Step 5: Create Python Virtual Environment
Odoo runs best in an isolated Python environment:
sudo -u odoo17 -H bash -c "python3 -m venv /opt/odoo17/venv" sudo -u odoo17 -H bash -c "/opt/odoo17/venv/bin/pip install --upgrade pip setuptools wheel" sudo -u odoo17 -H bash -c "/opt/odoo17/venv/bin/pip install -r /opt/odoo17/server/requirements.txt"
Step 6: (Optional) Install RTL CSS for Arabic Layouts
If you’re setting up Odoo for Arabic users, add RTL CSS support:
sudo npm install -g rtlcss
Step 7: Configure Odoo
Create and set the Odoo configuration file:
sudo mkdir -p /var/log/odoo17 sudo chown odoo17:odoo17 /var/log/odoo17
sudo tee /etc/odoo17.conf >/dev/null <<'EOF' [options] admin_passwd = change-this-master-password db_host = False db_port = False db_user = odoo17 db_password = False addons_path = /opt/odoo17/server/odoo/addons,/opt/odoo17/server/addons data_dir = /opt/odoo17/.local/share/Odoo logfile = /var/log/odoo17/odoo.log EOF sudo chown odoo17:odoo17 /etc/odoo17.conf sudo chmod 640 /etc/odoo17.conf
Step 8: Create Systemd Service
To automatically start Odoo with your system, create a systemd unit file:
sudo tee /etc/systemd/system/odoo17.service >/dev/null <<'EOF' [Unit] Description=Odoo 17 Community After=network.target postgresql.service [Service] Type=simple User=odoo17 Group=odoo17 WorkingDirectory=/opt/odoo17/server ExecStart=/opt/odoo17/venv/bin/python3 /opt/odoo17/server/odoo-bin -c /etc/odoo17.conf Restart=on-failure RestartSec=5 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable --now odoo17 sudo systemctl status odoo17 | cat
Step 9: Access Odoo Web Interface
Once the service starts, open your browser and go to:
http://YOUR_SERVER_IP:8069
Create a new database and log in to your Odoo 17 instance.
Setting up Odoo 17 Community on Ubuntu 24.04 is easier than ever with this streamlined method.
This configuration ensures a secure, lightweight, and production-ready Odoo environment, ideal for developers, ERP consultants, and businesses deploying Odoo in the cloud.