This slide will represent the installation aspects of Odoo 16 in an Ubuntu server 20.04 LTS and will help to understand its process.
Update Ubuntu: Start by updating the Ubuntu system with the following command:
sql
sudo apt update && sudo apt upgrade
Install Dependencies: Next, install the dependencies required for Odoo 16 with the following command:
sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libfreetype6-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev libssl-dev libjpeg-dev libpq-dev
Install PostgreSQL: Odoo 16 requires PostgreSQL as a database. Install PostgreSQL using the following command:
sudo apt install postgresql
2. ● This slide will represent the installation aspects of Odoo 16 in an Ubuntu server
20.04 LTS and will help to understand its process.
3. Step-1: Update your Server
• Login to your server and make sure the server is up-to-date.
sudo apt-get update
sudo apt-get upgrade
4. Step 2: Secure your server.
• Make sure the system is protected against ssh assaults; using Fail2ban will aid in ssh attack prevention.
sudo apt-get install openssh-server fail2ban
5. Step 3: Create a system user
• Next, let's create a system user for security and to fulfill Odoo roles.
• This user will only have limited access to certain files and locations within Odoo.
• After that, we'll restrict this user's access to all files and directories linked to Odoo.
sudo adduser --system --home=/opt/odoo16 --group odoo16
7. Step: 5: Configure Postgresql
• PostgreSQL serves as the database server for Odoo. To install and configure the database server for Odoo, follow these
steps:
sudo apt-get install postgresql
Create a Postgres user to manage the database in the following step. Later, the conf file requires the user and the provided
password.
• To carry out the tasks, Postgres utilizes a separate system user named "Postgres." So the following command will change the
Postgres user:
sudo su - postgres
8. Do the following to create the user Odoo16.
• Additionally, you must change the password for the user Odoo16 at that time. You must enter the new password in
the Odoo configuration file at the very end of the installation process.
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo16
• The user must then be designated as a superuser in order to receive further privileges.
psql
ALTER USER odoo16 WITH SUPERUSER;
• Exit from psql and Postgres user:
q
exit
9. Step 6: Get Odoo 16 community from git
We now need to upload the Odoo source file to our server, We can directly clone the Community Edition source code from the
Odoo GitHub repository. Once the installation is complete, you can add the Enterprise edition add-ons.
• First, install git to the server:
sudo apt-get install git
• To make the Odoo system more secure, we must now change the system user to Odoo (which is created in Step 3), prior to
cloning.
sudo su - odoo16 -s /bin/bash
• The dot (.) operator is used at the end of the command to copy the files to the current user's home directory, which is
/opt/odoo and is the same home directory that was specified when the user was created:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 16.0 --single-branch .
• After that, exit from the user and carry out the installation:
exit
10. Step 7: Install Required Python Packages
Odoo utilizes a variety of Python packages and libraries for various tasks. We must use pip3 to install them in order to run Odoo.
• Additionally, the requirement.txt file included in the Odoo folder has a list of the necessary requirements. Consequently, we
can pass this file as a parameter to the pip install command, which will cause each package listed in requirement.txt to be
installed automatically.
sudo pip3 install -r /opt/odoo16/requirements.txt
• All the packages must be correctly installed for Odoo to function properly, and you should make sure of that.
Install Wkhtmltopdf
• Reports can be printed as PDF files using Odoo. Wkhtmltopdf makes it easier to create PDF reports from HTML data. The
Qweb template reports are converted to HTML by the report engine, and the PDF report is produced by Wkhtmltopdf:
sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo apt install -f
11. Step 8: Setup Conf file
To operate the system, Odoo needs to know some details like the database user, password, add-on locations, etc. These will also
be available in the configuration file. Therefore, creating an Odoo configuration file should be our first priority. Additionally, a
configuration sample file is accessible in the Odoo folder and may be copied to the desired location. /etc is where configuration files
are often stored.
• To copy the configuration file to /etc:
sudo cp /opt/odoo16/debian/odoo.conf /etc/odoo16.conf
• The following step is to add the required information to the file.
sudo nano /etc/odoo16.conf
12. Update conf file same as shown in the code below:
[options]
; This is the password that allows database operations:
admin_passwd = admin
db_host = False
db_port = False
db_user = odoo16
db_password = False
addons_path = /opt/odoo16/addons
logfile = /var/log/odoo/odoo16.log
Next, you should set the access right of the conf file for the system user Odoo
sudo chown odoo16: /etc/odoo16.conf
sudo chmod 640 /etc/odoo16.conf
Also, create a log directory of Odoo, which will help you to find Odoo-related issues and set permission to the log directory.
sudo mkdir /var/log/odoo
sudo chown odoo16:root /var/log/odoo
13. Step 9: Odoo service file
• After configuring the conf file, we have to create a service to run Odoo. Let’s create a service file ‘odoo16.service’ in
/etc/systemd/system:
sudo nano /etc/systemd/system/odoo16.service
• Add the following aspects to the newly created service file
[Unit]
Description=Odoo16
Documentation=http://www.odoo.com
[Service]
# Ubuntu/Debian convention:
Type=simple
User=odoo16
ExecStart=/opt/odoo16/odoo-bin -c /etc/odoo16.conf
[Install]
WantedBy=default.target
14. • Finally set the root user's permissions for this service file.
sudo chmod 755 /etc/systemd/system/odoo16.service
sudo chown root: /etc/systemd/system/odoo16.service
15. Step 10: Run Odoo 16
• After the successful completion of all the above steps, Let's run the Odoo instance with the following command:
sudo systemctl start odoo16.service
• Check the status of the Odoo service by using the following command
sudo systemctl status odoo16.service
• You can access the Odoo through the following URL.
"http://<your_domain_or_IP_address>:8069"
If everything is configured successfully, this will reroute you to the page where you can create a database.
16. Check our company website
for related blogs and Odoo book.
Check our YouTube channel for
functional and technical videos in Odoo.