GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Odoo 13 en un servidor CentOS 8

En este tutorial, le mostraremos cómo instalar el software Odoo 13 ERP en un CentOS 8 VPS. Odoo es una de las plataformas de planificación de recursos empresariales (ERP) más populares jamás creadas. Construido usando Python y utilizando PostgresSQL para su base de datos, Odoo es 100% de código abierto y gratuito. Odoo también tiene un rico conjunto de funciones:viene con una amplia gama de aplicaciones comerciales como CRM, POS, creador de sitios web, gestión de almacenes, gestión de proyectos, comercio electrónico, marketing, facturación y contabilidad, fabricación y mucho más.

Las aplicaciones de Odoo están integradas entre sí y le permiten automatizar completamente sus procesos comerciales. La característica principal de Odoo es su interfaz intuitiva y su editor de arrastrar y soltar que le permite administrar rápidamente su contenido. Odoo también es compatible con módulos de terceros, lo que le permite expandir aún más la funcionalidad para satisfacer sus necesidades exactas.

Comencemos con la instalación, que no debería llevar mucho tiempo.

Requisitos

  • Un VPS CentOS 8 con acceso raíz habilitado (nuestros VPS tienen acceso raíz) o un usuario con privilegios sudo.
  • Al menos 2 GB de RAM.

Inicie sesión a través de SSH y actualice su servidor

Primero, deberá iniciar sesión en su CentOS 8 VPS a través de SSH como usuario raíz:

ssh root@IP_ADDRESS -p PORT_NUMBER

Reemplace IP_ADRRESS y PORT_NUMBER con los valores de su VPS. Se requiere IP_ADDRESS y PORT_NUMBER es 22 de forma predeterminada, pero puede ser diferente según su configuración.

A continuación, ejecute los siguientes comandos para actualizar todos los paquetes instalados en su VPS:

dnf update -y

Una vez que todos los paquetes estén actualizados, reinicie su sistema para aplicar los cambios. Esto asegura una pizarra limpia en la que instalaremos nuestra instancia de Odoo.

Instalar las dependencias requeridas

Primero, deberá instalar el paquete Python y otras dependencias de Odoo en su sistema. Puede instalarlos todos usando el siguiente comando:

dnf install python3 python3-devel git gcc redhat-rpm-config libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel curl unzip -y

Una vez que todos los paquetes estén instalados, deberá instalar el paquete wkhtmltopdf en su sistema. Wkhtmltopdf es una herramienta de código abierto que se puede usar para convertir el formato HTML a PDF para que Odoo pueda imprimir informes en PDF.

Puede instalarlo ejecutando el siguiente comando:

dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar y configurar PostgreSQL

Odoo usa PostgreSQL para almacenar sus datos. Puede instalar el servidor PostgreSQL con el siguiente comando:

dnf install postgresql postgresql-server postgresql-contrib -y

Una vez completada la instalación, inicialice la base de datos con el siguiente comando:

postgresql-setup initdb

Deberías obtener el siguiente resultado:

* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

A continuación, inicie el servicio PostgreSQL y habilítelo para que se inicie en el arranque con el siguiente comando:

systemctl start postgresql
systemctl enable postgresql

A continuación, inicie sesión en el shell de PostgreSQL y cree un nuevo usuario de PostgreSQL con el siguiente comando:

su - postgres -c "createuser -s odoo13"

Instalar y configurar Odoo 13

Antes de comenzar, cree un usuario separado en CentOS que usaremos para ejecutar el servicio Odoo.

useradd -m -U -r -d /opt/odoo13 -s /bin/bash odoo13

Nota :Asegúrese de que el nombre de usuario sea el mismo que el usuario de PostgreSQL.

A continuación, inicie sesión con su usuario odoo13 y descargue Odoo 13 desde el repositorio de GitHub:

su - odoo13
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo

Debería obtener el siguiente resultado:

Cloning into '/opt/odoo13/odoo'...
warning: redirecting to https://github.com/odoo/odoo.git/
remote: Enumerating objects: 28242, done.
remote: Counting objects: 100% (28242/28242), done
remote: Compressing objects: 100% (23893/23893), done.
Receiving objects: 96% (27370/28242), 110.95 MiB | 13.39 MiB/s
remote: Total 28242 (delta 8481), reused 10433 (delta 3462), pack-reused 0
Receiving objects: 100% (28242/28242), 120.16 MiB | 9.46 MiB/s, done.
Resolving deltas: 100% (8481/8481), done.
Checking out files: 100% (25288/25288), done.

