Guide for installing Odoo 12 on CentOS 7

Odoo is the most popular comprehensive business software in the world. It offers a variety of business applications including CRM, Website, E-Commerce, Billing, Accounting, Manufacturing, Warehouse, Project Management, Inventory and many more, all integrated into one program.

This tutorial covers the steps required to install and configure Odoo 12 for production using a Git source and Python virtual environment on a CentOS 7 system.

Before starting

Make sure you are logged in as the sudo user before starting this tutorial.

Install python 3.6 and Odoo dependencies

We will be installing the Python 3.6 package from Software Suite Repository (SCL).

Enabling SCL gives you access to newer versions of the programming language and services not available in the CentOS 7 core repositories.

Enable EPEL and SCL repositories with the following command:

sudo yum instal epel-release centos-release-scl

Once the repository is enabled, install Python 3.6 all the tools needed to build Odoo dependencies:

sudo yum install rh-python36 git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel

During installation, you will be asked to accept a GPG key.

Create an Odoo user

Create a new system user and group using the main directory / opt / odoo that will launch the Odoo service:

sudo useradd -m -U -r -d /opt/odoo12 -s /bin/bash odoo12

You can name the user what you want, but be sure to create a PostgreSQL user with the same name.

Install and configure PostgreSQL

At the time of writing this article, the latest PostgreSQL version available from CentOS repositories is PostgreSQL version 9.2 which is not officially supported by Odoo.

We will be installing PostgreSQL 10 from the official PostgreSQL repositories.

Get started with enabling the PostgreSQL repository:

sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm

Install the PostgreSQL server and create a new PostgreSQL database group:

sudo yum instal postgresql10-server postgresql10-devel
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

After the installation is complete, activate and start the PostgreSQL service:

sudo systemctl enable postgresql-10
sudo systemctl start postgresql-10

Create a PostgreSQL user with the same user name as the previously created system, in our case the previous username odoo12:

sudo su - postgres -c "createuser -s odoo12"

Install Wkhtmltopdf

The wkhtmltox package provides a set of open source command line tools that can convert HTML to PDF and various image formats. To print a PDF report, you need a tool wkhtmltopdf. The recommended version for Odoo is 0.12.1 It is not available in the official Ubuntu 18.04 repositories.

Download the package with the following wget command:

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm

After the download completes, install the package by typing:

sudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm

Before starting the installation process, go to the user odoo12:

sudo su - odoo12

Then clone the Odoo 12 source code from the GitHub repository:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo

Enable program groups so that we can access Python 3.6 binaries:

scl enable rh-python36 bash

Create a new Python virtual environment to install Odoo 12:

cd /opt/odoo12
python3 -m venv venv

Activate the environment with the command source the following:

source venv/bin/activate

Install all required Python modules:

pip3 install -r odoo/requirements.txt

If you encounter translation errors during installation, be sure to install all the required dependencies listed in the section Before starting At the top of this article.

Disable the environment with the following command:

deactivate

Create a new directory of custom add-ons:

mkdir /opt/odoo12/odoo-custom-addons

Go back to your sudo user:

exit

Next, create a configuration file, and copy the typical included configuration file:

sudo cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf

Open the file and edit it as follows:

sudo nano /etc/odoo12.conf
[options]
; This is the password that allows database operations:
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo12
db_password = False
addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons

Don’t forget to change superadmin_passwd Password more secure and easy to remember.

To run Odoo as a service, we need to create a system unit file odoo12.service In the manual/etc/systemd/system/.

Open the text editor and paste the following configuration:

sudo nano /etc/systemd/system/odoo12.service
[Unit]
Description=Odoo12
Requires=postgresql-10.service
After=network.target postgresql-10.service

[Service]
Type=simple
SyslogIdentifier=odoo12
PermissionsStartOnly=true
User=odoo12
Group=odoo12
ExecStart=/usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

Notify systemd that there is a new module file and start the Odoo service by running:

sudo systemctl daemon-reload
sudo systemctl start odoo12

Check the service status with the following command:

sudo systemctl status odoo12

The output will look as shown below indicating that Odoo is running.

● odoo12.service - Odoo12
   Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-10-30 16:35:09 UTC; 6s ago
 Main PID: 24649 (scl)
   CGroup: /system.slice/odoo12.service
           ├─24649 /usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
           ├─24650 /bin/bash /var/tmp/scldyaa9h
           └─24653 /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf

Enable Odoo service to start automatically on boot:

sudo systemctl enable odoo12

If you want to see the messages recorded by Odoo service, you can use the command below:

sudo journalctl -u odoo12

Open the browser and type:

http: // : 8069

Assuming the installation was successful, a screen similar to the following will appear:

Udo

If you cannot reach the page, it is possible that the firewall is blocking port 8069.

Use the following command to open the required ports:

sudo firewall-cmd --permanent --zone=public --add-port=8069/tcp
sudo firewall-cmd --reload

Conclusion

This tutorial walks you through installing Odoo 12 on CentOS 7 in a Python virtual environment.

.

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *