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.