How to Install Odoo 19 on Ubuntu 24.04

How to Install Odoo 19 on Ubuntu 24.04

Odoo (formerly known as OpenERP) is a suite of open-source business applications. It is very easy to use and integrate. This software offers numerous advantages, including a large community, comprehensive and integrated modules, and easy installation. The range of the modules that can be installed in one application makes Odoo so popular these days. The recently released Odoo 19 presents a broad array of functional and technical enhancements. With this new release, Odoo continues to demonstrate its commitment to enhancing usability and streamlining business processes. In this article, we will guide you through the process of how to install Odoo 19 on Ubuntu 24.04 (Noble).

Prerequisites

  • An Ubuntu 24.04 VPS with at least 2GB of RAM
  • SSH access with sudo privileges, or root access

Conventions

# – given commands should be executed with root privileges either directly as a root user or by use of sudo command
$ – given commands should be executed as a regular user

Step 1. Update the System

First of all, we need to log in to our Debian 10 VPS through SSH:

ssh master@IP_Address -p Port_number

Replace “master” with a user that has sudo privileges or root if necessary. Additionally, replace “IP_Address” and “Port_Number” with your server’s respective IP address and SSH port number. Next, let’s ensure we’re running Ubuntu 24.04. You can verify it with this command:

$ lsb_release -a

You should get this as the output:

No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 24.04.3 LTS
Release:    24.04
Codename:    noble

Then, run the following command to make sure that all installed packages on the server are updated to their latest available versions:

$ sudo apt update 

Step 2. Add System User

We will install the Odoo instance under a system user account. So, in this step, we will create a new system account.

$ sudo useradd -md /opt/odoo19 -Urs /bin/bash odoo19

Step 3. Install Dependencies

Since Odoo is built on Python, we need to install some dependencies to proceed with installing Odoo 19 on our Ubuntu 24.04 system. We can install them by running the command below.

$ sudo apt install build-essential wget git python3-pip python3-dev python3-venv python3-wheel libfreetype6-dev libxml2-dev libzip-dev libsasl2-dev python3-setuptools libjpeg-dev zlib1g-dev libpq-dev libxslt1-dev libldap2-dev libtiff5-dev libopenjp2-7-dev

Step 4. Install PostgreSQL

Odoo only supports PostgreSQL to store its data. Let’s execute the command below to install the PostgreSQL server on our Ubuntu 24.04 server.

$ sudo apt install postgresql

After the installation is finished, we can add a new PostgreSQL user for our Odoo 19, run this command:

$ sudo su - postgres -c "createuser -s odoo19"

Step 5. Install Wkhtmltopdf

The package wkhtmltopdf is available in the Ubuntu repository, but it is not the patched version. The patched QT version of wkhtmltopdf offers better compatibility and more features compared to the stock version typically found in default repositories. If you need reliable PDF generation with advanced CSS and JavaScript support, we need to install it this way.

$ cd /tmp
$ wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb

We downloaded the installation package file. Let’s install it now.

$ sudo apt install ./wkhtmltox_0.12.6.1-2.jammy_amd64.deb

Once installed, you can check its version by running this command

$ wkhtmltopdf --version

You will see an output like this:

wkhtmltopdf 0.12.6.1 (with patched qt)

Step 6. Install Odoo

On an Ubuntu 24.04 machine, we can install Odoo using the default Ubuntu repository, but this will install Odoo version 16. In this article, we will install Odoo 19 under a Python virtual environment. We created a system user earlier in this article, let’s switch to system user ‘odoo19’ then install Odoo under that username.

$ sudo su - odoo19

The command above should bring you to /opt/odoo19 and log you in as user ‘odoo19’. Now, download Odoo 19 from GitHub.

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

Odoo 19 has been cloned to the /opt/odoo19/odoo19 directory. Now, let’s create a Python virtual environment. With a Python virtual environment, we can install multiple Odoo on a single machine.

Execute the following command to create a new Python virtual environment.

$ python3 -m venv odoo19-venv

The virtual environment is now installed; it is time to activate it by running this command.

$ source odoo19-venv/bin/activate

