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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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í.