Odoo ERP · 14 min read · Sep 11, 2025

Cómo instalar el software ERP Odoo en el servidor Ubuntu 24.04

Odoo (anteriormente conocido como OpenERP) es un conjunto autohospedado de más de 10,000 soluciones ERP de código abierto. Odoo es una solución ERP gratuita y de código abierto para múltiples tipos de negocios. Odoo, anteriormente OpenERP, es una solución ERP y CRM y más. Proporciona gestión de relaciones con los clientes (CRM), canal de ventas, gestión de proyectos, fabricación, facturación, contabilidad, comercio electrónico y muchos más.

Odoo es una de las soluciones ERP más completas para tu negocio. Tiene 30 módulos principales por defecto y proporciona más de 4500 módulos comunitarios para ayudar a tus múltiples negocios.

En este tutorial, instalarás el ERP de código abierto Odoo en el servidor Ubuntu 24.04. Instalarás y configurarás la última versión estable de Odoo 17, configurarás la base de datos PostgreSQL para Odoo y, por último, configurarás Nginx como un proxy inverso para la aplicación Odoo.

Requisitos previos

Para comenzar con este tutorial, necesitarás algunos requisitos siguientes:

  • Un servidor Ubuntu 24.04 - Este ejemplo utiliza un servidor Ubuntu con el nombre de host ‘odoo-server’.
  • Un usuario no root con privilegios de sudo root/administrador - o también puedes usar el usuario root.
  • Un nombre de dominio apuntado a la dirección IP del servidor - para producción, necesitarás un nombre de dominio para la instalación de Odoo.

Instalando Dependencias

Para instalar Odoo, primero necesitarás instalar algunas dependencias de paquetes en tu sistema Ubuntu. El ERP Odoo es una aplicación web escrita principalmente en Python, por lo que también necesitarás instalar algunos paquetes de Python.

Antes de comenzar a instalar paquetes, ejecuta el siguiente comando apt para actualizar y refrescar tu índice de paquetes.

sudo apt update

update repo

A continuación, instala las dependencias de paquetes para Odoo a través del siguiente comando apt. Esta instalación incluirá la última versión de Python, build-essentials para compilar paquetes de Python y algunas bibliotecas necesarias para Odoo.

sudo apt install git wget python3 build-essential libzip-dev python3-dev libxslt1-dev python3-pip libldap2-dev python3-wheel libsasl2-dev python3-venv python3-setuptools node-less libjpeg-dev xfonts-75dpi xfonts-base libxrender1 libpq-dev libffi-dev fontconfig

Cuando se te pida, ingresa y para confirmar y presiona ENTER para continuar. Y la instalación comenzará.

install deps

Una vez que Python y otras dependencias estén instaladas, el siguiente paso es instalar Node.js, que se utilizará para generar archivos estáticos, e instalar el paquete wkhtmltopdf para generar informes PDF.

Instalando Nodejs

Para instalar Odoo, debes asegurarte de que Node.js esté instalado en tu sistema. Node.js se utiliza para generar archivos estáticos para aplicaciones web de Odoo. En este paso, instalarás Node.js 20 desde el repositorio de terceros Nodesource.

Ejecuta el siguiente comando para descargar y configurar el repositorio Nodesource para Node.js 20.

sudo curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -

Este comando descargará y ejecutará el script de instalación. Luego, el script de instalación configurará automáticamente el repositorio para Node.js, agregará la clave GPG y actualizará y refrescará automáticamente el índice de paquetes en tu sistema.

add nodejs repo

A continuación, ejecuta el siguiente comando apt para instalar el paquete Node.js. Cuando se te pida, ingresa y para confirmar y presiona ENTER para continuar.

sudo apt install nodejs

install nodejs

Una vez que Node.js esté instalado, ejecuta el siguiente comando npm para instalar el paquete ‘ rtlcss ‘.

El paquete ‘ rtlcss ‘ es necesario para Odoo, especialmente si estás utilizando la interfaz de usuario de derecha a izquierda para idiomas específicos como árabe y hebreo.

sudo npm install -g rtlcss

install rtlcss

Instalando Wkhtmltopdf

