Odoo 19: Guía completa de instalación para Ubuntu 24.04 (Community & Enterprise)
Introducción
Desplegar un sistema ERP a menudo parece una tarea compleja, pero la arquitectura correcta convierte el proceso en un algoritmo claro. En esta guía, cubriremos cómo configurar Odoo 19 en un Ubuntu 24.04 fresco utilizando el método de instalación de origen dentro de un entorno virtual aislado.
Lo más destacado de este método es su versatilidad. Establecemos una estructura de carpetas y permisos que te permite ejecutar la versión gratuita Community mientras mantienes la capacidad de actualizar instantáneamente a Enterprise simplemente añadiendo módulos a la carpeta addons. No hay hacks manuales - sólo un flujo de trabajo limpio venv Python y SSL automático a través de Caddy.
Pila técnica (verificada):
- SO: Ubuntu 24.04 LTS
- Entorno: Python 3.12 (Entorno Virtual)
- Servidor Web: Caddy (HTTPS automático y proxy)
- Base de datos: PostgreSQL 16.11
- Especificaciones VM: 2 vCPU, 4 GB RAM, 40 GB NVMe
En general, esta guía funciona con varias versiones de software de apoyo. El componente crítico es la distribución Ubuntu 24.04 LTS.
Paso 1: Preparación del sistema
Actualice el sistema:
sudo apt update && sudo apt upgrade -y
Instale los paquetes necesarios:
sudo apt install -y git python3-pip python3-dev python3-venv \ libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev \ libldap2-dev build-essential libssl-dev libffi-dev \ libmysqlclient-dev libjpeg-dev libpq-dev libjpeg8-dev \ liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev \ libxcb1-dev nodejs npm
Paso 2: Base de datos (PostgreSQL)
Instale PostgreSQL y cree un usuario de base de datos:
sudo apt install -y postgresql # Crear el usuario de la BD sudo -u postgres createuser -s odoo19
Paso 3: Usuario del sistema y código fuente
Crear el usuario odoo19 y descargar la rama 19.0
sudo useradd -m -d /opt/odoo19 -U -r -s /bin/bash odoo19 sudo su - odoo19
git clone https://www.github.com/odoo/odoo --depth 1 --branch 19.0 /opt/odoo19/odoo
Paso 4: Entorno Virtual (Requerido para 24.04)
Estando aún en la sesión de usuario de odoo19
python3 -m venv odoo-venv source odoo-venv/bin/activate pip install --upgrade pip pip install wheel phonenumbers pip install -r /opt/odoo19/odoo/requirements.txt
Salir de la sesión de odoo19:
exit
Paso 5: Generador de PDF (wkhtmltopdf)
Para Ubuntu 24.04, se recomienda utilizar el paquete de la versión Jammy (22.04) o descargar el binario actual, ya que los repositorios por defecto pueden carecer de soporte para QT.
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb sudo apt install ./wkhtmltox_0.12.6.1-2.jammy_amd64.deb -y
Paso 6: Configuración
Cree un archivo de configuración y establezca un admin_passwd fuerte. Lo necesitará para el primer inicio de sesión y la inicialización de la base de datos:
sudo nano /etc/odoo19.conf
Inserta la siguiente configuración:
[opciones] admin_passwd = YOUR_SUPER_PASSWORD db_host = False db_port = False db_user = odoo19 db_password = False addons_path = /opt/odoo19/odoo/addons logfile = /var/log/odoo/odoo19.log proxy_mode = True
Establecer permisos:
# Crear el directorio log y vaciar el archivo log sudo mkdir /var/log/odoo # Transferir la propiedad al usuario odoo19 sudo chown odoo19:odoo19 /var/log/odoo sudo chown odoo19:odoo19 /etc/odoo19.conf # Restringir el acceso a la configuración (sólo propietario y grupo) sudo chmod 640 /etc/odoo19.conf
Paso 7: Automatización (Systemd)
Cree el archivo de servicio:
sudo nano /etc/systemd/system/odoo19.service
Inserta la siguiente configuración:
[Unit] Description=Odoo 19 After=network.target postgresql.service [Service] Type=simple User=odoo19 Group=odoo19 ExecStart=/opt/odoo19/odoo-venv/bin/python3 /opt/odoo19/odoo/odoo-bin -c /etc/odoo19.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Inicie el servicio:
sudo systemctl daemon-reload sudo systemctl enable --now odoo19
Paso 8: Configuración del proxy inverso - Caddy
Instale el repositorio oficial de Caddy para Ubuntu
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy -y
Configuración de Odoo para proxy inverso
Asegúrese de que proxy_mode = True está en su /etc/odoo19.conf (como se hizo en el paso 6), a continuación, reinicie Odoo:
sudo nano /etc/odoo19.conf
sudo systemctl restart odoo19
Configurar el Caddyfile
sudo nano /etc/caddy/Caddyfile
Inserte el siguiente bloque:
# Sustituye :80 por TU_DOMINIO para SSL automático :80 { request_body { max_size 300MB } # Longpolling reverse_proxy /longpolling/* localhost:8072 # Tráfico principal reverse_proxy localhost:8069 { header_up X-Forwarded-Host {host} header_up X-Forwarded-Proto {scheme} header_up X-Real-IP {remote_host} } }
Valide y reinicie Caddy:
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl restart caddy
Paso 9: Inicio de sesión inicial
Navegue a:
- Vía IP: http://YOUR_SERVER_IP
- Vía Dominio: https://YOUR_DOMAIN (si está configurado en Caddy)
Complete el formulario de creación de base de datos:
- Contraseña maestra: Utilice la contraseña creada en el Paso 6.
- Nombre de la base de datos: por ejemplo, miempresa.
- Correo electrónico: Su correo electrónico de acceso.
- Contraseña: Su contraseña de acceso al sistema.
- Idioma y país: Seleccione según corresponda.
- Datos de demostración: Deje la casilla sin marcar para obtener una base de datos de producción limpia.
Haga clic en Crear base de datos y espere (1-2 minutos).

Configuración del nombre de dominio
Para habilitar SSL automático a través de Let's Encrypt:
Paso 1. Configurar DNS: Apunta un registro A de TU_DOMINIO a la IP de tu servidor.
Paso 2. Editar Caddyfile: Sustituya :80 por SU_DOMINIO.
Paso 3. Reinicie Caddy. Reinicie Caddy:
sudo systemctl restart caddy
Caddy proveerá automáticamente el certificado SSL. Paso 4. Acceda a Odoo en https://YOUR_DOMAIN.