Saltar al contenido
Todo sobre trucos y tutoriales de Android

Cómo instalar Odoo 14 en Ubuntu 20.04

Odoo es un conjunto de aplicaciones comerciales de código abierto. Consiste en CRM, comercio electrónico, inventario, punto de venta, gestión de proyectos y más. Estas aplicaciones están completamente integradas y se accede a ellas a través de una interfaz web común. Con Odoo puede integrar sus aplicaciones y facilitar la vida empresarial.

Hay dos ediciones de Oddo: la versión Community y Enterprise. La edición Community es gratuita para todos.

Odoo tiene pocas opciones de instalación, como desde el repositorio APT, usando Docker o instalando en un entorno virtual.

En este tutorial, explicamos cómo instalar Odoo 14 CE sobre Ubuntu 20.04 dentro de un entorno virtual Python. Odoo alojado en Nginx como proxy de terminación SSL con certificado Let’s Encrypt.

requisitos previos

  1. Una instancia de Ubuntu 20.04 con un mínimo de 2 GB de RAM
  2. Para la gestión de bases de datos Odoo requiere PostgreSQL
  3. Un usuario no root con privilegios de sudo

Paso 1. Instalación de dependencias

Primero, actualice su sistema.

sudo apt update
sudo apt upgrade

El siguiente comando instalará todas las dependencias de Odoo.


sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libfreetype6-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less libjpeg-dev zlib1g-dev libpq-dev libxslt1-dev libldap2-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev

Paso 2. Creación de un usuario del sistema

Para ejecutar Odoo necesitaremos crear un nuevo sistema usuario y grupo con un directorio de inicio en la ruta /opt/odoo14 que deberá poder ejecutar un servicio Odoo.

sudo useradd -m -d /opt/odoo14 -U -r -s /bin/bash odoo14

Paso 3. Instalar y configurar PostgreSQL

Primero, instale PostgreSQL usando apt.

sudo apt install postgresql

Una vez que se complete la instalación de PostgreSQL, tendremos que crear un usuario PostgreSQL. Tenga en cuenta que vamos a utilizar el mismo nombre con el que creamos previamente un usuario del sistema. Eso es oddo14.

sudo su - postgres -c "createuser -s odoo14"

Paso 4. Instalación de wkhtmltopdf

wkhtmltopdf – es una herramienta de línea de comandos de código abierto que admite la representación de páginas HTML en PDF y otros formatos similares.

Para poder imprimir formatos PDF e informes en Odoo, deberá instalar el paquete wkhtmltopdf.

Primero, descargue el paquete usando el comando wget.



sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb

Una vez que se complete la descarga, instale wkhtmltopdf usando el comando apt:

sudo apt install ./wkhtmltox_0.12.6-1.bionic_amd64.deb

Paso 5. Instalar y configurar Odoo 14

Como mencionamos en la introducción, instalaremos Odoo desde la fuente como un entorno virtual de Python aislado.

Primero, cambie un usuario a odoo14 con el siguiente comando.

sudo su - odoo14

Para clonar el odoo 14 código fuente oficial de GitHub, escriba:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo14/odoo

Luego cambie el directorio a /opt/odoo14

cd /opt/odoo14

A partir de ahí, cree un nuevo entorno virtual de Python para Odoo con el siguiente comando.

python3 -m venv odoo-venv

Y activar el entorno virtual.

source odoo-venv/bin/activate

Después de activar el entorno virtual, instale todos los módulos de Python necesarios con pip3.

(odoo-venv) $ pip3 install wheel

e instalar

(odoo-venv) $ pip3 install -r odoo/requirements.txt

Esto puede llevar algún tiempo, cuando termine, desactive el entorno con el siguiente comando.

(odoo-venv) $ deactivate

Cree un nuevo directorio en la ruta /opt/odoo14, que contendrá los complementos de terceros que vamos a incluir en la configuración.

mkdir /opt/odoo14/odoo-custom-addons

Agregaremos este directorio al parámetro addons_path. Este parámetro definirá una lista de directorios donde Odoo buscará módulos.

A continuación, salga del usuario de odoo y vuelva a cambiar a su usuario de sudo.

exit

Cree un archivo de configuración:

sudo nano /etc/odoo14.conf

Y pasado los siguientes contenidos en el archivo:

