How To

Install Odoo 19 on Ubuntu 24.04 Like a Pro

Businesses looking for an all-in-one ERP platform often choose Odoo because of its flexibility and massive feature set. In this guide, you’ll learn how to Install Odoo 19 on Ubuntu 24.04 using a production-ready setup with PostgreSQL, Python virtual environments, and Nginx reverse proxy integration.

Odoo 19 delivers tools for CRM, accounting, inventory, HR, project management, e-commerce, and more. Running it on Ubuntu 24.04 provides better stability, updated security packages, and long-term support for enterprise deployments.

Why Install Odoo 19 on Ubuntu 24.04

Ubuntu 24.04 is an excellent platform for Odoo deployments because it includes modern packages, improved security features, and strong community support. Combined with PostgreSQL and Nginx, it creates a reliable ERP environment suitable for startups and enterprise workloads alike.

Before starting, ensure your server has:

  • Ubuntu 24.04 installed
  • At least 2 GB RAM
  • Sudo privileges
  • Python 3.10+
  • PostgreSQL
  • A domain name for HTTPS configuration

Install Odoo 19 Dependencies

The first step to Install Odoo 19 is preparing the server with required development libraries and tools.

Update the package index:

sudo apt update

Install required packages:

sudo apt install git python3-venv python3-pip build-essential wget \python3-dev libpq-dev libxml2-dev libxslt1-dev zlib1g-dev \libsasl2-dev libldap2-dev libjpeg-dev

Next, install Node.js and rtlcss for frontend asset processing:

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -sudo apt install nodejssudo npm install -g rtlcss

Configure PostgreSQL for Odoo

Odoo relies on PostgreSQL as its database backend. Install PostgreSQL using:

sudo apt install postgresql

Create a dedicated database user:

sudo su - postgres -c "createuser -R -S -D odoo19"

This user will later connect Odoo to the database securely.

Install Odoo 19 in a Virtual Environment

Using a Python virtual environment keeps dependencies isolated and simplifies upgrades.

Create a system user:

sudo useradd -m -d /opt/odoo19 -U -r -s /bin/bash odoo19

Switch to the new user:

sudo su - odoo19

Clone the Odoo 19 source code:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 19.0 /opt/odoo19/odoo

Create and activate a virtual environment:

python3 -m venv /opt/odoo19/odoo-venvsource /opt/odoo19/odoo-venv/bin/activate

Install Python requirements:

pip3 install wheelpip3 install -r /opt/odoo19/odoo/requirements.txt

Deactivate the environment after installation:

deactivate

Secure Install Odoo 19 With Nginx

For production environments, Nginx should handle HTTPS connections and reverse proxy traffic to Odoo.

Install Nginx:

sudo apt install nginx

Configure a reverse proxy and enable SSL certificates using Let’s Encrypt. This setup improves performance, security, and scalability while protecting user sessions with HTTPS encryption.

You should also block direct public access to port 8069 using UFW:

sudo ufw allow 80/tcpsudo ufw allow 443/tcpsudo ufw deny 8069/tcp

Optimize Odoo for Production

Production deployments benefit from multiprocessing mode. Configure worker processes based on server CPU cores and available RAM.

Add optimized worker settings inside the Odoo configuration file:

workers = 5limit_time_cpu = 600limit_time_real = 1200

Finally, restart the service:

sudo systemctl restart odoo19

Conclusion

Learning how to Install Odoo 19 on Ubuntu 24.04 helps businesses build a stable and scalable ERP environment for daily operations. By combining PostgreSQL, Python virtual environments, Nginx, and SSL protection, you create a production-ready deployment that is secure, fast, and easier to maintain over time.

Cyber Defence

Recent Posts

groupdel Command in Linux: Remove a Group and Audit Files

The groupdel command in Linux removes a group from the system. It deletes the group's entry from /etc/group and /etc/gshadow,…

16 hours ago

wc Command in Linux: Count Lines, Words, Characters, and Bytes

The wc command in Linux counts lines, words, characters, and bytes in files or standard input. It…

16 hours ago

top Command in Linux: Monitor Processes and Resource Usage

The top command in Linux provides a real-time view of running processes and system resource usage. From…

16 hours ago

usermod Command in Linux: Modify User Accounts and Groups

The usermod command in Linux modifies existing user account attributes. You can use it to manage group…

16 hours ago

sort Command in Linux: Sort Text, Numbers, Columns, and More

The sort command in Linux reads lines from files or standard input and writes them to standard…

2 days ago

wall Command in Linux: Broadcast Messages to Logged-In Users

The wall command in Linux sends a message to the terminals of all currently logged-in users. The…

2 days ago