Cómo instalar Odoo en Alma Linux
Odoo es una suite de aplicaciones empresariales gratuita, de código abierto y una de las más populares, que ayuda a las organizaciones a dirigir y gestionar sus negocios. Ofrece una amplia gama de funciones, como CRM, facturación, contabilidad, fabricación, almacén, inventario, gestión de proyectos y mucho más. Está escrito en Python y utiliza PostgreSQL como base de datos. Si buscas una aplicación CRM y ERP de código abierto para gestionar tu empresa, Odoo es la mejor opción.
Este post explicará la instalación de Odoo con Nginx en Alma Linux 8.
Requisitos previos
- Un servidor que ejecute Alma Linux 8.
- Un nombre de dominio válido está vinculado a la IP de tu servidor.
- Una contraseña de root está configurada en el servidor.
Instalar las dependencias necesarias
Antes de empezar, debes instalar Python, PostgreSQL y otras dependencias en tu servidor. En primer lugar, instala Python y otras dependencias utilizando el siguiente comando:
dnf install python3 python3-devel git gcc git redhat-rpm-config libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel -y
A continuación, instala el paquete wkhtmltopdf con el siguiente comando:
dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm
A continuación, instala el servidor de bases de datos PostgreSQL con el siguiente comando:
dnf install @postgresql:12 -y
Una vez instalado PostgreSQL, puedes inicializar la base de datos con el siguiente comando:
/usr/bin/postgresql-setup initdb
A continuación, inicia y habilita el servicio PostgreSQL con el siguiente comando:
systemctl start postgresql systemctl enable postgresql
A continuación, tendrás que crear un usuario para Odoo en PostgreSQL. Puedes crearlo utilizando el siguiente comando:
su - postgres -c "createuser -s odoo14"
Una vez que hayas terminado, puedes proceder al siguiente paso.
Instalar Odoo14 en Alma Linux 8
Primero, crea un usuario dedicado para ejecutar Odoo utilizando el siguiente comando:
useradd -m -U -r -d /opt/odoo -s /bin/bash odoo14
A continuación, inicia sesión con el usuario Odoo14 y descarga el código fuente de Odoo14 desde el repositorio Git:
su - odoo14 git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo/odoo14
A continuación, cambia el directorio a Odoo y crea un entorno virtual Python:
cd /opt/odoo python3 -m venv odoo14-venv
A continuación, activa el entorno virtual Python utilizando el siguiente comando:
source odoo14-venv/bin/activate
A continuación, instala todas las dependencias de Python necesarias utilizando el siguiente comando:
pip3 install -r odoo14/requirements.txt
Una vez instaladas todas las dependencias, desactiva del entorno virtual Python con el siguiente comando:
deactivate
Por último, sal del usuario Odoo14 con el siguiente comando:
exit
Configurar Odoo14
A continuación, crea algún directorio necesario para Odoo con el siguiente comando:
mkdir /opt/odoo/odoo14-custom-addons mkdir /var/log/odoo14 && touch /var/log/odoo14/odoo.log
A continuación, establece la propiedad adecuada con el siguiente comando:
chown odoo14: /opt/odoo/odoo14-custom-addons chown -R odoo14: /var/log/odoo14/
A continuación, crea un archivo de configuración de Odoo:
nano /etc/odoo.conf
Añade el siguiente contenido:
[options] admin_passwd = odoomasterpassword db_host = False db_port = False db_user = odoo14 db_password = False xmlrpc_port = 8069 logfile = /var/log/odoo14/odoo.log logrotate = True addons_path = /opt/odoo/odoo14/addons,/opt/odoo/odoo14-custom-addons
Guarda y cierra el archivo cuando hayas terminado.
Crear un archivo de servicio Systemd para Odoo14
A continuación, debes crear un archivo de servicio systemd para gestionar el servicio Odoo14. Puedes crearlo con el siguiente comando:
nano /etc/systemd/system/odoo14.service
Añade las siguientes líneas:
[Unit] Description=Odoo14 [Service] Type=simple SyslogIdentifier=odoo14 PermissionsStartOnly=true User=odoo14 Group=odoo14 ExecStart=/opt/odoo/odoo14-venv/bin/python3 /opt/odoo/odoo14/odoo-bin -c /etc/odoo.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 y habilita el servicio Odoo con el siguiente comando:
systemctl start odoo14 systemctl enable odoo14
Ahora puedes comprobar el estado del servicio Odoo con el siguiente comando:
systemctl status odoo14
Obtendrás la siguiente salida:
? odoo14.service - Odoo14 Loaded: loaded (/etc/systemd/system/odoo14.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2022-01-04 00:44:36 EST; 5s ago Main PID: 45125 (python3) Tasks: 4 (limit: 25014) Memory: 60.9M CGroup: /system.slice/odoo14.service ??45125 /opt/odoo14/venv/bin/python3 /opt/odoo/odoo14/odoo-bin -c /etc/odoo14.conf Feb 04 00:44:36 rockylinux8 systemd[1]: Started Odoo14. Feb 04 00:44:37 rockylinux8 odoo14[45125]: /opt/odoo14/venv/lib64/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 whee> Feb 04 00:44:37 rockylinux8 odoo14[45125]: """) Feb 04 00:44:37 rockylinux8 odoo14[45125]: 2022-01-04 05:44:37,761 45125 INFO ? odoo: Odoo version 14.0 Feb 04 00:44:37 rockylinux8 odoo14[45125]: 2022-01-04 05:44:37,762 45125 INFO ? odoo: Using configuration file at /etc/odoo.conf Feb 04 00:44:37 rockylinux8 odoo14[45125]: 2022-01-04 05:44:37,762 45125 INFO ? odoo: addons paths: ['/opt/odoo/odoo14/odoo/addons', '/opt/odoo14/> Feb 04 00:44:37 rockylinux8 odoo14[45125]: 2022-01-04 05:44:37,762 45125 INFO ? odoo: database: odoo14@default:default Feb 04 00:44:38 rockylinux8 odoo14[45125]: 2022-01-04 05:44:38,057 45125 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopd> Feb 04 00:44:38 rockylinux8 odoo14[45125]: 2022-01-04 05:44:38,437 45125 INFO ? odoo.service.server: HTTP service (werkzeug) running on rockylinux8:80>
En este punto, Odoo14 está iniciado y escucha en el puerto 8069. Puedes comprobarlo con el siguiente comando:
ss -antpl | grep 8069
Obtendrás la siguiente salida:
LISTEN 0 128 0.0.0.0:8069 0.0.0.0:* users:(("python3",pid=27781,fd=5))
Configurar Nginx para Odoo14
A continuación, tendrás que instalar y configurar Nginx como proxy inverso para Odoo14. Primero, instala el paquete Nginx con el siguiente comando:
dnf install nginx -y
A continuación, crea un archivo de configuración de host virtual Nginx con el siguiente comando:
nano /etc/nginx/conf.d/odoo14.conf
Añade el siguiente contenido:
upstream odooserver { server 127.0.0.1:8069; } server { listen 80; server_name odoo14.example.com; access_log /var/log/nginx/odoo_access.log; error_log /var/log/nginx/odoo_error.log; # Proxy settings 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; # Request for root domain location / { proxy_redirect off; proxy_pass http://odooserver; } # Cache static files location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odooserver; } # Gzip gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
Guarda y cierra el archivo, luego verifica que Nginx no tenga ningún error de sintaxis utilizando el siguiente comando:
nginx -t
Obtendrás la siguiente salida:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
A continuación, inicia y habilita el servicio Nginx con el siguiente comando:
systemctl start nginx systemctl enable nginx
También puedes comprobar el estado de Nginx utilizando el siguiente comando:
systemctl status nginx
Obtendrás el siguiente resultado:
? nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-01-15 15:57:16 UTC; 5s ago Process: 28148 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 28146 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 28144 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 28149 (nginx) Tasks: 5 (limit: 49497) Memory: 7.5M CGroup: /system.slice/nginx.service ??28149 nginx: master process /usr/sbin/nginx ??28150 nginx: worker process ??28151 nginx: worker process ??28152 nginx: worker process ??28153 nginx: worker process Jan 15 15:57:16 almalinux8 systemd[1]: Starting The nginx HTTP and reverse proxy server... Jan 15 15:57:16 almalinux8 nginx[28146]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok Jan 15 15:57:16 almalinux8 nginx[28146]: nginx: configuration file /etc/nginx/nginx.conf test is successful Jan 15 15:57:16 almalinux8 systemd[1]: Started The nginx HTTP and reverse proxy server.
A continuación, edita el archivo de configuración de Odoo:
nano /etc/odoo.conf
Añade la siguiente línea al final del archivo para habilitar el proxy:
proxy_mode = True
Guarda y cierra el archivo y reinicia el servicio Odoo para aplicar los cambios:
systemctl restart odoo14
Una vez que hayas terminado, puedes continuar con el siguiente paso.
Configurar el cortafuegos
A continuación, tendrás que permitir el puerto 80 a través del cortafuegos. Puedes permitirlo ejecutando el siguiente comando:
firewall-cmd --add-service=http --permanent
A continuación, recarga el cortafuegos para aplicar los cambios:
firewall-cmd --reload
Una vez que hayas terminado, puedes continuar con el siguiente paso.
Accede a la Interfaz Web de Odoo14
Ahora, abre tu navegador web y accede a la interfaz web de Odoo14 utilizando la URL http://odoo14.example.com. Deberías ver la siguiente pantalla:
Proporciona tu contraseña maestra de Odoo, base de datos, correo electrónico y contraseña, y haz clic en el botón Crear base de datos. Deberías ver el panel de control de Odoo14 en la siguiente pantalla:
Has instalado correctamente Odoo con Nginx en Alma Linux 8. Ahora puedes implementar Odoo para gestionar tu negocio y operaciones.