[options]
 ; This is the password that allows database operations:
 admin_passwd = put_your_secure_password
 db_host = False
 db_port = False
 db_user = odoo14
 db_password = False
 addons_path = /opt/odoo14/odoo/addons,/opt/odoo14/odoo-custom-addons

Paso 6. Cree un archivo de unidad Systemd

Crear un archivo de la unidad de servicio llamado odoo14.service en el directorio /etc/systemd/system/.

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

Y pasada la siguiente configuración:

[Unit] 
Description=Odoo14
Requires=postgresql.service 
After=network.target postgresql.service 

[Service] 
Type=simple 
SyslogIdentifier=odoo14 
PermissionsStartOnly=true 
User=odoo14 
Group=odoo14 
ExecStart=/opt/odoo14/odoo-venv/bin/python3 /opt/odoo14/odoo/odoo-bin -c /etc/odoo14.conf 
StandardOutput=journal+console 

[Install] 
WantedBy=multi-user.target 

Dígale a systemd que se ha creado un nuevo archivo de unidad.

sudo systemctl daemon-reload

E inicie el servicio Odoo y habilítelo para que se inicie en el arranque con el siguiente comando:

sudo systemctl enable --now odoo14

Producción:

Created symlink /etc/systemd/system/multi-user.target.wants/odoo14.service → /etc/systemd/system/odoo14.service.

Verificar el estado del servicio:

sudo systemctl status odoo14

El resultado que muestra que el servicio Odoo está en funcionamiento:

● odoo14.service - Odoo14
      Loaded: loaded (/etc/systemd/system/odoo14.service; enabled; vendor preset: enabled)
      Active: active (running) since Thu 2021-07-22 00:42:45 UTC; 48s ago
    Main PID: 149632 (python3)
       Tasks: 4 (limit: 1073)
      Memory: 63.7M
      CGroup: /system.slice/odoo14.service
              └─149632 /opt/odoo14/odoo-venv/bin/python3 /opt/odoo14/odoo/odoo-bin -c /etc/odoo14.conf

 Jul 22 00:42:45 li1129-224 systemd[1]: Started Odoo14.
 Jul 22 00:42:45 li1129-224 odoo14[149632]: 2021-07-22 00:42:45,927 149632 INFO ? odoo: Odoo version 14.0
 Jul 22 00:42:45 li1129-224 odoo14[149632]: 2021-07-22 00:42:45,932 149632 INFO ? odoo: Using configuration file at /etc/odoo14.conf
 Jul 22 00:42:45 li1129-224 odoo14[149632]: 2021-07-22 00:42:45,932 149632 INFO ? odoo: addons paths: ['/opt/odoo14/odoo/odoo/addons', '/opt/odoo14/.local/share/Odoo/addons/14.0', '/opt/odoo14/odoo/addons', '/opt/odoo14/odoo-custom-addons>
 Jul 22 00:42:45 li1129-224 odoo14[149632]: 2021-07-22 00:42:45,932 149632 INFO ? odoo: database: odoo14@default:default
 Jul 22 00:42:46 li1129-224 odoo14[149632]: 2021-07-22 00:42:46,525 149632 INFO ? odoo.service.server: HTTP service (werkzeug) running on linoxide:8069

Para ver los mensajes que ha registrado el servicio Odoo, ejecute:

sudo journalctl -u odoo14

Producción:

-- Logs begin at Tue 2021-07-13 12:50:08 UTC, end at Thu 2021-07-22 00:45:23 UTC. --
 Jul 22 00:42:45 li1129-224 systemd[1]: Started Odoo14.
 Jul 22 00:42:45 li1129-224 odoo14[149632]: 2021-07-22 00:42:45,927 149632 INFO ? odoo: Odoo>
 Jul 22 00:42:45 li1129-224 odoo14[149632]: 2021-07-22 00:42:45,932 149632 INFO ? odoo: Usin>
 Jul 22 00:42:45 li1129-224 odoo14[149632]: 2021-07-22 00:42:45,932 149632 INFO ? odoo: addo>
 Jul 22 00:42:45 li1129-224 odoo14[149632]: 2021-07-22 00:42:45,932 149632 INFO ? odoo: data>
 Jul 22 00:42:46 li1129-224 odoo14[149632]: 2021-07-22 00:42:46,210 149632 INFO ? odoo.addon>
 Jul 22 00:42:46 li1129-224 odoo14[149632]: 2021-07-22 00:42:46,525 149632 INFO ? odoo.servi>

Abre tu navegador y escribe: http://<your_domain_or_IP_address>:8069

Iniciar sesión en Odoo14

Poner Contraseña maestra que definió previamente en la ruta de configuración /etc/odoo14.conf, e ingrese otras credenciales para crear una base de datos.

Tablero Odoo14

Una vez que la base de datos se haya creado correctamente, se redirigirá al Panel de control de Odoo14.

Paso 7. Configuración de Nginx como proxy de terminación SSL (opcional)

Si desea que Odoo sea más seguro para su entorno, podemos establecer Nginx como proxy de terminación SSL que servirá el tráfico a través de HTTPS, en lugar del tráfico web predeterminado de Odoo a través de HTTP.

SSL Termination Proxy presenta un servidor proxy que manejará el cifrado SSL. En nuestro caso, el proxy de terminación es Nginx, procesará y descifrará las conexiones TLS entrantes (HTTPS) y pasará la solicitud sin cifrar al servicio Odoo.

requisitos previos

  1. Nombre de dominio que apunta a la IP de su servidor público
    Para este artículo usaremos example.conf
  2. Nginx instalado
  3. Vamos a cifrar el certificado SSL

Asegúrese de comprobar que tiene Let’s Encrypt en funcionamiento o algún otro certificado SSL configurado correctamente.

Para instalar Let’s Encrypt SSL certificado primero necesitamos instalar certbot:

# apt install certbot
# apt install python3-certbot-nginx

A continuación, ejecute el siguiente comando con el nombre de dominio example.com y complete la información requerida:


# certbot --nginx -d example.com -d www.example.com

Producción:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel):

