Requisitos del servidor
Usa Ubuntu 22.04 LTS de 64 bits. Los mínimos reales para producción son 2 vCPU, 4 GB RAM y 40 GB de disco SSD; para equipos de más de 5 usuarios simultáneos o módulos contables complejos, planifica 8 GB RAM. Un VPS de Terranode con esas especificaciones cubre el rango de una empresa mediana.
Verifica la RAM disponible antes de empezar:
free -h Actualizar el sistema e instalar dependencias
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-pip python3-dev python3-venv \
build-essential libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev \
libtiff5-dev libjpeg8-dev libopenjp2-7-dev zlib1g-dev \
libfreetype6-dev liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev \
libxcb1-dev libpq-dev node-less git curl Instala wkhtmltopdf (necesario para generar PDFs):
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6.1-3.jammy_amd64.deb
sudo apt install -f -y Instalar y configurar PostgreSQL
sudo apt install -y postgresql postgresql-contrib
sudo systemctl enable postgresql --now Crea el usuario de base de datos para Odoo:
sudo -u postgres createuser -s odoo Crear el usuario del sistema y clonar Odoo
sudo adduser --system --home /opt/odoo --group odoo
sudo su - odoo -s /bin/bash
git clone https://www.github.com/odoo/odoo --depth 1 --branch 17.0 /opt/odoo/odoo
python3 -m venv /opt/odoo/venv
source /opt/odoo/venv/bin/activate
pip install -r /opt/odoo/odoo/requirements.txt
deactivate
exit Configurar Odoo
Crea el directorio de datos y el archivo de configuración:
sudo mkdir -p /opt/odoo/data/filestore /var/log/odoo
sudo chown -R odoo:odoo /opt/odoo /var/log/odoo Crea /etc/odoo.conf:
[options]
admin_passwd = CambiaMeAhora
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo/addons
data_dir = /opt/odoo/data
logfile = /var/log/odoo/odoo.log
log_level = warn
xmlrpc_port = 8069
workers = 2 Protege el archivo:
sudo chown odoo:odoo /etc/odoo.conf
sudo chmod 640 /etc/odoo.conf Crear el servicio systemd
Crea /etc/systemd/system/odoo.service:
[Unit]
Description=Odoo
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo
User=odoo
Group=odoo
ExecStart=/opt/odoo/venv/bin/python3 /opt/odoo/odoo/odoo-bin -c /etc/odoo.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target Activa e inicia el servicio:
sudo systemctl daemon-reload
sudo systemctl enable odoo --now
sudo systemctl status odoo Configurar Nginx como proxy inverso
sudo apt install -y nginx Crea /etc/nginx/sites-available/odoo:
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoo-chat {
server 127.0.0.1:8072;
}
server {
listen 80;
server_name erp.tudominio.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
location /longpolling {
proxy_pass http://odoo-chat;
proxy_set_header Host $host;
}
location / {
proxy_pass http://odoo;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
gzip on;
gzip_types text/css text/javascript application/json application/javascript;
} sudo ln -s /etc/nginx/sites-available/odoo /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx Obtener SSL con Certbot
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d erp.tudominio.com Certbot modifica el bloque de Nginx automáticamente y programa la renovación automática del certificado.
Primera instalación de la base de datos
Abre https://erp.tudominio.com/web/database/manager en el navegador. Completa el formulario con el nombre de la base, tu correo, la contraseña maestra (la definida en admin_passwd) y el idioma. Instala los módulos base y espera a que Odoo inicialice el esquema.
Seguridad básica
Bloquea el acceso directo a los puertos de Odoo desde internet:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 22/tcp
sudo ufw enable Después de crear la base de datos, bloquea /web/database/manager en Nginx añadiendo una restricción por IP o configurando list_db = False en odoo.conf.
Actualizaciones y mantenimiento
Para actualizar Odoo:
sudo systemctl stop odoo
sudo su - odoo -s /bin/bash
cd /opt/odoo/odoo && git pull
source /opt/odoo/venv/bin/activate
pip install -r requirements.txt --upgrade
deactivate
exit
sudo systemctl start odoo Actualiza los módulos instalados desde la interfaz en Configuración → Actualizar módulos, o con:
sudo -u odoo /opt/odoo/venv/bin/python3 /opt/odoo/odoo/odoo-bin \
-c /etc/odoo.conf -d nombre_base -u all --stop-after-init Odoo Community en un VPS propio te da el ERP completo sin costo por usuario. El stack es Ubuntu + PostgreSQL + Python + Nginx; el mayor trabajo está en dimensionar bien la RAM y en configurar los backups antes de cargar datos reales de producción.
Si buscas un VPS con la potencia necesaria para Odoo, Terranode ofrece planes desde $6/mes en Ecuador con KVM, NVMe y soporte local. Un plan de 4 GB RAM es el punto de partida recomendado para una empresa pequeña.
Hosting con LiteSpeed, NVMe y soporte 24/7 desde $3/mes.