Cómo instalar Odoo en Alma Linux

Odoo es una suite de aplicaciones empresariales gratuita, de código abierto y una de las más populares, que ayuda a las organizaciones a dirigir y gestionar sus negocios. Ofrece una amplia gama de funciones, como CRM, facturación, contabilidad, fabricación, almacén, inventario, gestión de proyectos y mucho más. Está escrito en Python y utiliza PostgreSQL como base de datos. Si buscas una aplicación CRM y ERP de código abierto para gestionar tu empresa, Odoo es la mejor opción.

Este post explicará la instalación de Odoo con Nginx en Alma Linux 8.

Requisitos previos

  • Un servidor que ejecute Alma Linux 8.
  • Un nombre de dominio válido está vinculado a la IP de tu servidor.
  • Una contraseña de root está configurada en el servidor.

Instalar las dependencias necesarias

Antes de empezar, debes instalar Python, PostgreSQL y otras dependencias en tu servidor. En primer lugar, instala Python y otras dependencias utilizando el siguiente comando:

dnf install python3 python3-devel git gcc git redhat-rpm-config libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel -y

A continuación, instala el paquete wkhtmltopdf con el siguiente comando:

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

A continuación, instala el servidor de bases de datos PostgreSQL con el siguiente comando:

dnf install @postgresql:12 -y

Una vez instalado PostgreSQL, puedes inicializar la base de datos con el siguiente comando:

/usr/bin/postgresql-setup initdb

A continuación, inicia y habilita el servicio PostgreSQL con el siguiente comando:

systemctl start postgresql
systemctl enable postgresql

A continuación, tendrás que crear un usuario para Odoo en PostgreSQL. Puedes crearlo utilizando el siguiente comando:

su - postgres -c "createuser -s odoo14"

Una vez que hayas terminado, puedes proceder al siguiente paso.

Instalar Odoo14 en Alma Linux 8

Primero, crea un usuario dedicado para ejecutar Odoo utilizando el siguiente comando:

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

A continuación, inicia sesión con el usuario Odoo14 y descarga el código fuente de Odoo14 desde el repositorio Git:

su - odoo14
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo/odoo14

A continuación, cambia el directorio a Odoo y crea un entorno virtual Python:

cd /opt/odoo
python3 -m venv odoo14-venv

A continuación, activa el entorno virtual Python utilizando el siguiente comando:

source odoo14-venv/bin/activate

A continuación, instala todas las dependencias de Python necesarias utilizando el siguiente comando:

pip3 install -r odoo14/requirements.txt

Una vez instaladas todas las dependencias, desactiva del entorno virtual Python con el siguiente comando:

deactivate

Por último, sal del usuario Odoo14 con el siguiente comando:

exit

Configurar Odoo14

A continuación, crea algún directorio necesario para Odoo con el siguiente comando:

mkdir /opt/odoo/odoo14-custom-addons
mkdir /var/log/odoo14 && touch /var/log/odoo14/odoo.log

A continuación, establece la propiedad adecuada con el siguiente comando:

chown odoo14: /opt/odoo/odoo14-custom-addons
chown -R odoo14: /var/log/odoo14/

A continuación, crea un archivo de configuración de Odoo:

nano /etc/odoo.conf

Añade el siguiente contenido:

[options]
admin_passwd = odoomasterpassword
db_host = False
db_port = False
db_user = odoo14
db_password = False
xmlrpc_port = 8069
logfile = /var/log/odoo14/odoo.log
logrotate = True
addons_path = /opt/odoo/odoo14/addons,/opt/odoo/odoo14-custom-addons

Guarda y cierra el archivo cuando hayas terminado.

Crear un archivo de servicio Systemd para Odoo14

A continuación, debes crear un archivo de servicio systemd para gestionar el servicio Odoo14. Puedes crearlo con el siguiente comando:

nano /etc/systemd/system/odoo14.service

Añade las siguientes líneas:

[Unit]
Description=Odoo14

[Service]
Type=simple
SyslogIdentifier=odoo14
PermissionsStartOnly=true
User=odoo14
Group=odoo14
ExecStart=/opt/odoo/odoo14-venv/bin/python3 /opt/odoo/odoo14/odoo-bin -c /etc/odoo.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

Guarda y cierra el archivo y luego recarga el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicia y habilita el servicio Odoo con el siguiente comando:

systemctl start odoo14
systemctl enable odoo14

Ahora puedes comprobar el estado del servicio Odoo con el siguiente comando:

systemctl status odoo14

Obtendrás la siguiente salida:

? odoo14.service - Odoo14
   Loaded: loaded (/etc/systemd/system/odoo14.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2022-01-04 00:44:36 EST; 5s ago
 Main PID: 45125 (python3)
    Tasks: 4 (limit: 25014)
   Memory: 60.9M
   CGroup: /system.slice/odoo14.service
           ??45125 /opt/odoo14/venv/bin/python3 /opt/odoo/odoo14/odoo-bin -c /etc/odoo14.conf

Feb 04 00:44:36 rockylinux8 systemd[1]: Started Odoo14.
Feb 04 00:44:37 rockylinux8 odoo14[45125]: /opt/odoo14/venv/lib64/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 whee>
Feb 04 00:44:37 rockylinux8 odoo14[45125]:   """)
Feb 04 00:44:37 rockylinux8 odoo14[45125]: 2022-01-04 05:44:37,761 45125 INFO ? odoo: Odoo version 14.0
Feb 04 00:44:37 rockylinux8 odoo14[45125]: 2022-01-04 05:44:37,762 45125 INFO ? odoo: Using configuration file at /etc/odoo.conf
Feb 04 00:44:37 rockylinux8 odoo14[45125]: 2022-01-04 05:44:37,762 45125 INFO ? odoo: addons paths: ['/opt/odoo/odoo14/odoo/addons', '/opt/odoo14/>
Feb 04 00:44:37 rockylinux8 odoo14[45125]: 2022-01-04 05:44:37,762 45125 INFO ? odoo: database: odoo14@default:default
Feb 04 00:44:38 rockylinux8 odoo14[45125]: 2022-01-04 05:44:38,057 45125 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopd>
Feb 04 00:44:38 rockylinux8 odoo14[45125]: 2022-01-04 05:44:38,437 45125 INFO ? odoo.service.server: HTTP service (werkzeug) running on rockylinux8:80>

En este punto, Odoo14 está iniciado y escucha en el puerto 8069. Puedes comprobarlo con el siguiente comando:

ss -antpl | grep 8069

Obtendrás la siguiente salida:

LISTEN 0      128          0.0.0.0:8069      0.0.0.0:*    users:(("python3",pid=27781,fd=5))   

Configurar Nginx para Odoo14

A continuación, tendrás que instalar y configurar Nginx como proxy inverso para Odoo14. Primero, instala el paquete Nginx con el siguiente comando:

dnf install nginx -y

A continuación, crea un archivo de configuración de host virtual Nginx con el siguiente comando:

nano /etc/nginx/conf.d/odoo14.conf

Añade el siguiente contenido:

upstream odooserver {
 server 127.0.0.1:8069;
}

server {
    listen 80;
    server_name odoo14.example.com;
    access_log /var/log/nginx/odoo_access.log;
    error_log /var/log/nginx/odoo_error.log;


    # Proxy settings
    proxy_read_timeout 720s;
    proxy_connect_timeout 720s;
    proxy_send_timeout 720s;
    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;

    # Request for root domain
    location / {
       proxy_redirect off;
       proxy_pass http://odooserver;
    }

    # Cache static files
    location ~* /web/static/ {
        proxy_cache_valid 200 90m;
        proxy_buffering on;
        expires 864000;
        proxy_pass http://odooserver;
    }

    # Gzip
    gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
    gzip on;
}

Guarda y cierra el archivo, luego verifica que Nginx no tenga ningún error de sintaxis utilizando el siguiente comando:

nginx -t

Obtendrás la siguiente salida:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

A continuación, inicia y habilita el servicio Nginx con el siguiente comando:

systemctl start nginx
systemctl enable nginx

También puedes comprobar el estado de Nginx utilizando el siguiente comando:

systemctl status nginx

Obtendrás el siguiente resultado:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-01-15 15:57:16 UTC; 5s ago
  Process: 28148 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 28146 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 28144 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 28149 (nginx)
    Tasks: 5 (limit: 49497)
   Memory: 7.5M
   CGroup: /system.slice/nginx.service
           ??28149 nginx: master process /usr/sbin/nginx
           ??28150 nginx: worker process
           ??28151 nginx: worker process
           ??28152 nginx: worker process
           ??28153 nginx: worker process

Jan 15 15:57:16 almalinux8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 15 15:57:16 almalinux8 nginx[28146]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 15 15:57:16 almalinux8 nginx[28146]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 15 15:57:16 almalinux8 systemd[1]: Started The nginx HTTP and reverse proxy server.

A continuación, edita el archivo de configuración de Odoo:

nano /etc/odoo.conf

Añade la siguiente línea al final del archivo para habilitar el proxy:

proxy_mode = True

Guarda y cierra el archivo y reinicia el servicio Odoo para aplicar los cambios:

systemctl restart odoo14

Una vez que hayas terminado, puedes continuar con el siguiente paso.

Configurar el cortafuegos

A continuación, tendrás que permitir el puerto 80 a través del cortafuegos. Puedes permitirlo ejecutando el siguiente comando:

firewall-cmd --add-service=http --permanent

A continuación, recarga el cortafuegos para aplicar los cambios:

firewall-cmd --reload

Una vez que hayas terminado, puedes continuar con el siguiente paso.

Accede a la Interfaz Web de Odoo14

Ahora, abre tu navegador web y accede a la interfaz web de Odoo14 utilizando la URL http://odoo14.example.com. Deberías ver la siguiente pantalla:

Proporciona tu contraseña maestra de Odoo, base de datos, correo electrónico y contraseña, y haz clic en el botón Crear base de datos. Deberías ver el panel de control de Odoo14 en la siguiente pantalla:

Has instalado correctamente Odoo con Nginx en Alma Linux 8. Ahora puedes implementar Odoo para gestionar tu negocio y operaciones.

Scroll al inicio