El ERP de código abierto Odoo requiere que se instale el paquete wkhtmltopdf. Este paquete es necesario para renderizar páginas HTML a PDF y varios formatos de imagen a través de Qt Webkit. El paquete wkhtmltopdf se instalará manualmente a través del paquete .deb en el sistema Ubuntu.

Ejecuta el siguiente comando para descargar el archivo .deb del paquete Wkhtmltopdf.

cd /tmp  
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb

Instala el paquete Wkhtmltopdf a través del comando dpkg a continuación.

sudo dpkg -i wkhtmltox_0.12.6.1-3.jammy_amd64.deb

Si obtienes un error como un paquete faltante, corrígelo a través del siguiente comando apt.

sudo apt install -f

install wkhtmltopdf

Después de que Wkhtmltopdf esté instalado, puedes verificar el archivo binario del paquete Wkhtmltopdf que está disponible por defecto en el directorio ‘ /usr/local/bin ‘. Deberías ver dos programas: ‘wkhtmltopdf’ y ‘ wkhtmltoimage ‘.

ls /usr/local/bin

Ahora ejecuta el siguiente comando para verificar la variable de entorno $PATH y asegurarte de que el directorio ‘ /usr/local/bin ‘ esté disponible en el binario $PATH. De lo contrario, el paquete Wkhtmltopdf no funcionará correctamente.

echo $PATH

Por último, ejecuta el siguiente comando para asegurarte de que la ruta binaria para el paquete Wkhtmltopdf esté disponible. Si el paquete Wkhtmltopdf está disponible, deberías recibir una salida de la ruta completa del paquete Wkhtmltopdf.

which wkhtmltopdf  
which wkhtmltoimage

check wkhtmltopdf

Instalando el Servidor de Base de Datos PostgreSQL

El ERP de código abierto Odoo admite bases de datos como MySQL, SQLite y PostgreSQL. En este paso, instalarás y usarás PostgreSQL como la base de datos predeterminada para tu instalación de Odoo. También estarás configurando el rol de PostgreSQL y realizando cambios en la configuración de PostgreSQL.

Ejecuta el siguiente comando apt para instalar el servidor de base de datos PostgreSQL. Cuando se te pida confirmación, ingresa y y presiona ENTER.

sudo apt install postgresql

install postgresql

Después de que PostgreSQL esté instalado, ejecuta el siguiente comando para verificar PostgreSQL y asegurarte de que el servicio esté habilitado y en ejecución.

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

En la siguiente salida, puedes ver que el servicio PostgreSQL está habilitado y se ejecutará automáticamente al inicio del sistema. Y el estado de PostgreSQL está en ejecución.

check postgresqlk

A continuación, crearás un nuevo rol para Odoo. Ejecuta el siguiente comando para iniciar sesión como el usuario ‘ postgres ‘ y crear un nuevo rol con el nombre ‘ odoo ‘.

su - postgres  
createuser -sdP odoo

Ingresa la contraseña para el nuevo rol ‘ odoo ‘ y repítela.

Ahora, inicia sesión en la consola de PostgreSQL a través del comando psql a continuación.

psql

Ejecuta la siguiente consulta para verificar la lista de roles en PostgreSQL y asegurarte de que el rol ‘ odoo ‘ esté disponible.


du

Ahora ingresa ‘ q ‘ para salir de la consola de PostgreSQL. Luego, escribe ‘ exit ‘ para cerrar sesión del usuario postgres.

create and check postgres user

Ahora, después de haber creado un rol para Odoo, probarás la autenticación para el rol ‘odoo’.

Inicia sesión como el usuario ‘ postgres ‘ y verifica el ‘odoo’ rol iniciando sesión en la consola de PostgreSQL a través del comando psql como a continuación.

su - postgres  
psql -h 127.0.0.1 -U odoo -d postgres

Después de iniciar sesión, verifica usando la siguiente consulta.


d

Ahora deberías ver que estás conectado a PostgreSQL usando el rol ‘ odoo ‘.

connect to postgresql

En este punto, la preparación de la base de datos PostgreSQL para Odoo ha terminado. A continuación, comenzarás la instalación de Odoo descargando el código fuente e instalando las dependencias de Python.

Descargando Odoo 17

Para esta demostración, configurarás y ejecutarás Odoo v17 con el usuario ‘odoo’. Así que ahora crearás un nuevo usuario Unix ‘odoo’ y descargarás la última versión del código fuente de Odoo 17.

