Installation Odoo 16
on Ubuntu 20.04 LTS
● This slide will represent the installation aspects of Odoo 16 in an Ubuntu server
20.04 LTS and will help to understand its process.
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
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
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
Step 4: Installing Packages and libraries
• Install the necessary Odoo Python packages:
• Install pip3:
sudo apt-get install -y python3-pip
• Install Packages and libraries:
sudo apt-get install python-dev python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev
libpq-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev
• Install Web web dependencies:
sudo apt-get install -y npm
sudo ln -s /usr/bin/nodejs /usr/bin/node
sudo npm install -g less less-plugin-clean-css
sudo apt-get install -y node-less
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
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
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
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
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
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
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
• 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
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.
Check our company website
for related blogs and Odoo book.
Check our YouTube channel for
functional and technical videos in Odoo.

Installation of Odoo 16 on Ubuntu 20.04 LTS | Cybrosys

  • 1.
    Installation Odoo 16 onUbuntu 20.04 LTS
  • 2.
    ● This slidewill 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 yourServer • Login to your server and make sure the server is up-to-date. sudo apt-get update sudo apt-get upgrade
  • 4.
    Step 2: Secureyour 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: Createa 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
  • 6.
    Step 4: InstallingPackages and libraries • Install the necessary Odoo Python packages: • Install pip3: sudo apt-get install -y python3-pip • Install Packages and libraries: sudo apt-get install python-dev python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev libpq-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev • Install Web web dependencies: sudo apt-get install -y npm sudo ln -s /usr/bin/nodejs /usr/bin/node sudo npm install -g less less-plugin-clean-css sudo apt-get install -y node-less
  • 7.
    Step: 5: ConfigurePostgresql • 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 followingto 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: GetOdoo 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: InstallRequired 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: SetupConf 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 filesame 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: Odooservice 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 setthe 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: RunOdoo 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 companywebsite for related blogs and Odoo book. Check our YouTube channel for functional and technical videos in Odoo.