Odoo es un software de gestión empresarial con origen belga enfocado en ofrecer una solución intuitiva, completa, totalmente integrada y fácilmente actualizable. Por eso es muy popular entre los administradores de sistemas que lo ven como la solución ideal para solucionar problemas en sus empresas. Hoy aprenderá cómo instalar Odoo 14 en CentOS 8 con esta publicación paso a paso.
Instalar Odoo 14 en CentOS 8
La instalación de Odoo no es muy compleja pero sí requiere de algunos pasos que tenemos que cuidar. Así que cada uno de ellos tenemos que hacerlo con cuidado
Instalar algunos paquetes necesarios
Antes de comenzar el proceso de instalación, debemos instalar algunos paquetes necesarios como git
o el editor de texto nano que nos ayudará con la edición de archivos. Además, tenemos que instalar algunas herramientas de compilación de Python.
Para hacer esto, conéctese a su servidor y actualícelo.
sudo dnf update
Entonces, instale los paquetes necesarios ejecutando el siguiente comando:
sudo dnf install python3 python3-devel nano git gcc redhat-rpm-config libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel
Una vez finalizado el proceso, podemos continuar con el siguiente paso.
Instalar PostgreSQL en CentOS 8
Odoo trabaja con PostgreSQL, que para muchos es el mejor administrador de base de datos OpenSource. Para instalarlo en CentOS 8 solo debemos ejecutar el siguiente comando:
sudo dnf install @postgresql:12
Después de eso, tenemos que iniciar la base de datos predeterminada.
sudo postgresql-setup initdb
Y luego, inicie y habilite el servicio. De esta manera, se iniciará junto con el sistema. De esta manera, cuando reinicie el servidor, PostgreSQL se iniciará automáticamente.
Luego, debe crear un nuevo usuario para Odoo en PostgreSQL. Esto es para evitar usar el usuario root.
sudo su - postgres -c "createuser -s odoouser"
Reemplazar odoouser
con el nombre de usuario que prefieras.
Ahora PostgreSQL estará listo para la instalación de Odoo.
Instalar wkhtmltopdf
wkhtmltopdf es una herramienta que nos permite transformar sitios HTML a PDF pero es utilizada por Odoo para la generación de varios reportes. Por lo tanto, es conveniente instalarlo.
Todo el proceso se resume ejecutando el siguiente comando:
sudo dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm
De esta forma, el paquete wkhtmltopdf se descarga e instala.
Creando un nuevo usuario del sistema
Se recomienda no trabajar con un usuario habitual del sistema. Entonces tendremos que crear uno nuevo y configurar /opt/odoouser
como su directorio de inicio. Por supuesto, puede definir otra ubicación.
sudo useradd -m -U -r -d /opt/odoouser -s /bin/bash odoouser
Recuerda también que puedes cambiar el nombre odoouser
a lo que prefieras.
Puedes asignar una contraseña si lo consideras necesario
sudo passwd odoouser
Ahora que se creó el usuario, use el comando su para cambiar la sesión a este usuario creado.
sudo su - odoouser
Instalar Odoo en CentOS 8
Ahora es el momento de instalar Odoo. Para hacer esto, descárgalo usando git
en el directorio de inicio del usuario creado.
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoouser/odoo
Accede a la carpeta creada y crea un entorno virtual de Python
cd /opt/odoouser python3 -m venv venv
Active el entorno virtual ejecutando:
source venv/bin/activate
E instala Odoo:
pip3 install -r odoo/requirements.txt
Al final del proceso, desactive el entorno virtual.
deactivate
Ahora cree una carpeta donde se ubicarán los complementos personalizados.
mkdir /opt/odoouser/odoo-custom-addons
Ahora vuelva a iniciar sesión como usuario habitual.
exit
Configurar Odoo en CentOS 8
Con Odoo instalado, ahora queda hacer las configuraciones para que podamos usarlo. En definitiva, la primera configuración que tenemos que hacer es la conexión a la base de datos.
Entonces, en el archivo odoo14.conf
sudo nano /etc/odoo14.conf
Agrega el siguiente contenido:
[options] admin_passwd = superadmin_passwd db_host = False db_port = False db_user = odoouser db_password = False addons_path = /opt/odoo14/odoo/addons, /opt/odoo14/odoo-custom-addons
Allí configuramos la contraseña de administrador en PostgreSQL y el usuario. Los parámetros con valores false
indicar que los agregaremos a través de la interfaz web. Y en el addons_path
agregue la ruta a los complementos personalizados que creamos anteriormente.
Guarde los cambios y cierre el archivo.
El siguiente paso es crear un servicio para administrar correctamente Odoo. Entonces, los procesos de inicio, reinicio o detención serán como cualquier otro servicio en el sistema.
Para hacer esto, cree el archivo odoo14.service
en el directorio de servicios systemd.
sudo nano /etc/systemd/system/odoo14.service
Y agregue el siguiente contenido
[Unit] Description=Odoo14 Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=odoo14 PermissionsStartOnly=true User=odoouser Group=odoouser ExecStart=/opt/odoouser/venv/bin/python3 /opt/odoouser/odoo/odoo-bin -c /etc/odoo14.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Presta mucha atención al odoouser
, group
y ExecStart
valores donde hay que indicar el nombre de usuario creado.
De nuevo, guarde los cambios y cierre el editor.
Luego, actualice la lista de servicios
sudo systemctl daemon-reload
Ahora inicie y habilite Odoo para que junto con el sistema se inicie.
sudo systemctl enable --now odoo14
Y puede comprobar el estado del servicio ejecutando:
sudo systemctl status odoo14
Opcional:Configure Nginx como Reverse Proxy y asegúrelo con SSL
En este punto del tutorial, ahora puede acceder desde un navegador web a http://your-server:8069
y acceder a la pantalla de instalación. Por supuesto, este puerto y el puerto 8072
tiene que estar abierto en el firewall, pero es conveniente crear un Proxy Inverso para facilitar el acceso y habilitar HTTPS. Para esto, necesita tener un dominio disponible.
Entonces, instala Nginx
sudo dnf install nginx
Para generar certificados SSL tenemos que instalar Certbot. Para ello habilite el repositorio Epel.
sudo dnf install epel-release
Ahora instala el snapd
paquete.
sudo dnf install snapd
Inicie el servicio y haga que se ejecute al inicio:
sudo systemctl enable --now snapd.socket
Haga un enlace simbólico de las bibliotecas snapd al sistema.
sudo ln -s /var/lib/snapd/snapd/snapd/snap /snap
Usa snap para instalar core
y luego certbot
.
sudo snap install core sudo snap install --classic certbot
Crea un enlace simbólico del binario de Certbot al sistema para que podamos usarlo sin problemas:
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Ahora sí, hazte con el certificado:
sudo certbot --redirect --hsts --staple-ocsp --agree-tos --email youremail --nginx -d yourdomain
Reemplace youremail
y yourdomain
con tus datos correctos. Cuando haya terminado, debería tener los certificados.
El siguiente paso es crear un archivo de configuración nginx para odoo.
sudo nano /etc/nginx/conf.d/domain.com
Reemplace domain.com
con tu dominio y añade el siguiente contenido
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
server {
listen 80;
server_name www.domain.com domain.com;
include snippets/letsencrypt.conf;
return 301 https://domain.com$request_uri;
}
server {
listen 443 ssl http2;
server_name www.domain.com;
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/domain.com/chain.pem;
include snippets/ssl.conf;
return 301 https://domain.com$request_uri;
}
server {
listen 443 ssl http2;
server_name domain.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
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_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/domain.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
location /longpolling {
proxy_pass http://odoochat;
}
location / {
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;
}
No olvide reemplazar domain.com
con su nombre de dominio.
Guarde los cambios y cierre el editor.
Finalmente, inicie y habilite nginx.
sudo systemctl enable --now nginx.socket
Para que esto funcione, debe agregar un detalle en la configuración de odoo. Abra el archivo de configuración:
sudo nano /etc/odoo14.conf
Y agregue la siguiente línea:
proxy_mode = True
Salga del editor guardando los cambios y aplíquelos reiniciando el servicio Odoo.
sudo systemctl restart odoo14
Instalando Odoo usando la interfaz web
Ahora puede abrir su navegador web e ir a https://your-domain
y configurar Odoo. En esta pantalla, debe agregar la información de configuración respectiva, como el nombre de la base de datos, el idioma, el correo electrónico y dos contraseñas, la maestra y la contraseña de PostgreSQL.
Con esto, Oddo estará en funcionamiento.
Conclusión
Odoo es uno de los CRM más importantes que existen y aprender a instalarlo en un servidor CentOS 8 no es una tarea tan difícil como podría pensar. Sin embargo, toma un poco de tiempo ponerlo en funcionamiento en su sistema.