Ejecuta el siguiente comando para crear un nuevo usuario ‘ odoo ‘. En este ejemplo, el directorio de inicio predeterminado para el usuario ‘ odoo ‘ sería ‘ /opt/odoo ‘ y la shell predeterminada es bash.

sudo adduser --system --group --home=/opt/odoo --shell=/bin/bash odoo

Ahora mueve el directorio de trabajo a ‘ /opt/odoo ‘ y descarga el código fuente de Odoo a través del siguiente comando git. En este ejemplo, instalarás Odoo 17.

cd /opt/odoo  
git clone https://github.com/odoo/odoo.git --depth 1 --branch 17.0 --single-branch odoo-server

Ahora deberías obtener el nuevo directorio ‘ odoo-server ‘ dentro del directorio ‘ /opt/odoo ‘.

Por último, ejecuta el siguiente comando para cambiar la propiedad del código fuente de Odoo al usuario y grupo ‘ odoo ‘.

sudo chown -R odoo:odoo /opt/odoo/odoo-server

Después de descargar el código fuente de Odoo, a continuación comenzarás la instalación de las dependencias de paquetes de Python para Odoo.

Instalando Dependencias de Python para Odoo

En este paso, configurarás el entorno virtual de Python para Odoo e instalarás las dependencias de Python a través del comando pip3.

Mueve el directorio de trabajo a ‘/opt/odoo/odoo-server’ y crea un nuevo entorno virtual de Python ‘venv’ a través del siguiente comando.

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

A continuación, activa el entorno virtual de Python ‘venv’ a través del siguiente comando.

source venv/bin/activate

Después de activar el entorno virtual de Python, verás que tu shell actual cambió a algo como ‘ (venv) root@hostname… ‘.

Ahora ejecuta el siguiente comando pip3 para instalar el paquete de Python wheel e instalar las dependencias de Python de Odoo a través del archivo requirements.txt.

pip3 install wheel  
pip3 install -r requirements.txt

install deps odoo

Después de que se instalen las dependencias de Python, ejecuta el siguiente comando para salir del entorno virtual de Python ‘venv’.

deactivate

Ahora has descargado el código fuente de Odoo e instalado las dependencias de Python. A continuación, crearás una nueva configuración y directorio para la instalación de Odoo.

Creando la Configuración de Odoo

Crea un nuevo archivo de configuración ‘ /etc/odoo.conf ‘ usando el siguiente editor nano.

sudo nano /etc/odoo.conf

Agrega la siguiente configuración al archivo. Y asegúrate de cambiar la ‘ admin_passwd ‘ y los detalles del usuario de la base de datos y la contraseña con tus detalles.

[options]  
; Esta es la contraseña que permite operaciones en la base de datos:  
admin_passwd = adminpassodoo  
db_host = 127.0.0.1  
db_port = 5432  
db_user = odoo  
db_password = odoo  
addons_path = /opt/odoo/odoo-server/addons  
xmlrpc_port = 8069  
logfile = /var/log/odoo/odoo-server.log  
log_level = debug

Guarda el archivo y sal del editor.

Ahora, cambia la propiedad del archivo de configuración de Odoo ‘/ etc/odoo.conf ‘ al usuario del sistema ‘odoo’.

sudo chown odoo:odoo /etc/odoo.conf

A continuación, ejecuta el siguiente comando para crear un nuevo directorio que se utilizará para almacenar los registros de Odoo.

sudo mkdir /var/log/odoo

Luego, cambia la propiedad del directorio de registros de Odoo ‘ /var/log/odoo ‘ al usuario ‘ odoo ‘ y cambia los permisos a 755.

sudo chown odoo:odoo /var/log/odoo  
sudo chmod 755 /var/log/odoo

Ejecutando Odoo como Servicio Systemd

En este punto, puedes ejecutar Odoo manualmente a través de la línea de comandos. Para facilitar las cosas, puedes ejecutar Odoo como un servicio systemd. Esto te permite gestionar Odoo a través del comando systemctl.

Ahora crearás un nuevo archivo de servicio systemd y ejecutarás Odoo como el servicio systemd.