Once executed, your shell prompt would look like this:

(odoo19-venv) odoo19@ubuntu22:~$

Next, let’s install Odoo

(odoo19-venv) odoo19@ubuntu22:~$ pip3 install wheel
(odoo19-venv) odoo19@ubuntu22:~$ pip3 install -r odoo19/requirements.txt

Once the Odoo installation is completed, we can create a new directory to store our custom Odoo addons.

(odoo19-venv) odoo19@ubuntu22:~$ deactivate

It is time to create a new folder or directory to store our custom addons.

$ mkdir /opt/odoo19/odoo19/custom-addons

Now, exit from user ‘odoo19’ and create the Odoo configuration file.

$ exit
$ sudo nano /etc/odoo19.conf

Paste the following contents into the file.

[options]
admin_passwd = m0d1fyth15
db_user = odoo19
db_password = Fals
addons_path = /opt/odoo19/odoo19/addons,/opt/odoo19/odoo19/custom-addons
http_port = 8069

Ensure that you modify the value of the admin_passwd key above to a strong password. This is your Odoo master password; you need it to create or delete databases.

Step 7. Create Odoo Systemd Unit file

In this step, we will create a systemd unit file, which is required to start/stop/restart Odoo.

$ sudo nano /etc/systemd/system/odoo19.service

Paste the following content into the systemd unit file above.

[Unit]
Description=odoo19
Requires=postgresql.service
After=network.target postgresql.service

[Service]
Type=simple
SyslogIdentifier=odoo19
PermissionsStartOnly=true
User=odoo19
Group=odoo19
ExecStart=/opt/odoo19/odoo19-venv/bin/python3 /opt/odoo19/odoo19/odoo-bin -c /etc/odoo19.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

That’s it. We can now reload systemd and run Odoo.

$ sudo systemctl daemon-reload
$ sudo systemctl start odoo19

Check if Odoo is starting by running this command:

$ sudo systemctl status odoo19

Open your web browser and navigate to http://YOUR_SERVER_IP_ADDRESS:8069. You will see the Odoo page.

Install Odoo on Ubuntu 24.04

After a new database is created, you will be brought to the backend.

Odoo apps dashboard

Step 8. Configure Reverse Proxy

To access Odoo using a domain name, rather than typing the IP address and port number, a web server is required. In this tutorial, we will install and use Nginx. Run the following command to install it

$ sudo apt -y install nginx

Upon installation, Nginx will automatically run. It is also configured to start automatically upon reboot.

Now, let’s create an Nginx server block for the domain name you will use for accessing Odoo. For example, we will use yourdomain.com

$ sudo nano /etc/nginx/sites-enabled/yourdomain.com

Insert the following into that file

upstream odoo19 {
server 127.0.0.1:8069;
}

upstream odoochat {
 server 127.0.0.1:8072;
}

server {
listen 80;
server_name yourdomain.com;

access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;

proxy_buffers 16 64k;
proxy_buffer_size 128k;

location / {
proxy_pass http://odoo19;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}

location /longpolling {
 proxy_pass http://odoochat;
 }


location ~* /web/static/ {
proxy_cache_valid 200 60m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo19;
}
}

Save the file and restart the web server for the changes to take effect

$ sudo systemctl restart nginx

Now you should be able to access Odoo with your domain name at http://yourdomain.com and start working on your project. For more information about Odoo 19, its features, and configuration, please check their official documentation. To secure your website using an SSL/TLS certificate, you can check out how to secure Nginx with Let’s Encrypt on Ubuntu 20.04.

Of course, you don’t have to install Odoo 19 on Ubuntu 24.04 if you use one of our Odoo VPS Hosting services, in which case you can simply ask our expert Linux admins to install Odoo 19 on Ubuntu 24.04 for you. They are available 24×7 and will take care of your request immediately. Managing Odoo instances is not just about the installation; we can help you optimize your Odoo installation if you have an active service with us.

PS. If you liked this post on installing Odoo 19 on Ubuntu 24.04, please share it with your friends on the social networks using the buttons below or simply leave a comment in the comments section. Thanks.

Leave a Comment