Crear un segundo ambiente de Odoo en el mismo servidor

26 de abril de 2026 por
Andres Dawidowicz
| Sin comentarios aún
 

1. Crear la carpeta del nuevo ambiente

Primero nos ubicamos en /opt, que es donde vamos a instalar este segundo Odoo:

cd /opt
sudo mkdir odoo18_v2

Entramos a la carpeta recién creada:

cd /opt/odoo18_v2


2. Crear el entorno virtual de Python

Dentro de la carpeta del nuevo ambiente, creamos un entorno virtual:

sudo python3 -m venv /opt/odoo18_v2/venv

Luego lo activamos:

source /opt/odoo18_v2/venv/bin/activate

Este entorno virtual va a contener las dependencias de Python necesarias para correr Odoo 18, separado del sistema principal.

3. Descargar Odoo 18 desde GitHub

Creamos la carpeta donde va a estar el código fuente de Odoo:

sudo mkdir /opt/odoo18_v2/odoo
cd /opt/odoo18_v2/odoo

Clonamos la rama 18.0 de Odoo:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 18.0 --single-branch .

El punto final . indica que el contenido del repositorio se descargará directamente dentro de la carpeta actual.

4. Instalar las dependencias

Con el entorno virtual activado, instalamos los requerimientos de Odoo:

pip install -r requirements.txt

Si hubiera problemas de permisos, se pueden ajustar los permisos del directorio del nuevo ambiente:

cd /opt/odoo18_v2
sudo chmod -R 777 *

Luego volvemos a la carpeta de Odoo y repetimos la instalación si fuera necesario:

cd /opt/odoo18_v2/odoo
pip install -r requirements.txt

Cuando terminamos, salimos del entorno virtual:

deactivate
5. Crear un nuevo archivo de configuración

Ahora copiamos el archivo de configuración existente de Odoo 18 para usarlo como base del nuevo ambiente:

cd /etc
sudo cp odoo18.conf odoo18_v2.conf

Ajustamos permisos y propietario:

sudo chmod 640 /etc/odoo18_v2.conf
sudo chown odoo18:odoo18 /etc/odoo18_v2.conf

Luego editamos el nuevo archivo:

sudo nano /etc/odoo18_v2.conf

Dentro del archivo, modificamos o agregamos estos valores:

addons_path = /opt/odoo18_v2/odoo/addons
dbfilter = odoo-v2
xmlrpc_port = 8080
http_port = 8080
logfile = /var/log/odoo/odoo18_v2.log

Con esto le estamos indicando a Odoo que:

use los addons de la nueva instalación;
filtre la base de datos llamada odoo-v2;
corra en el puerto 8080;
escriba su log en un archivo separado.
6. Crear el archivo de log

Creamos el archivo donde Odoo va a guardar los logs de este nuevo ambiente:

cd /var/log/odoo/
sudo touch odoo18_v2.log
sudo chown odoo18:root /var/log/odoo/odoo18_v2.log

Esto permite revisar luego los errores o mensajes del servicio desde un log independiente del Odoo principal.

7. Crear el servicio systemd

Ahora creamos un nuevo servicio para que el segundo Odoo pueda iniciarse, detenerse y reiniciarse como cualquier otro servicio del sistema:

sudo nano /etc/systemd/system/odoo18_v2.service

Dentro del archivo pegamos lo siguiente:

[Unit]
Description=Odoo18 V2
Documentation=http://www.odoo.com

[Service]
Type=simple
User=odoo18
ExecStart=/opt/odoo18_v2/venv/bin/python3.12 /opt/odoo18_v2/odoo/odoo-bin -c /etc/odoo18_v2.conf

[Install]
WantedBy=default.target

Guardamos el archivo y luego ajustamos permisos:

sudo chmod 755 /etc/systemd/system/odoo18_v2.service
sudo chown root: /etc/systemd/system/odoo18_v2.service
8. Recargar systemd e iniciar el servicio

Cada vez que se crea o modifica un servicio de systemd, conviene recargar la configuración:

sudo systemctl daemon-reload

Luego iniciamos el nuevo servicio:

sudo systemctl start odoo18_v2.service

Para verificar el estado:

sudo systemctl status odoo18_v2.service

Y para ver el log en vivo:

sudo tail -f /var/log/odoo/odoo18_v2.log
9. Probar Odoo desde el navegador

Una vez iniciado el servicio, ingresamos desde el navegador usando el puerto 8080:

http://IP_DEL_SERVIDOR:8080

Desde ahí creamos la nueva base de datos:

odoo-v2

Como en el archivo de configuración usamos:

dbfilter = odoo-v2

este ambiente debería trabajar únicamente con esa base.

10. Comando alternativo para probar manualmente

Si queremos ejecutar Odoo manualmente, sin usar todavía el servicio, podemos correr:

/opt/odoo18_v2/venv/bin/python3.12 /opt/odoo18_v2/odoo/odoo-bin -c /etc/odoo18_v2.conf

Esto es útil para detectar errores directamente en pantalla antes de dejarlo funcionando como servicio.

Conclusión

Con estos pasos dejamos creado un segundo ambiente de Odoo 18, separado del principal, con:

Carpeta: /opt/odoo18_v2
Configuración: /etc/odoo18_v2.conf
Puerto: 8080
Base de datos: odoo-v2
Log: /var/log/odoo/odoo18_v2.log
Servicio: odoo18_v2.service

Este esquema es muy útil para pruebas, migraciones, desarrollos nuevos o para tener un ambiente alternativo sin tocar el Odoo principal.

Un detalle importante es mantener bien separadas las rutas, puertos, logs y base de datos, para evitar que los dos ambientes se mezclen o entren en conflicto.

en Blog
Andres Dawidowicz 26 de abril de 2026
Compartir
Categorías
Archivar
Identificarse dejar un comentario