Para comenzar, crea un nuevo archivo de servicio systemd ‘/lib/systemd/system/odoo-server.service’ usando el siguiente editor nano.

sudo nano /lib/systemd/system/odoo-server.service

Agrega la siguiente configuración al archivo.

[Unit]  
Description=Servicio Odoo 17.0  
Requires=postgresql.service  
After=network.target postgresql.service  
  
[Service]  
Type=simple  
SyslogIdentifier=odoo  
PermissionsStartOnly=true  
User=odoo  
Group=odoo  
ExecStart=/opt/odoo/odoo-server/venv/bin/python3 /opt/odoo/odoo-server/odoo-bin -c /etc/odoo.conf  
StandardOutput=journal+console  
  
[Install]  
WantedBy=multi-user.target

Guarda el archivo y sal del editor cuando hayas terminado.

A continuación, recarga el gestor de systemd para aplicar un nuevo archivo de servicio a través del comando systemctl a continuación.

sudo systemctl daemon-reload

Inicia y habilita el servicio ‘odoo-server’ usando el siguiente comando.

sudo systemctl start odoo-server  
sudo systemctl enable odoo-server

setup odoo service

Por último, verifica el servicio Odoo para asegurarte de que el servicio esté en ejecución.

sudo systemctl status odoo-server

Deberías recibir la salida del servicio ‘ odoo-server ‘ en ejecución.

check odoo

Ejecutando Odoo con Nginx como Proxy Inverso

La forma recomendada de implementar Odoo en producción es utilizando el proxy inverso. Esto te permite ejecutar Odoo solo en localhost y todo el acceso del cliente será manejado por el proxy inverso.

En este paso, instalarás y configurarás el servidor web Nginx como un proxy inverso para la aplicación web Odoo. También asegurarás la instalación de Odoo con SSL. Así que, antes de comenzar a configurar Nginx, asegúrate de que tienes el nombre de dominio apuntado a la dirección IP del servidor y generado SSL Letsencrypt.

Primero, modifica el archivo de configuración de Odoo ‘ /etc/odoo.conf ‘ usando el siguiente editor nano.

sudo nano /etc/odoo.conf

Agrega la siguiente configuración al archivo. Esta configuración ejecutará Odoo como la aplicación backend que se ejecutará en 127.0.0.1.

xmlrpc_interface = 127.0.0.1  
proxy_mode = True

Guarda el archivo y sal del editor cuando hayas terminado.

Ahora ejecuta el siguiente comando para reiniciar el servicio ‘odoo-server’ y aplicar los nuevos cambios.

sudo systemctl restart odoo-server

A continuación, ahora instalarás y configurarás Nginx.

Ejecuta el siguiente comando apt para instalar el paquete del servidor web Nginx. Ingresa y cuando se te pida y presiona ENTER para continuar y confirmar la instalación.

sudo apt install nginx

install nginx

Después de que Nginx esté instalado, crea una nueva configuración de bloques de servidor Nginx ‘/etc/nginx/sites-available/odoo.conf’ usando el siguiente editor nano.

sudo nano /etc/nginx/sites-available/odoo.conf

Agrega la configuración a continuación al archivo y asegúrate de cambiar el nombre de dominio y la ruta de los certificados SSL con tu configuración.

  
# servidor odoo  
upstream odoo {  
server 127.0.0.1:8069;  
}  
upstream odoochat {  
server 127.0.0.1:8072;  
}  
  
# http -> https  
server {  
listen 80;  
server_name odoo.howtoforge.local;  
rewrite ^(.*) https://$host$1 permanent;  
}  
  
server {  
listen 443 ssl http2;  
server_name odoo.howtoforge.local;  
proxy_read_timeout 720s;  
proxy_connect_timeout 720s;  
proxy_send_timeout 720s;  
  
# Agregar encabezados para el modo proxy de Odoo  
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;  
  
# parámetros SSL  
ssl_certificate /etc/letsencrypt/live/odoo.howtoforge.local/fullchain.pem;  
ssl_certificate_key /etc/letsencrypt/live/odoo.howtoforge.local/privkey.pem;  
ssl_session_timeout 1d;  
ssl_session_cache shared:MozSSL:10m; # aproximadamente 40000 sesiones  
ssl_session_tickets off;  
ssl_protocols TLSv1.2 TLSv1.3;  
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;  
ssl_prefer_server_ciphers off;  
ssl_dhparam /etc/ssl/certs/dhparam.pem;  
  
# registro  
access_log /var/log/nginx/odoo.access.log;  
error_log /var/log/nginx/odoo.error.log;  
  
# Redirigir solicitudes longpoll a odoo puerto longpolling  
location /longpolling {  
proxy_pass http://odoochat;  
}  
  
# Redirigir solicitudes al servidor backend de odoo  
location / {  
proxy_redirect off;  
proxy_pass http://odoo;  
}  
  
# gzip común  
gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;  
gzip on;  
}

