How to Install Odoo 14 on Ubuntu 20.04 LTS

First of all login to the server using the ssh command. Eg: ssh username@<IP address>. Then use the following command to update your system.

Step 2: Secure your system

After updating the server we should ensure that the server is remotely accessible. Furthermore, install Fail2ban which is used to protect from SSH attacks

Now let us create a new system user for the Odoo service. Further then we will limit the permissions of all Odoo related files and directories for this specific user.

Step 4: Installing Packages and libraries

Next step is to install some libraries and package dependencies to run Odoo.

Install Packages and libraries:

Ensure that all packages are successfully installed. Moreover, there are some web dependencies that also need to be installed.

Step: 5: Configure Postgresql

As Odoo’s databases are handled by the Postgrsql database server. Therefore, next we need to set-up Postgresql properly.

Install Postgres from the Debian repository.

Then we have to create a database user for managing Odoo databases. Therefore, initially we need to switch user to Postgres

Now create a user odoo14 with the following command. Furthermore, at the time you must have to provide a new password for the user odoo14 and that password is needed to provide in the Odoo configuration file at the last step of the installation.

Next we have to assign this user as a superuser for getting more privileges.

This will print a success message in the terminal. In addition, exit from the psql and Postgres. With the following commands.

Step 6: Get Odoo community from git

Now as software is installed as the user settings are configured next, we have to place the Odoo source file into our server. Additionally, we can easily clone the community edition from Odoo’s GitHub repository.

To clone from git we must firstly ensure that git is installed in the server.

Now before cloning, we have to change the system user as odoo (which is created in Step 3) to make the Odoo system more secure.

Next step is to clone from odoo repository and the corresponding branch

Source files are cloned to the home directory of user odoo. Moreover, the home directory of the user is specified at the time of user creation. Which is /opt/odoo.

Now exit and continue with the installation.

Step 7: Install required python packages

Odoo uses various python packages and libraries for different purposes. To run Odoo we need to install them using pip3. Furthermore, the required dependencies are listed in requirement.txt file which is contained in the Odoo folder. Therefore, we can specify this file to the pip install command which will automatically install packages listed in the file requirement.txt one by one

We have to ensure that every package is installed without fail. On the contrary of a mishap, it will cause an error at the time of run odoo.

Odoo uses wkhtmltopdf for printing pdf reports. In addition, the latest edition of Odoo supports the 0.12.5 version of wkhtmltopdf to support headers and footers.

You can use following commands to download and install wkhtmltopdf

Step 8: Configuration of Odoo

Odoo wants to know some information such as database user, password, addons locations, etc. to run the system. Moreover these will be provided in the configuration file. Therefore our net primary priority should be to create a configuration file for Odoo. Moreover, there is a sample file of configuration available within the Odoo folder which can be copied to a specific location. Usually, we place configuration files in /etc location.

To copy the configuration file to /etc :

Next step is we need to provide necessary details into the file.

Update conf file same as shown in the below code:

Furthermore the configuration file should at least have the following parameters:

admin_passwd: Provide strong password, it will required during database create/delete/restore operations

db_password: provide db user password

addons_path: if you have enterprise edition or third party modules create another directory and specify the paths here separated by commas

We need to set access rights to the system used in the conf file that can be done by using the following command:

Odoo will maintain logs in a log file that is specified in the configuration. Moreover, you can create a directory for logs. Usually, logs are contained in the location /var/log therefore, we can also create a directory inside this location named odoo.

As we did earlier, this directory has also set permission for user odoo.

Step 9: Create new service for odoo

As we have successfully configured odoo lets create create a service for Odoo.

For that create a new file in /etc/systemd/system named ‘odoo.service’.

Further place the following into the file.

Now we have to set permissions for the root user to this file.

As the installation procedures of the platform are successfully completed. Let’s start and run certain tests. Use the following command to start odoo service.

Moreover, check status of odoo service using the following command:

If it is in the active state you can access Odoo by entering the following URL.

If the process is operating without any errors the page will be redirected to Odoo’s database creation page.

You can check the log file specified in the configuration file.

If the odoo runs successfully, the installation process is completed. You can run the odoo using the previous command.

If you need Odoo service to start automatically on boot time, you can use the following command.

Furthermore, refer to our previous blogs on how to install Odoo in Different Ubuntu version.

--

--

We are Odoo Gold Partners standing par excellence in Odoo implementation, customization and allied services.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Cybrosys Technologies

We are Odoo Gold Partners standing par excellence in Odoo implementation, customization and allied services.