Cómo instalar Odoo (ERP y CRM de código abierto) en CentOS 8


Odoo es un software de gestión empresarial todo en uno de código abierto que se envía con un conjunto de diversas aplicaciones empresariales para diversos usos, como comercio electrónico, gestión de proyectos, asistencia técnica, contabilidad, inventario y un creador de sitios web, por mencionar algunos.

En este artículo, aprenderá cómo instalar Odoo (ERP y CRM de código abierto) en CentOS 8 y RHEL 8.

Paso 1: actualice el sistema e instale el repositorio de EPEL

1. El primer paso para instalar Odoo es instalar el repositorio EPEL que proporciona un conjunto de paquetes adicionales para Linux empresarial. Pero primero, asegúrese de actualizar el sistema como se muestra.

$ sudo dnf update

2. Una vez que se complete la actualización del sistema, instale el repositorio EPEL como se muestra.

$ sudo dnf install epel-release

Paso 2: Instale Python3 y otras dependencias

3. A continuación, instale Python 3 y otras dependencias necesarias que Odoo requiere como se muestra.

$ sudo dnf install python36 python36-devel git gcc wget nodejs libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel

Paso 3: Instale y configure PostgreSQL en CentOS 8

4. PostgreSQL es un sistema de gestión de bases de datos relacionales de código abierto y gratuito que se utiliza en una amplia gama de aplicaciones para almacenar datos. Necesitamos instalar PostgreSQL para Odoo y para hacer esto, ejecute el comando.

$ sudo dnf install postgresql-server postgresql-contrib

5. A continuación, inicialice un nuevo clúster de base de datos PostgreSQL.

$ sudo postgresql-setup initdb

6. Una vez que se haya inicializado el clúster de la base de datos, reinicie y habilite PostgreSQL como se muestra.

$ sudo systemctl restart postgresql
$ sudo systemctl enable postgresql

7. Para confirmar que la base de datos está en funcionamiento, ejecute.

$ sudo systemctl status postgresql

Paso 4: Instale la herramienta Wkhtmltopdf en CentOS 8

8. Para que Odoo imprima informes en PDF, necesita un paquete llamado Wkhtmltopdf. Se utiliza para convertir HTML en PDF y otros formatos de imagen. El paquete rpm está disponible en Github y puede instalarlo como se muestra.

$ sudo dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm

Paso 5: Instalar y configurar Odoo en CentOS 8

9. Agregaremos un nuevo usuario del sistema que usaremos para ejecutar el servicio Odoo. En esta ilustración, crearemos un usuario llamado Odoo, sin embargo, siéntase libre de elegir un nombre de usuario arbitrario. El directorio de inicio se encuentra en el directorio /opt/odoo .

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

10. Para comenzar a instalar Odoo, primero cambie al usuario de Odoo que creamos arriba.

$ sudo su - odoo

11. Luego, clone el repositorio de git.

$ git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo/odoo13

12. A continuación, clone el entorno virtual como se muestra.

$ cd /opt/odoo
$ python3 -m venv odoo13-venv

13. Una vez creado el entorno virtual, actívelo con el siguiente comando.

$ source odoo13-venv/bin/activate

Como puede observar, el mensaje cambia como se muestra.

14. Dentro del entorno virtual, instale los módulos de Python necesarios para que la instalación de Odoo se realice sin problemas.

$ pip3 install -r odoo13/requirements.txt

15. Una vez completada la instalación de los módulos de Python, salga del entorno virtual y vuelva al usuario sudo.

$ deactivate && exit

16. Aunque es opcional. La mejor práctica dicta la instalación de módulos personalizados en un directorio separado. Con eso en mente, procederemos a crear un directorio para módulos personalizados y luego asignaremos la propiedad del directorio al usuario "Odoo".

$ sudo mkdir /opt/odoo/odoo13-custom-addons
$ sudo chown -R odoo:odoo /opt/odoo/odoo13-custom-addons

