Odoo instalación · 7 min read · Sep 29, 2025
Instalar Odoo en CentOS con Nginx
Odoo es un sistema ERP y CRM de código abierto utilizado para gestionar las necesidades básicas de la empresa, incluyendo la gestión de materiales y almacenes, recursos humanos, finanzas, contabilidad, ventas, inventario y muchas otras características empresariales. Está construido utilizando Python y utiliza PostgreSQL como su base de datos. La última versión de Odoo 14 tiene características útiles, incluyendo un nuevo constructor de sitios web, nuevas herramientas de inteligencia empresarial, nuevos y mejorados menús de inventario y MRP, y más.
Este tutorial te mostrará cómo instalar Odoo 14 con Nginx en CentOS 8.
Prerrequisitos
- Un servidor que ejecute CentOS 8.
- Un nombre de dominio válido apuntado a la IP de tu servidor.
- Una contraseña de root configurada en el servidor.
Empezando
Antes de comenzar, necesitarás instalar Python, wkhtmltopdf y otras dependencias requeridas en tu sistema. Ejecuta el siguiente comando para instalar todos ellos:
dnf install python3 redhat-rpm-config libxslt-devel bzip2-devel openldap-devel python3-devel git gcc libjpeg-devel freetype-devel curl unzip -y
dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpmUna vez que todas las dependencias estén instaladas, puedes proceder al siguiente paso.
Instalar y Configurar PostgreSQL
Odoo utiliza PostgreSQL como backend de base de datos. Por lo tanto, necesitarás instalarlo en tu sistema. Ejecuta el siguiente comando para instalar PostgreSQL:
dnf install postgresql postgresql-server postgresql-contrib -yUna vez que PostgreSQL esté instalado, inicializa la base de datos con el siguiente comando:
postgresql-setup initdbDeberías ver la siguiente salida:
WARNING: using obsoleted argument syntax, try --help
WARNING: arguments transformed to: postgresql-setup --initdb --unit postgresql
* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
A continuación, inicia el servicio de PostgreSQL y habilítalo para que se inicie al reiniciar el sistema:
systemctl start postgresql
systemctl enable postgresqlA continuación, crea un nuevo usuario para Odoo con el siguiente comando:
su - postgres -c "createuser -s odoo14"Una vez que hayas terminado, puedes proceder al siguiente paso.
Instalar Odoo 14
Se recomienda instalar y ejecutar Odoo como un usuario independiente. Puedes crear un nuevo usuario para Odoo con el siguiente comando:
useradd -m -U -r -d /opt/odoo14 -s /bin/bash odoo14Nota: El usuario de Odoo y el usuario de PostgreSQL deben ser el mismo.
A continuación, cambia al usuario Odoo 14 y descarga la última versión de Odoo 14 con el siguiente comando:
su - odoo14
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo14/odoo14Una vez que la descarga esté completa, cambia el directorio a odoo14 y crea un nuevo entorno virtual de Python con el siguiente comando:
cd /opt/odoo14
python3 -m venv odooenvA continuación, activa el entorno virtual con el siguiente comando:
source odooenv/bin/activateA continuación, instala otras dependencias de Python con el siguiente comando:
(odooenv) [odoo14@centos8 ~]$ pip3 install wheel
(odooenv) [odoo14@centos8 ~]$ pip3 install -r odoo14/requirements.txtA continuación, desactiva el entorno virtual y sal del usuario Odoo con el siguiente comando:
(odooenv) [odoo14@centos8 ~]$ deactivate
exitUna vez que hayas terminado, puedes proceder al siguiente paso.
Configurar Odoo 14
A continuación, necesitarás crear un directorio para almacenar los complementos de Odoo 14. Puedes crearlo con el siguiente comando:
mkdir /opt/odoo14/odoo14-custom-addonsA continuación, establece la propiedad adecuada en el directorio de complementos:
chown -R odoo14:odoo14 /opt/odoo14/odoo14-custom-addonsA continuación, crea un directorio y archivo de registro para Odoo 14 y establece la propiedad adecuada:
mkdir /var/log/odoo14
touch /var/log/odoo14/odoo14.log
chown -R odoo14: /var/log/odoo14/A continuación, crea un archivo de configuración de Odoo 14:
nano /etc/odoo14.confAgrega las siguientes líneas:
[options]
; Esta es la contraseña que permite operaciones en la base de datos:
admin_passwd = your_master_password
db_host = False
db_port = False
db_user = odoo14
db_password = False
xmlrpc_port = 8069
; longpolling_port = 8072
logfile = /var/log/odoo14/odoo14.log
logrotate = True
addons_path = /opt/odoo14/odoo14/addons,/opt/odoo14/odoo14-custom-addons
Guarda y cierra el archivo cuando hayas terminado.
Crear un Archivo de Unidad Systemd para Odoo 14
A continuación, necesitarás crear un archivo de servicio systemd para gestionar el servicio Odoo 14. Puedes crearlo con el siguiente comando:
nano /etc/systemd/system/odoo14.serviceAgrega las siguientes líneas:
[Unit]
Description=Odoo14
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo14
PermissionsStartOnly=true
User=odoo14
Group=odoo14
ExecStart=/opt/odoo14/odooenv/bin/python3 /opt/odoo14/odoo14/odoo-bin -c /etc/odoo14.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Guarda y cierra el archivo, luego recarga el demonio systemd con el siguiente comando:
systemctl daemon-reloadA continuación, inicia el servicio Odoo 14 y habilítalo para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl start odoo14
systemctl enable odoo14Ahora puedes verificar el estado del servicio Odoo 14 con el siguiente comando:
systemctl status odoo14Deberías obtener la siguiente salida:
? odoo14.service - Odoo14
Loaded: loaded (/etc/systemd/system/odoo14.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2021-05-01 06:29:56 EDT; 5s ago
Main PID: 26505 (python3)
Tasks: 4 (limit: 25014)
Memory: 91.8M
CGroup: /system.slice/odoo14.service
??26505 /opt/odoo14/odooenv/bin/python3 /opt/odoo14/odoo14/odoo-bin -c /etc/odoo14.conf
May 01 06:29:56 centos8 systemd[1]: Started Odoo14.
Una vez que hayas terminado, puedes proceder al siguiente paso.
Instalar y Configurar Nginx para Odoo 14
En este punto, Odoo 14 está instalado y en funcionamiento. Ahora, se recomienda configurar Nginx como un proxy inverso para Odoo.
Primero, instala el paquete Nginx con el siguiente comando:
dnf install nginx -yUna vez que Nginx esté instalado, crea un nuevo archivo de configuración de host virtual de Nginx con el siguiente comando:
nano /etc/nginx/conf.d/odoo14.confAgrega las siguientes líneas:
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
server {
listen 80;
server_name odoo.example.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Proxy headers
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;
# log files
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
# Handle longpoll requests
location /longpolling {
proxy_pass http://odoochat;
}
# Handle / requests
location / {
proxy_redirect off;
proxy_pass http://odoo;
}
# Cache static files
location ~* /web/static/ {
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo;
}
# 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 Nginx por cualquier error de sintaxis con el siguiente comando:
ginx -tDeberías obtener 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 el servicio Nginx y habilítalo para que se inicie al reiniciar el sistema:
systemctl start nginx
systemctl enable nginxTambién puedes verificar Nginx con el siguiente comando:
systemctl status nginxDeberías obtener la siguiente salida:
? nginx.service - El servidor HTTP y proxy inverso nginx
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2021-05-01 06:31:19 EDT; 3s ago
Process: 26627 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 26625 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 26623 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 26628 (nginx)
Tasks: 3 (limit: 25014)
Memory: 5.3M
CGroup: /system.slice/nginx.service
??26628 nginx: master process /usr/sbin/nginx
??26629 nginx: worker process
??26630 nginx: worker process
May 01 06:31:19 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
May 01 06:31:19 centos8 nginx[26625]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
May 01 06:31:19 centos8 nginx[26625]: nginx: configuration file /etc/nginx/nginx.conf test is successful
May 01 06:31:19 centos8 systemd[1]: Started The nginx HTTP and reverse proxy server.
A continuación, edita el archivo de configuración de Odoo 14 y habilita el modo proxy:
nano /etc/odoo14.confAgrega la siguiente línea:
proxy_mode = True
Guarda y cierra el archivo, luego reinicia el servicio Odoo 14 para aplicar los cambios:
systemctl restart odoo14Configurar Firewall
A continuación, necesitarás permitir el puerto 80 a través del firewall. Puedes permitirlo con el siguiente comando:
firebase-cmd --permanent --add-service=httpA continuación, recarga el firewall para aplicar los cambios:
firebase-cmd --reloadUna vez que hayas terminado, puedes proceder al siguiente paso.
Acceder al Panel de Control de Odoo 14
Ahora, abre tu navegador web y accede a la interfaz web de Odoo 14 utilizando la URL http://odoo.example.com. Serás redirigido a la siguiente página:

Proporciona tu contraseña maestra de Odoo, base de datos y haz clic en el botón Crear base de datos. Deberías ver el panel de control de Odoo 14 en la siguiente página:

Conclusión
¡Felicidades! has instalado con éxito Odoo 14 ERP con Nginx en CentOS 8. Ahora puedes implementar Odoo en tu entorno de producción y aumentar la productividad.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.