A continuación, cambie su directorio de trabajo actual a /opt/odoo13 y cree un nuevo entorno virtual de Python con el siguiente comando:

cd /opt/odoo13
python3 -m venv odooenv

A continuación, active el entorno virtual con el siguiente comando:

source odooenv/bin/activate

Una vez hecho esto, instale todos los módulos de Python necesarios con el siguiente comando:

pip3 install -r odoo/requirements.txt

Después de instalar todos los módulos, desactive el entorno con el siguiente comando:

deactivate

A continuación, cree un nuevo directorio para almacenar los complementos personalizados:

mkdir /opt/odoo13/odoo-custom-addons

Desde allí, salga del usuario de Odoo13 con el siguiente comando:
exit

Finalmente, cree un nuevo archivo de configuración de Odoo 13 con los detalles de su base de datos, la contraseña maestra y la ruta de los complementos:

nano /etc/odoo13.conf

Agregue las siguientes líneas al archivo:

[options]
admin_passwd = your-secure-password
db_host = False
db_port = False
db_user = odoo13
db_password = False
addons_path = /opt/odoo13/odoo/addons, /opt/odoo13/odoo-custom-addons

Asegúrese de establecer una contraseña segura. Guarde y cierre el archivo.

Crear un archivo de unidad Systemd para Odoo 13

Usar systemd para iniciar y detener fácilmente su instancia de Odoo es muy conveniente. Este paso no es obligatorio, pero agrega una excelente función de calidad de vida que es bueno tener y hace que administrar Odoo sea mucho más fácil.

Puede crear el servicio con el siguiente comando:

nano /etc/systemd/system/odoo13.service

Abra el archivo y agregue las siguientes líneas:

[Unit]
Description=Odoo13
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo13
PermissionsStartOnly=true
User=odoo13
Group=odoo13
ExecStart=/opt/odoo13/venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target

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 Odoo 13 y habilítelo para que se inicie en el arranque con el siguiente comando:

systemctl start odoo13
systemctl enable odoo13

Puede verificar el estado de Odoo 13 con el siguiente comando:

systemctl status odoo13

Debería obtener el siguiente resultado:

● odoo13.service - Odoo13
Loaded: loaded (/etc/systemd/system/odoo13.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2020-05-24 08:35:45 EDT; 3s ago
Main PID: 23874 (python3)
Tasks: 4 (limit: 25028)
Memory: 60.8M
CGroup: /system.slice/odoo13.service
└─23874 /opt/odoo13/venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf
May 24 08:35:45 centos8 systemd[1]: Started Odoo13.
May 24 08:35:46 centos8 odoo13[23874]: /opt/odoo13/venv/lib64/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 whee>
May 24 08:35:46 centos8 odoo13[23874]: """)
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,298 23874 INFO ? odoo: Odoo version 13.0
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,299 23874 INFO ? odoo: Using configuration file at /etc/odoo13.conf
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,300 23874 INFO ? odoo: addons paths: ['/opt/odoo13/odoo/odoo/addons', '/opt/odoo13/>
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,300 23874 INFO ? odoo: database: odoo13@default:default
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,893 23874 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopd>
May 24 08:35:47 centos8 odoo13[23874]: 2020-05-24 12:35:47,367 23874 INFO ? odoo.service.server: HTTP service (werkzeug) running on centos8:80>
lines 1-18/18 (END)

En este punto, Odoo se está ejecutando y escuchando en el puerto 8069. Ya puede acceder a él desde un navegador especificando la IP y el puerto para Odoo.

Configurar Nginx como proxy inverso

Es una buena idea configurar Nginx como proxy inverso para Odoo. Esto se hace para que pueda acceder a la instancia de Odoo sin necesidad de especificar el puerto cada vez. Nginx es un servidor web popular centrado en la personalización y la versatilidad.

Primero, instale Nginx con el siguiente comando:

dnf install nginx -y

Una vez instalado, cree un nuevo archivo de configuración de host virtual Nginx:

nano /etc/nginx/conf.d/odoo13.example.conf

Agregue las siguientes líneas:

upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
server {
listen 80;
server_name odoo13.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/odoo13.access.log;
error_log /var/log/nginx/odoo13.error.log;
# Handle longpoll requests
location /longpolling {
proxy_pass http://odoochat;
}
# Cache static files
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;
}

Debe reemplazar "example.com" con su nombre de dominio registrado.

Guarde y cierre el archivo. Luego, deberá configurar hash_bucket_site en el archivo de configuración predeterminado de Nginx.

Abra el archivo de configuración predeterminado de Nginx como se muestra a continuación:

nano /etc/nginx/nginx.conf

Agregue la siguiente línea debajo de la línea http { :

server_names_hash_bucket_size 64;

Guarde y cierre el archivo. Luego, verifique Nginx en busca de errores 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

Finalmente, inicie el servicio Nginx y habilítelo para que se inicie en el arranque con el siguiente comando:

systemctl start nginx
systemctl enable nginx

A continuación, también deberá configurar Odoo para usar el proxy. Puedes hacerlo editando el archivo /etc/odoo13.conf :

nano /etc/odoo13.conf

Agregue la siguiente línea al final del archivo:

proxy_mode = True

Guarde y cierre el archivo, luego reinicie el servicio Odoo 13 para implementar los cambios:

systemctl restart odoo13

Odoo 13 seguro con Let's Encrypt

Se recomienda proteger la instancia de Odoo con Let's Encrypt SSL. Este no es un paso obligatorio, pero proporciona conexiones seguras para su instancia de Odoo.

Primero, instale el cliente Certbot en su sistema para administrar el SSL:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Ahora, ejecute el siguiente comando para obtener e instalar un certificado SSL para su sitio web Odoo 13. Reemplace "example.com" con su nombre de dominio registrado.

certbot-auto --nginx -d odoo13.example.com

El comando anterior instalará primero todas las dependencias requeridas en su servidor. Una vez instalado, se le pedirá que proporcione una dirección de correo electrónico
y acepte el término del servicio como se muestra a continuació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): [email protected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N

Haz tu elección y pulsa Intro continuar. Una vez que se haya instalado el certificado, debería ver el siguiente resultado:

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for odoo13.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/nginx.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/nginx.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://odoo13.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=odoo13.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/odoo13.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/odoo13.example.com/privkey.pem
Your cert will expire on 2020-08-22. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again with the "certonly" option. To non-interactively renew *all*
of your certificates, run "certbot-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

En este punto, su instancia de Odoo 13 está protegida con Let's Encrypt SSL.

Acceda a la instancia de Odoo 13

Ahora, abra su navegador web y escriba la URL https://odoo13.example.com . Debería ver la siguiente página:

Proporcione su contraseña maestra, detalles de la base de datos, correo electrónico y contraseña antes de hacer clic en Crear base de datos botón. Debería ver el tablero de Odoo 13 en la siguiente página:

Felicitaciones, si siguió cuidadosamente nuestras instrucciones en este tutorial, habrá instalado con éxito la última versión de Odoo 13 en su CentOS 8 VPS. Puede crear su primera base de datos y comenzar a usar la última versión de Odoo 13.

Por supuesto, no tiene que instalar Odoo 13 en CentOS 8 si usa uno de nuestros servicios de alojamiento VPS de Odoo, en cuyo caso simplemente puede pedirle a nuestro equipo de administradores expertos de Linux que instale y configure Odoo 13 por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato. Eliminamos las conjeturas al instalar su plataforma Odoo:solo díganos qué necesita y listo.

PD . Si le gustó esta publicación sobre cómo instalar Odoo 13 en CentOS 8, compártala con sus amigos en las redes sociales utilizando los accesos directos para compartir a continuación, o simplemente deje una respuesta en la sección de comentarios. Gracias.


Cent OS
  1. Cómo instalar el servidor de Minecraft en CentOS 7

  2. Cómo instalar el servidor Teamspeak 3 en CentOS 8

  3. Cómo instalar Odoo 9 en CentOS 7

  4. Cómo instalar Odoo 12 en CentOS 7

  5. Cómo instalar Odoo 13 en CentOS 8

Cómo instalar Nginx en CentOS

Cómo instalar MySQL 8 en CentOS 8

Cómo instalar Shoutcast Server en CentOS 8

Cómo instalar Lighttpd en CentOS

Cómo instalar VestaCP en CentOS 6

Cómo instalar Odoo en CentOS 7