1. Crear o editar el bloque del servidor de dominio

sudo nano /etc/nginx/sites-enabled/example.com.conf

Y pasada la siguiente configuración:

# Odoo servers
 upstream odoo {
  server 127.0.0.1:8069;
 }

 upstream odoochat {
  server 127.0.0.1:8072;
 }

 # HTTP -> HTTPS
 server {
     listen 80;
     server_name www.example.com example.com;
     return 301 https://example.com$request_uri;
 }

 # WWW -> NON WWW
 server {
     listen 443 ssl http2;
     server_name www.example.com;

     ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
     ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
     ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

     return 301 https://example.com$request_uri;
 }

 server {
     listen 443 ssl http2;
     server_name example.com;
     
     proxy_read_timeout 720s; 
     proxy_connect_timeout 720s;
     proxy_send_timeout 720s;
 
# Proxy headers
     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;

# SSL parameters
     ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
     ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
     ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

# log files
 access_log /var/log/nginx/odoo.access.log; 
  error_log /var/log/nginx/odoo.error.log;

# Handle longpoll requests
     location /longpolling {
         proxy_pass http://odoochat;
     }
            
# Handle / requests
            location / {
                      proxy_redirect off;
         proxy_pass http://odoo;
            }
            
# Cache static files
             location ~* /web/static/ {
                       proxy_cache_valid 200 90m;
                       proxy_buffering on;
                       expires 864000;
                       proxy_pass http://odoo;
            }

# Gzip
 gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
 gzip on;
} 

NOTA: No olvide reemplazar example.com con su dominio Odoo y establezca la ruta correcta a los archivos del certificado SSL.

2. Reinicie el servicio Nginx

sudo systemctl restart nginx

Después de reiniciar el servicio Nginx, necesitaremos decirle a Odoo que use este proxy configurado.

3. Abra el archivo de configuración.

sudo nano /etc/odoo14.conf

4. Y añade la siguiente línea.

proxy_mode = True

5. Finalmente, reinicie el servicio Odoo.

sudo systemctl restart odoo14

Si siguió todos los pasos, podrá acceder a su instancia web de Odoo en https://example.com

Conclusión

En este tutorial, aprendimos cómo instalar y configurar Odoo 14 en Ubuntu 20.04. Puede comenzar a descubrir cómo el ERP Odoo de código abierto es poderoso, también puede probar e investigar un ADempiere, otra solución ERP de código abierto que es similar a Odoo.

TE PUEDE INTERESAR:  Cómo instalar Spotify en distribuciones de Linux