In this guide, we will show you how to install Odoo 13 on Ubuntu 20.04. Odoo, also known as OpenERP, is a free and open-source ERP platform. It’s one of the most popular ERP platforms available thanks to its customizability and flexibility. Written in the Python programming language, Odoo is used for many business applications, including sales pipeline, project management, CRM, invoicing, accounting, inventory, and much more. Odoo comes built-in with a plethora of features that are an excellent fit for most business use cases. However, if you need something more specific, Odoo also comes with a vast library of custom add-ons which allows you to adjust the features of Odoo to fit your exact business needs.
Table of Contents
1. Log in and Update the Server:
Log in to your Ubuntu 20.04 VPS via SSH as user root (You can use a superuser account if root is not available. Our VPSes come with root access included):
ssh root@IP_Address -p Port_number
Don’t forget to replace ‘IP_Address’ and ‘Port_number’ with the actual IP address of your server and the SSH service port. The default SSH port is 22.
Next, let’s make sure that we’re on Ubuntu 20.04. You can do that like this:
# lsb_release -a
You should get this as the output:
Distributor ID: Ubuntu Description: Ubuntu 20.04 LTS Release: 20.04 Codename: focal
Run the following commands to make sure that all installed packages on your Ubuntu 20.04 VPS are updated to their latest available versions:
apt update && apt upgrade
2. Installing Necessary OS Related Packages
Run this command to install all of the necessary packages. These packages, such as Python and Node.js, are all required in order for Odoo to function correctly.
apt-get install python3-venv build-essential python3-pillow python3-lxml python3-dev python3-pip python3-setuptools npm nodejs git gdebi libldap2-dev libsasl2-dev libxml2-dev libxslt1-dev libjpeg-dev libpq-dev -y
When that finishes, we will move on to creating a new user account for Odoo.
3. Create a System User
Next, we will need to create a new system user to run Odoo. You can create a new user with named
odoo with the home directory set to
/opt/odoo using the following command:
useradd -m -U -r -d /opt/odoo -s /bin/bash odoo
4. Install PostgreSQL server
The next step is to install the PostgreSQL database system on your Ubuntu 20.04 VPS. This step is fairly simple, just run the following command:
apt-get install postgresql
It will install the PostgreSQL database server and other required tools.
To check and verify that the PostgreSQL server is installed, you can use the following command:
Running that will show you the current version of PostgreSQL that you have installed:
# psql --version psql (PostgreSQL) 12.2 (Ubuntu 12.2-4)
After the installation is complete, make sure to enable the PostgreSQL server to start automatically upon server reboot through
systemctl enable postgresql
Also, we need to create a PostgreSQL user with the same name as the new system user. Run the following command to create a PostgreSQL user:
su - postgres -c "createuser -s odoo"
5. Install ‘wkhtmltopdf’
Odoo requires the
wkhtmltopdf package, which is an open-source tool that converts the HTML format to PDF so that Odoo can print PDF reports. The recommended version for Odoo is 0.12.5 with patched qt, which is the latest version at the time this tutorial was written. We will download and install it with the following commands:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb apt install ./wkhtmltox_0.12.5-1.bionic_amd64.deb
wkhtmltopdf is installed on your server:
# wkhtmltopdf --version wkhtmltopdf 0.12.5 (with patched qt)
6. Install and Configure Odoo 13
In this section, we will download Odoo 13 from the Git repository and install it in a Python virtual environment.
First, log in as
odoo user and download Odoo 13 from the Git repository:
su - odoo git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo/odoo13
Once the download is complete, create a new Python virtual environment for the Odoo 13 installation with the following command:
cd /opt/odoo && python3 -m venv odoo13-venv
Next, activate the virtual environment with the following command:
Next, install the required modules using the
pip3 command as shown below:
(odoo13-venv) $ pip3 install wheel (odoo13-venv) $ pip3 install -r odoo13/requirements.txt
Once all the required modules are installed successfully, deactivate the virtual environment and switch back to the sudo or root user with the following command:
(odoo13-venv) $ deactivate && exit
Next, create a separate directory for Odoo custom addons. The best practice is to install custom Odoo modules in a separate directory. This ensures that if some custom module doesn’t work, it can easily be removed without risking the removal of required/built-in modules.
mkdir /opt/odoo/odoo13-custom-addons chown odoo: /opt/odoo/odoo13-custom-addons
The following commands will create a log file for the new Odoo installation:
mkdir /var/log/odoo && touch /var/log/odoo/odoo.log chown -R odoo: /var/log/odoo/
Next, open the file
/etc/odoo.conf with nano editor:
With the file open, enter the following information in it:
[options] ; This is the password that allows database operations: admin_passwd = master_password db_host = False db_port = False db_user = odoo db_password = False xmlrpc_port = 8069 ; longpolling_port = 8072 logfile = /var/log/odoo/odoo.log logrotate = True addons_path = /opt/odoo/odoo13/addons,/opt/odoo/odoo13-custom-addons
Make sure you set
master_password to something that is strong and difficult to guess. Save and close the file.
The last thing we need to do is to create a
systemd unit file which will be used to run our Odoo instance as a service.
Create a new
and enter the following configuration:
[Unit] Description=Odoo13 #Requires=postgresql-12.2.service #After=network.target postgresql-12.2.service [Service] Type=simple SyslogIdentifier=odoo13 PermissionsStartOnly=true User=odoo Group=odoo ExecStart=/opt/odoo/odoo13-venv/bin/python3 /opt/odoo/odoo13/odoo-bin -c /etc/odoo.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Once the file is saved and closed, we will reload the daemon so that it acknowledges the newly created unit in systemd.
Next, start the newly-created
odoo.service and enable it to start after system reboot with the following command:
systemctl start odoo systemctl enable odoo
7. Access the Odoo Instance
Now when you know that the fresh Odoo installation is active and running on the server, you can access it by navigating your server IP address along with the Odoo port number. In this case, our installed Odoo uses the default port 8069 (as defined in our Odoo configuration file):
If the installation has been successfully completed, you will be able to see the Odoo screen as shown below and create your first database:
From here, you simply enter your master password and fill out the fields with the information that you need for your use case. That’s it! Odoo is now successfully up and running on your Ubuntu 20.04 VPS.
Of course, you don’t have to install Odoo 13 on Ubuntu 20.04 if you use one of our Odoo VPS Hosting services, in which case you can simply ask our expert Linux admins to install and configure Odoo 13 on Ubuntu 20.04 for you. They are available 24×7 and will take care of your request immediately.
PS. If you liked this post on how to install Odoo 13 on Ubuntu 20.04, please share it with your friends on the social networks using the buttons below or simply leave a reply. Thank you.