Guarda el archivo y cierra el editor cuando hayas terminado.

Ahora activa la nueva configuración del bloque de servidor Nginx y verifica la configuración de Nginx para asegurarte de que tienes las configuraciones correctas.

sudo ln -s /etc/nginx/sites-available/odoo.conf /etc/nginx/sites-enabled/  
sudo nginx -t

Si tus configuraciones son correctas, verás el mensaje de salida como ‘test successful - syntax OK’.

Por último, ejecuta el siguiente comando systemctl para reiniciar el servicio Nginx y aplicar los nuevos cambios.

sudo systemctl restart nginx

Ahora, has terminado de instalar y configurar el proxy inverso Nginx para el ERP Odoo. Ahora puedes acceder a la instalación a través de tu navegador web.

check nginx

Configurando el Firewall UFW

Se recomienda habilitar el firewall en tu instalación de Odoo. En este paso, aprenderás cómo configurar el firewall UFW.

Por defecto, el servidor genérico de Ubuntu tiene el paquete ufw instalado, por lo que solo puedes comenzar a configurarlo.

Ejecuta el siguiente comando para agregar la aplicación OpenSSH al firewall ufw. Luego, ejecuta y habilita el ufw.

sudo ufw allow "OpenSSH"  
sudo ufw enable

Cuando se te pida confirmación, ingresa y presiona ENTER para continuar. El servicio del firewall ufw se habilitará y estará en ejecución.

A continuación, ejecuta el siguiente comando para agregar la aplicación ‘ Nginx Full ‘. Este perfil de aplicación es proporcionado por los paquetes de Nginx en la instalación predeterminada y abrirá ambos puertos HTTP y HTTPS para tu aplicación.

sudo ufw allow "Nginx Full"

Por último, verifica la lista de reglas habilitadas en ufw. Deberías ver dos aplicaciones: ‘ OpenSSH ‘ y ‘ Nginx Full ‘ habilitadas.

sudo ufw status

setup ufw

Migración de Base de Datos de Odoo e Instalación

Abre tu navegador web y visita el nombre de dominio de tu instalación de Odoo (es decir: https://odoo.howtoforge.local/).

Al principio, necesitarás migrar la base de datos para Odoo y crear un nuevo usuario administrador.

La Contraseña Maestra aquí es la ‘ admin_passwd ‘ que acabas de agregar en el archivo ‘ /etc/odoo.conf ‘.

Ingresa el nuevo nombre de la base de datos que se creará automáticamente e ingresa los detalles del nuevo usuario administrador y la contraseña para tu instalación de Odoo. Además, también puedes seleccionar la casilla de datos de demostración para agregar los datos de demostración a tu instalación.

Haz clic en ‘ Crear base de datos ‘ para comenzar la instalación de Odoo.

install odoo

Después de que Odoo esté instalado, serás redirigido a la página de inicio de sesión de Odoo. Ingresa el correo electrónico y la contraseña del administrador para tu Odoo y haz clic en ‘ Iniciar sesión ‘.

login odoo

Ahora deberías obtener el panel de usuario de Odoo.

dashboard odoo

Conclusión

¡Felicidades! Ahora has instalado Odoo ERP de código abierto en un servidor Ubuntu 24.04. También has aprendido la instalación básica del servidor de base de datos PostgreSQL y del servidor web Nginx que está configurado como un proxy inverso.

En este punto, has asegurado completamente la instalación de Odoo en tu servidor Ubuntu. Ahora puedes comenzar a agregar algunos complementos/adiciones adicionales que sean adecuados para tu negocio.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.