17. De la misma manera, crearemos un directorio de registro personalizado y un archivo de registro como se muestra.

$ sudo mkdir /var/log/odoo13
$ sudo touch /var/log/odoo13/odoo.log
$ sudo chown -R odoo:odoo /var/log/odoo13/

18. A continuación, cree un archivo de configuración personalizado para Odoo como se muestra.

$ sudo vim /etc/odoo.conf

Pegue la siguiente configuración y guarde el archivo.

[options]
; This is the password that allows database operations:
admin_passwd = strong_password
db_host = False
db_port = False
db_user = odoo
db_password = False
xmlrpc_port = 8069
; longpolling_port = 8072
logfile = /var/log/odoo13/odoo.log
logrotate = True
addons_path = /opt/odoo/odoo13/addons,/opt/odoo/odoo13-custom-addons

Asegúrese de reemplazar strong_password con su contraseña preferida.

Paso 6: crear un archivo de unidad de Odoo Systemd

19. Ahora, cree un archivo de unidad systemd para Odoo.

$ sudo vim /etc/systemd/system/odoo13.service

Pegue la siguiente configuración y guarde el archivo.

[Unit]
Description=Odoo13
#Requires=postgresql-10.6.service
#After=network.target postgresql-10.6.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

20. Vuelva a cargar systemd de los nuevos cambios realizados en el archivo.

$ sudo systemctl daemon-reload

21. Luego inicie y habilite Odoo como se muestra.

$ sudo systemctl start odoo13
$ sudo systemctl enable odoo13

22. Para confirmar el estado de Odoo, ejecute el comando:

$ sudo systemctl status odoo13

23. También puede usar el comando netstat para verificar si Odoo está escuchando en el puerto 8069, que es su puerto predeterminado.

$ sudo netstat -pnltu | grep 8069

24. Para que Odoo sea accesible en un navegador, abra el puerto a través del firewall.

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

Paso 7: instale Nginx como proxy inverso para Odoo

25. Finalmente, instalaremos el servidor web Nginx que actuará como un proxy inverso a nuestra instancia de Odoo. Entonces, ejecute el comando:

$ sudo dnf install nginx

26. A continuación, cree un nuevo archivo de host virtual.

$ sudo vim /etc/nginx/conf.d/odoo13.conf

y pegue la siguiente configuración como se muestra.

upstream odoo {
 server 127.0.0.1:8069;
}
server {
    listen 80;
    server_name server-IP;

    access_log /var/log/nginx/odoo13.access.log;
    error_log /var/log/nginx/odoo13.error.log;

        location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;

        proxy_redirect off;
        proxy_pass http://odoo;
    }
location ~* /web/static/ {
        proxy_cache_valid 200 90m;
        proxy_buffering on;
        expires 864000;
        proxy_pass http://odoo;
    }
    gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
    gzip on;
}

Guarde y salga del archivo de configuración.

27. Ahora inicie y habilite el servidor web Nginx.

$ sudo systemctl start nginx
$ sudo systemctl enable nginx

28. Confirme que Nginx se esté ejecutando como se muestra.

$ sudo systemctl status nginx

En este punto, todos hemos terminado con la configuración. El último paso es finalizar la configuración en un navegador web.

Paso 8: Finalización de la configuración de Odoo

29. Inicie un navegador web y visite la IP de su servidor como se muestra.

http://server-ip/

Se mostrará una página web similar a la siguiente. Para la contraseña maestra, use la contraseña especificada en el Paso 5 mientras crea un archivo de configuración de Odoo personalizado. Luego proceda a completar todas las demás entradas y haga clic en el botón "Crear base de datos".

30. Esto le lleva al panel de control de Odoo que muestra las diversas aplicaciones que se pueden instalar.

Y esto concluye nuestro tutorial de hoy. En esta guía, aprendió cómo instalar Odoo en CentOS 8.