Elementos de Marketing de los que hablamos
Cómo instalar dos instancias de Odoo en un VPS paso a paso
Una de las preguntas que más se hacen en el entrono del CRM de Odoo es cómo instalar 2 instancias de Odoo en 1 VPS. En este artículo del blog de Aigen Digital Marketing vamos a hacer una guía paso a paso.
Para instalar 2 instancias de Odoo en 1 VPS vamos a seguir los siguientes pasos:
Actualizaciones del VPS
sudo apt update sudo apt upgrade
Añadir usuarios de Odoo
sudo adduser --system --group admodoo1 --home /opt/admodoo1 sudo adduser --system --group admodoo2 --home /opt/admodoo2
Instalar dependencias
sudo apt install build-essential wget git python3-pip python3-dev python3-venv python3-wheel libfreetype6-dev libxml2-dev libzip-dev libsasl2-dev python3-setuptools libjpeg-dev zlib1g-dev libpq-dev libxslt1-dev libldap2-dev libtiff5-dev libopenjp2-7-dev wkhtmltopdf
Bases de datos para 2 instancias de Odoo
Instalar PostgreSQL
sudo apt install postgresql
Crear usuarios PostgreSQL
su - postgres -c "createuser --createdb --username postgres --no-createrole --no-superuser --no-password admodoo1"
su - postgres -c "createuser --createdb --username postgres --no-createrole --no-superuser --no-password admodoo2"
Instalar Odoo 1
sudo su - admodoo1 -s /bin/bash
git clone https://www.github.com/odoo/odoo --depth 1 --branch 16.0 --single-branch /opt/admodoo1
python3 -m venv admodoo1-venv
source admodoo1-venv/bin/activate
debería verse esto:
(admodoo1-venv) admodoo1@ubuntu22:~$
Seguimos desarrollando cómo instalar dos instancias de Odoo en un VPS:
pip3 install wheel
pip3 install -r /opt/admodoo1/requirements.txt
deactivate
mkdir /opt/admodoo1/custom-addons
exit
Instalar Odoo 2
sudo su - admodoo2 -s /bin/bash
git clone https://www.github.com/odoo/odoo --depth 1 --branch 16.0 --single-branch /opt/admodoo2
python3 -m venv admodoo2-venv
source admodoo2-venv/bin/activate
debería verse esto:
(admodoo2-venv) admodoo2@ubuntu22:~$
Seguimos con la instalación:
pip3 install wheel
pip3 install -r /opt/admdoo2/requirements.txt
deactivate
mkdir /opt/admodoo2/custom-addons
exit
Para saber cómo instalar dos instancias de Odoo en un VPS, debemos conocer la configuración de Odoo.
Configurar Odoo 1
sudo nano /etc/admodoo1.conf
poner aquí:
[options] admin_passwd = Password db_host = False db_port = False db_user = admodoo1 db_password = False addons_path = /opt/admodoo1/addons,/opt/admodoo1/custom-addons xmlrpc_port = 8069
Crear Systemd para Odoo 1
sudo nano /etc/systemd/system/admodoo1.service
poner aquí
[Unit] Description=admodoo1 Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=admodoo1 PermissionsStartOnly=true User=admodoo1 Group=admodoo1 ExecStart=/opt/admodoo1/admodoo1-venv/bin/python3 /opt/admodoo1/odoo-bin -c /etc/admodoo1.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Configurar Odoo 2
sudo nano /etc/admodoo2.conf
poner aquí:
[options] admin_passwd = Password db_host = False db_port = False db_user = admodoo2 db_password = False addons_path = /opt/admodoo2/addons,/opt/admodoo2/custom-addons xmlrpc_port = 8070
Crear Systemd para Odoo 2
sudo nano /etc/systemd/system/admodoo2.service
poner aquí
[Unit] Description=admodoo2 Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=admodoo2 PermissionsStartOnly=true User=admodoo2 Group=admodoo2 ExecStart=/opt/admodoo2/admodoo2-venv/bin/python3 /opt/admodoo2/odoo-bin -c /etc/admodoo2.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Encender las dos instancias de Odoo
sudo systemctl daemon-reload
sudo systemctl start admodoo1
sudo systemctl start admodoo2
Comprobar
sudo systemctl status admodoo1
sudo systemctl status admodoo2
Configurar NGINX
sudo apt -y install nginx
sudo nano /etc/nginx/sites-enabled/odoo1.aigen.org
Odoo1
server { listen 80; server_name odoo1.aigen.org; location / { proxy_pass http://localhost:8069; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } return 301 https://$host$request_uri; }
Odoo2
server { listen 80; server_name odoo2.aigen.org; location / { proxy_pass http://localhost:8070; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } return 301 https://$host$request_uri; }
Certificados SSL
Instalar Certbox
sudo snap install core; sudo snap refresh core
sudo apt remove certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo nginx -t
sudo systemctl reload nginx
Configuración del Firewall del VPS
sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'
Let’s Encript Odoo1
sudo certbot --nginx -d odoo1.aigen.org
sudo systemctl status snap.certbot.renew.service
sudo certbot renew --dry-run
Let’s Encript Odoo2
sudo certbot --nginx -d odoo2.aigen.org
sudo systemctl status snap.certbot.renew.service
sudo certbot renew --dry-run
Consejos sobre cómo instalar dos instancias de Odoo en un VPS
De este modo conseguiremos tener 2 Instancias de Odoo en un VPS independientes. Es importante tener en cuenta elementos como la capacidad del propio VPS y el uso que se le va a dar.
Tener 2 instancias de odoo en 1 VPS conlleva un mínimo recomendable de 2 cores y 4 Gigas para un uso más o menos normal de varios módulos de Odoo.
Desde Aigen Digital Marketing les recomendamos, no obstante, un VPS para cada una de las instancias, completamente independientes. Su gestión es muhco más ágil, se ahorran problemas en la configuración y, en caso de caída, se aísla el problema.
Ventajas de tener dos instancias de Odoo en un VPS
Tener dos instancias de Odoo en el mismo VPS puede presenta estas ventajas:
- Aislamiento de datos: Cada instancia de Odoo puede tener su propia base de datos separada, lo que garantiza el aislamiento de datos entre diferentes proyectos, departamentos o clientes.
- Personalización independiente: Al tener dos instancias separadas, se puede personalizar y configurar cada una de ellas de acuerdo a los requerimientos específicos de cada proyecto o cliente, sin interferir con la configuración de la otra instancia.
- Flexibilidad de versiones: Se pueden ejecutar diferentes versiones de Odoo en cada instancia, lo que te permite probar nuevas características o mantener la compatibilidad con versiones anteriores según sea necesario.
- Escalabilidad: En caso de un aumento en la carga de trabajo en uno de los proyectos, se pueden asignar recursos adicionales a esa instancia sin afectar al rendimiento de la otra instancia.
- Respaldo y recuperación independientes: Al tener instancias separadas, se pueden hacer copias de seguridad y restauraciones de manera independiente para cada una, lo que facilita la gestión de la recuperación en caso de problemas.
- Desarrollo y pruebas separados: Es posible usar una instancia para el desarrollo y pruebas de nuevas funcionalidades o personalizaciones sin afectar el entorno de producción de la otra instancia.
- Seguridad: Al tener instancias separadas, es posible aplicar políticas de seguridad específicas a cada una, lo que ayuda a reducir el riesgo de acceso no autorizado o de comprometer todo el sistema si una instancia se ve comprometida.
Por tanto, tener dos instancias de Odoo en la misma VPS proporciona flexibilidad, personalización independiente y una mayor capacidad de gestión para adaptarse a diferentes proyectos, clientes o requisitos.
Aigen Digital Marketing y Odoo
En Aigen Digital Marketing somos expertos en la configuración, adaptación y optimización de proyectos de Odoo.
Si quiere implementar un sistema de CRM o ERP en su empresa, no dude en consultarnos haciendo clic aquí.