En esta guía, le mostraremos cómo instalar Odoo 12 con Nginx como proxy inverso en un VPS Debian 10.
Odoo, también conocido como OpenERP, es una plataforma ERP gratuita y de código abierto. Es una de las plataformas ERP más populares disponibles gracias a su personalización y flexibilidad. Escrito en el lenguaje de programación Python, Odoo se usa para muchas aplicaciones comerciales, que incluyen canalización de ventas, gestión de proyectos, CRM, facturación, contabilidad, inventario y mucho más. Odoo también proporciona más de 10 000 módulos que cubren todas las necesidades de su negocio en una solución integral. Es compatible con muchos sistemas operativos, incluidos Linux, Windows y macOS.
Puede instalar Odoo de varias maneras, como usar sus repositorios oficiales, usar un script de instalación, usar Docker o Docker Compose y usar un entorno virtual. También puede ejecutar varias instancias de Odoo en un solo servidor con Docker o en un entorno virtual. Esto hace que todo sea bastante flexible, lo que permite que Odoo se ajuste a sus necesidades.
Instalación de Odoo 12 en Debian 10 debería tardar menos de 10 minutos en completarse. Comencemos con el tutorial.
Requisitos
- Un VPS Debian 10 con acceso raíz habilitado o un usuario con privilegios de sudo.
- Mínimo 2 GB de RAM y 2 núcleos de CPU para ejecutar 5 usuarios. Usaremos nuestro plan SSD 2 VPS.
- Un nombre de dominio válido apuntado con su dirección IP de VPS. En este tutorial, usaremos
example.com
como nombre de dominio.
Paso 1:Inicie sesión a través de SSH y actualice los paquetes
Inicie sesión en su Debian 10 VPS con SSH como usuario root:
ssh root@IP_Address -p Port_number
Reemplace "root" con un usuario que tenga privilegios sudo si es necesario. Además, reemplace "IP_Address" y "Port_Number" con la dirección IP y el número de puerto SSH respectivos de su servidor. A continuación, asegurémonos de que estamos en Debian 10. Puede hacerlo así:
# lsb_release -a
Debería obtener esto como salida:
Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster
Luego, ejecute el siguiente comando para asegurarse de que todos los paquetes instalados en el servidor estén actualizados a sus últimas versiones disponibles:
# apt update && apt upgrade
Paso 2:Instale las dependencias de Odoo 12
Antes de comenzar, necesitaremos instalar algunas dependencias necesarias para instalar Odoo 12. Puede instalar todas las dependencias ejecutando el siguiente comando:
apt-get install git wget build-essential node-less libjpeg-dev libpq-dev python3-pip python3-dev python3-venv python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools
Paso 3:Instalar wkhtmltopdf
Para convertir HTML en PDF y varios formatos de imagen, necesitaremos instalar wkhtmltopdf
herramienta. Puede descargar el wkhtmltopdf
paquete con el siguiente comando:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
Una vez descargado, extraiga e instale el paquete descargado usando el siguiente comando:
tar xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz mv wkhtmltox/bin/wkhtmlto* /usr/bin/ ln -nfs /usr/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf
Paso 4:Cree un usuario del sistema
A continuación, necesitaremos crear un nuevo usuario del sistema para ejecutar Odoo. Puede crear un nuevo usuario con el nombre odoo12
con el directorio de inicio establecido en /opt/odoo12
usando el siguiente comando:
useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12
Paso 5:Instalar PostgreSQL
Odoo usa una base de datos PostgreSQL para almacenar su información, por lo que debemos instalar y usar el servicio PostgreSQL.
Puede ejecutar el siguiente comando para instalar el servidor PostgreSQL:
apt-get install postgresql
Después de instalar PostgreSQL, cree un usuario de PostgreSQL con el mismo nombre que el nuevo usuario del sistema. Ejecute el siguiente comando para crear un usuario de PostgreSQL:
su - postgres -c "createuser -s odoo12"
Paso 6:Instalar y configurar Odoo 12
En esta sección, descargaremos Odoo 12 desde el repositorio de Git y lo instalaremos en un entorno virtual de Python.
Primero, inicia sesión como odoo12
usuario y descargue Odoo 12 desde el repositorio de Git:
su - odoo12 git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 odoo
Una vez que se complete la descarga, cree un nuevo entorno virtual de Python para la instalación de Odoo 12 con el siguiente comando:
python3 -m venv odoo-venv
A continuación, active el entorno virtual con el siguiente comando:
odoo12@debian:~$ source odoo-venv/bin/activate
Deberías obtener el siguiente resultado:
(odoo-venv) odoo12@debian:~$
Luego, instale los módulos requeridos usando el pip3
comando como se muestra a continuación:
(odoo-venv) odoo12@debian:~$ pip3 install wheel (odoo-venv) odoo12@debian:~$ pip3 install -r odoo/requirements.txt
Una vez que todos los módulos necesarios se hayan instalado correctamente, desactive el entorno virtual con el siguiente comando:
(odoo-venv) odoo12@debian:~$ deactivate
A continuación, cree un directorio separado para los complementos personalizados de Odoo 12:
mkdir /opt/odoo12/odoo-custom-addons
A continuación, salga de odoo12
usuario con el siguiente comando:
exit
A continuación, necesitaremos crear un archivo de configuración para la instancia de Odoo 12. Puede copiar el archivo de configuración de muestra con el siguiente comando:
cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf
A continuación, abra el archivo /etc/odoo12.conf
con editor nano:
nano /etc/odoo12.conf
Realice los siguientes cambios:
[options] ; This is the password that allows database operations: admin_passwd = password db_host = False db_port = False db_user = odoo12 db_password = False xmlrpc_port = 8069 addons_path = /opt/odoo12/odoo/addons,/opt/odoo12/odoo-custom-addons
Nota:reemplace 'contraseña' con una contraseña segura, odoo12 con el usuario del sistema Odoo y 8069 con el puerto en el que desea ejecutar Odoo. Es necesario si desea ejecutar varias instancias de Odoo en el mismo servidor.
A continuación, cambie la propiedad de /etc/odoo12.conf
a odoo12:
chown odoo12:odoo12 /etc/odoo12.conf
Paso 7:Cree un archivo de servicio de Systemd para Odoo 12
A continuación, necesitaremos crear un archivo de servicio systemd para administrar el servicio Odoo 12. Puede crearlo en el /etc/systemd/system/
directorio:
nano /etc/systemd/system/odoo12.service
Agregue las siguientes líneas:
[Unit] Description=Odoo12 Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=odoo12 PermissionsStartOnly=true User=odoo12 Group=odoo12 ExecStart=/opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Nota:cambie el usuario y el grupo con el usuario del sistema Odoo si difiere de nuestro usuario de ejemplo.
Guarde y cierre el archivo. Luego, vuelva a cargar el demonio systemd con el siguiente comando:
systemctl daemon-reload
A continuación, inicie el servicio odoo12 recién creado y habilítelo para que se inicie después de reiniciar el sistema con el siguiente comando:
systemctl start odoo12 systemctl enable odoo12
Ahora puede verificar el estado del servicio Odoo con el siguiente comando:
systemctl status odoo12
Deberías obtener el siguiente resultado:
● odoo12.service - Odoo12 Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2019-08-25 11:48:40 EDT; 7s ago Main PID: 13043 (python3) Tasks: 2 (limit: 1138) Memory: 63.8M CGroup: /system.slice/odoo12.service ├─13043 /opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf └─13046 /usr/local/bin/wkhtmltopdf --version Aug 25 11:48:40 debian systemd[1]: Started Odoo12. Aug 25 11:48:46 debian odoo12[13043]: 2019-08-25 15:48:46,062 13043 INFO ? odoo: Odoo version 12.0 Aug 25 11:48:46 debian odoo12[13043]: 2019-08-25 15:48:46,065 13043 INFO ? odoo: Using configuration file at /etc/odoo12.conf Aug 25 11:48:46 debian odoo12[13043]: 2019-08-25 15:48:46,073 13043 INFO ? odoo: addons paths: ['/opt/odoo12/.local/share/Odoo/addons/12.0', '/ Aug 25 11:48:46 debian odoo12[13043]: 2019-08-25 15:48:46,074 13043 INFO ? odoo: database: odoo12@default:default Aug 25 11:48:47 debian odoo12[13043]: 2019-08-25 15:48:47,600 13043 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf
También puede verificar el puerto de escucha de Odoo usando el siguiente comando:
netstat -plntu | grep 8069
Debería obtener la salida a continuación:
tcp 0 0 0.0.0.0:8069 0.0.0.0:* LISTEN 13208/python3
Paso 8:Instalar y configurar Nginx como proxy inverso
A continuación, necesitaremos configurar Nginx como un proxy inverso para reenviar la solicitud proveniente del puerto 80 a la instancia de Odoo 12 que está escuchando en el puerto 8069. Puede obtener muchos beneficios, incluido el equilibrio de carga, el almacenamiento en caché, la compresión y el servicio estático contenido utilizando un proxy inverso.
Primero, instale Nginx con el siguiente comando:
apt-get install nginx
Una vez instalado, cree un nuevo archivo de host virtual Nginx con el siguiente comando:
nano /etc/nginx/sites-available/example.com Add the following lines: upstream odoo { server 127.0.0.1:8069; } server { listen 80; server_name example.com; access_log /var/log/nginx/odoo12.access.log; error_log /var/log/nginx/odoo12.error.log; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_redirect off; proxy_pass http://odoo; } location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
Asegúrese de reemplazar ejemplo.com con su nombre de dominio registrado.
Guarde y cierre el archivo. Luego verifique Nginx por cualquier error de sintaxis con el siguiente comando:
nginx -t
Deberías obtener el siguiente resultado:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
A continuación, habilite el host virtual Nginx y reinicie el servicio Nginx para aplicar los cambios de configuración:
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ systemctl restart nginx
Paso 9:Acceda a la instancia de Odoo 12
Odoo 12 ahora está instalado y configurado. A continuación, abra su navegador web y escriba la URL http://example.com
. Será redirigido a la interfaz web de Odoo 12:
Ahora, proporcione la contraseña maestra de Odoo (que configuró en el archivo /etc/odoo12.conf
), nombre de la base de datos de Odoo, correo electrónico, contraseña, país, seleccione datos de demostración y haga clic en el botón Crear base de datos. Será redirigido al panel predeterminado de Odoo 12 como se muestra a continuación:
Eso es todo. Ha instalado correctamente Odoo 12 con Nginx como proxy inverso en un VPS Debian 10. En este punto, puede instalar varios complementos como facturación, contabilidad, inventario y muchos más según las necesidades de su negocio.
Por supuesto, no tiene que saber cómo instalar Odoo 12 en Debian 10 si tiene un plan de alojamiento VPS de Odoo con nosotros. Simplemente puede pedirle a nuestros administradores que instalen Odoo 12 en Debian 10 por usted. Están disponibles las 24 horas del día, los 7 días de la semana y podrán ayudarlo con la instalación de Odoo 12 en Debian 10.
PD . Si disfrutó leyendo esta publicación de blog sobre cómo instalar Odoo 12 en Debian 10 , o si encuentra útil el tutorial, siéntase libre de compartirlo en las redes sociales utilizando los accesos directos a continuación, o simplemente deje un comentario. Gracias.