Cómo instalar el software ERP Odoo en Ubuntu 22.04
Odoo, antes conocido como OpenERP, es uno de los principales software ERP utilizado para gestionar procesos empresariales. Viene con aplicaciones y módulos relacionados con la empresa como CRM, Ventas, facturación, contabilidad, fabricación, almacén y más. Es una buena solución ERP para pequeñas y medianas empresas. Odoo ERP se utiliza en muchos sectores, como empresas de fabricación, empresas de distribución, empresas de I+D, empresas de servicios, empresas de contabilidad, etc.
Este post te mostrará cómo instalar Odoo 15 ERP en Ubuntu 22.04.
Requisitos previos
- Un servidor con Ubuntu 22.04.
- Un nombre de dominio válido apuntado con la IP de tu servidor.
- Una contraseña de root configurada en el servidor.
Cómo empezar
Antes de empezar, se recomienda actualizar todos los paquetes del sistema a la última versión. Puedes actualizarlos ejecutando el siguiente comando:
apt update -y
Una vez actualizado el sistema, instala Python y otras dependencias mediante el siguiente comando:
apt install python3-pip wget python3-dev python3-venv python3-wheel libxml2-dev libpq-dev libjpeg8-dev liblcms2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential git libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev libblas-dev libatlas-base-dev -y
Una vez instaladas todas las dependencias de Python, instala el paquete wkhtmltopdf con el siguiente comando:
apt-get install wkhtmltopdf -y
A continuación, verifica la versión de wkhtmltopdf utilizando el siguiente comando:
wkhtmltopdf --version
Deberías ver la siguiente salida:
wkhtmltopdf 0.12.6
Odoo utiliza PostgreSQL como base de datos, por lo que también tendrás que instalarlo en tu servidor. Puedes instalarlo utilizando el siguiente comando:
apt install postgresql -y
Una vez instalado el PostgreSQL, crea un usuario PostgreSQL para Odoo usando el siguiente comando:
su - postgres -c "createuser -s odoo15"
Instalar y Configurar Odoo 15
Antes de empezar, es buena idea crear un usuario dedicado para ejecutar la instancia de Odoo. Puedes crear un nuevo usuario llamado odoo15 utilizando el siguiente comando:
useradd -m -d /opt/odoo15 -U -r -s /bin/bash odoo15
Una vez creado el usuario, cambia el usuario a Odoo15 y descarga la última versión de Odoo con el siguiente comando:
su - odoo15 git clone https://www.github.com/odoo/odoo --depth 1 --branch 15.0 /opt/odoo15/odoo
A continuación, cambia el directorio a Odoo15 y crea un entorno virtual Python utilizando el siguiente comando:
cd /opt/odoo15 python3 -m venv odoo15-venv
A continuación, activa el entorno virtual utilizando el siguiente comando:
source odoo15-venv/bin/activate
A continuación, instala el paquete wheel con el siguiente comando:
pip3 install wheel
A continuación, edita el archivo requirements.txt y actualiza algunos requisitos:
nano /opt/odoo15/odoo/requirements.txt
Cambia las siguientes líneas:
gevent>=20.9.0 ; python_version >= '3.8' greenlet>=0.4.17 ; python_version > '3.7'
Guarda y cierra el archivo y, a continuación, instala todas las dependencias utilizando el siguiente comando:
pip3 install -r odoo/requirements.txt
Una vez instaladas todas las dependencias, desactívate del entorno virtual utilizando el siguiente comando:
deactivate
A continuación, crea un directorio para almacenar los addons de Odoo y sal del usuario Odoo con el siguiente comando:
mkdir /opt/odoo15/custom-addons exit
A continuación, edita el archivo de configuración de Odoo con el siguiente comando:
nano /etc/odoo15.conf
Añade las siguientes líneas:
[options] ; This is the password that allows database operations: admin_passwd = adminpassword db_host = False db_port = False db_user = odoo15 db_password = False xmlrpc_port = 8069 logfile = /var/log/odoo15/odoo.log addons_path = /opt/odoo15/odoo/addons,/opt/odoo15/custom-addons
Guarda y cierra el archivo, luego crea un directorio para almacenar el registro de Odoo y cambia la propiedad:
mkdir /var/log/odoo15 chown odoo15:root /var/log/odoo15
Crear un archivo de servicio Systemd para Odoo 15
A continuación, tendrás que crear un archivo de servicio systemd para gestionar el servicio Odoo. Puedes crearlo con el siguiente comando:
nano /etc/systemd/system/odoo15.service
Añade las siguientes líneas:
[Unit] Description=Odoo15 Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=odoo15 PermissionsStartOnly=true User=odoo15 Group=odoo15 ExecStart=/opt/odoo15/odoo15-venv/bin/python3 /opt/odoo15/odoo/odoo-bin -c /etc/odoo15.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Guarda y cierra el archivo y luego recarga el demonio systemd con el siguiente comando:
systemctl daemon-reload
A continuación, inicia el servicio Odoo y habilítalo para que se inicie al reiniciar el sistema:
systemctl enable --now odoo15
Ahora puedes comprobar el estado del servicio Odoo con el siguiente comando:
systemctl status odoo15
Deberías ver el estado activo de la instancia de Odoo en la siguiente salida:
? odoo15.service - Odoo15 Loaded: loaded (/etc/systemd/system/odoo15.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2022-05-22 10:08:36 UTC; 9s ago Main PID: 74016 (python3) Tasks: 4 (limit: 2292) Memory: 110.3M CPU: 1.403s CGroup: /system.slice/odoo15.service ??74016 /opt/odoo15/odoo15-venv/bin/python3 /opt/odoo15/odoo/odoo-bin -c /etc/odoo15.conf May 22 10:08:36 ubuntu2204 systemd[1]: Started Odoo15.
Configurar Nginx como Proxy Inverso para Odoo
Es una buena idea configurar Nginx como proxy inverso para Odoo. Primero, instala el paquete Nginx utilizando el siguiente comando:
apt-get install nginx -y
Una vez instalado Nginx, crea un archivo de configuración de host virtual Nginx para Odoo:
nano /etc/nginx/conf.d/odoo15.conf
Añade las siguientes líneas:
# Odoo servers upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } server { listen 80; server_name odoo15.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; # 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; }
Guarda y cierra el archivo y luego verifica que el Nginx no tenga ningún error de configuración de sintaxis:
nginx -t
Deberías ver la siguiente salida:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Por último, reinicia el servicio Nginx para aplicar los cambios:
systemctl restart nginx
A continuación, edita el archivo de configuración de Odoo y activa la configuración del proxy:
nano /etc/odoo15.conf
Añade la siguiente línea:
proxy_mode = True
Guarda y cierra el archivo y reinicia el servicio Odoo para aplicar los cambios:
systemctl restart odoo15
Ahora puedes verificar el estado de Nginx utilizando el siguiente comando:
systemctl status nginx
Obtendrás la siguiente salida:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2022-05-22 10:10:55 UTC; 18s ago Docs: man:nginx(8) Process: 74717 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 74718 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 74719 (nginx) Tasks: 2 (limit: 2292) Memory: 2.6M CPU: 28ms CGroup: /system.slice/nginx.service ??74719 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ??74720 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" May 22 10:10:55 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server... May 22 10:10:55 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.
Una vez que hayas terminado, puedes proceder a acceder a la interfaz web de Odoo 15.
Acceder a la interfaz web de Odoo 15
Ahora, abre tu navegador web y accede a la interfaz web de Odoo 15 usando la URL http://odoo15.example.com. Deberías ver la página de configuración de la base de datos de Odoo 15:
Proporciona tu contraseña maestra de Odoo, correo electrónico y base de datos, y haz clic en el botón Crear Base de Datos. Deberías ver el panel de control de Odoo 15 en la siguiente página:
Conclusión
Enhorabuena! has instalado con éxito Odoo 15 con Nginx como proxy inverso en Ubuntu 22.04. Ahora puedes utilizar Odoo en tu empresa y empezar a gestionar los procesos de negocio. No dudes en preguntarme si tienes alguna duda.