En este video vamos a instalar Odoo 14 en un servidor con sistema operativo Ubuntu Server 20.04 LTS y posteriormente le configuraremos un nombre de dominio y certificado.
A continuación el resumen de comandos ejecutados durante el video cómo guía para realizar los pasos de los video:
1 Instalando PostgreSQL cómo motor de base de datos
sudo apt install postgresql postgresql-client
2 Instalando libreria para exportar reportes a PDF en Odoo
sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb
sudo apt install ./wkhtmltox_0.12.6-1.bionic_amd64.deb -f
3 Crear usuario en postgres para Odoo
sudo su - postgres
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo14
4 Entrar a psql y darle permisos al usuario
psql
ALTER USER odoo14 WITH SUPERUSER;
5 Agregar repositorios de Odoo para realizar la instalación
wget -O - https://nightly.odoo.com/odoo.key | sudo apt-key add -
echo "deb http://nightly.odoo.com/14.0/nightly/deb/ ./" | sudo tee /etc/apt/sources.list.d/odoo.list
6 Instalando Odoo
sudo apt update
sudo apt install odoo
7 Revisar que odoo se está ejecutando
systemctl status odoo
8 Habilitar servicio de Odoo para que arranque automáticamente al iniciar el servidor
sudo systemctl enable --now odoo
9 Instalar nginx para usarlo como proxy reverso
sudo apt-get install nginx
10 Creando un directorio para guardar los certificados de mi dominio
mkdir /etc/nginx/certs
11 Configuración de nginx para el sitio de Odoo creado en /etc/nginx/sites-available con el nombre de mi sitio odoo.bioxor.net.conf
Creando archivo de configuración
sudo nano /etc/nginx/sites-available/odoo.bioxor.net.conf
Configuración de nginx en nuestro archivo de odoo.bioxor.net.conf:
upstream odoo {
server 192.168.0.105:8069;
}upstream odoochat {
server 192.168.0.105:8072;
}
server {
listen 80;
server_name odoo.bioxor.net;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl;
server_name odoo.bioxor.net;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Add Headers for odoo proxy mode
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/nginx/certs/odoo.bioxor.net.crt;
ssl_certificate_key /etc/nginx/certs/odoo.bioxor.net.key;
ssl_trusted_certificate /etc/nginx/certs/server_ca.crt;
ssl_session_timeout 30m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
# log
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
# Redirect longpoll requests to odoo longpolling port
location /longpolling {
proxy_pass http://odoochat;
}
# Redirect requests to odoo backend server
location / {
proxy_redirect off;
proxy_pass http://odoo;
}
# common gzip
gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
12 Creando link simbolico para que nginx lea la configuración.
cd /etc/nginx/sites-enabled
sudo ln -s ../sites-available/odoo.bioxor.net.conf
13 Comprobando que no haya errores de sintaxis en el archivo de configuración de nginx
sudo nginx -t
14 Reiniciar servicio de nginx para que tome los cambios de configuración.
sudo service nginx restart
Moviendo mis certificados desde la carpeta de /home/rborja a mi carpeta de etc/nginx/certs
sudo mv odoo.bioxor.net.key /etc/nginx/certs/
sudo mv odoo.bioxor.net.crt /etc/nginx/certs/
sudo mv server_ca.crt /etc/nginx/certs/
15 Editar archivo de configuración de Odoo
sudo nano /etc/odoo/odoo.conf
16 Habilitar en True modo proxy en odoo.conf
proxy_mode = True
17 Reiniciar servicio de odoo
sudo service odoo restart
Estimado amigo, una maravilla el tutorial, gracias a personas altruistas como tu el mundo va mejorando, muchas gracias por entregar tus conocimientos.
Solo una pregunta el direccionamiento del puerto 80 al 8069 no termina de funcionar cuando realizas todo esto en un VPS, es decir si vas directo a https://XXXXXXXX.com funciona, pero si solo pones en el navegado XXXXXXXX.com no lo direcciona al https y simplemente te muestra la pagina por defecto de nginx, alguien sabría que hay que modificar en el archivo de configuración de nginx para que funcione? muchas gracias y felicitaciones por tu web
Esta sección debe redireccionar http a https en el puerto 443, también puedes revisar el archivo default de nginx para ver si su configuración no este interfiriendo. Igualmente borra el caché de tu navegador, a veces ese es el problema.
server {
listen 80;
server_name odoo.bioxor.net;
rewrite ^(.*) https://$host$1 permanent;
}
contrate el servicio de hosting en hotsgator, como le hago para implemetar odoo ahi??
¿Qué clase de servicio contrataste en hostgator? ¿Una VPS?
Hola
Tengo el siguiente error depues de ejecutar el test “sudo Nginx -t”
unknown directive “brotli” in /etc/nginx/conf.d/brotli.conf:1
Significa que tienes un error en la línea 1 del archivo brotli.conf, indica que estas usando como directiva la palabra ‘brotli’ y esta directiva no existe, revisa que tenga la correcta sintaxis tu archivo de configuración.
Gracias, ya pude solucionarlo.
Ahora me aparece el siguiente eror:
502 Bad Gateway
nginx/1.18.0
Este error se debe normalmente a que nginx no encuentra el sitio al cual esta reenviando las peticiones en su función como proxy, debes verificar que efectivamente el servicio de Odoo este ejecutándose y que el puerto y la dirección IP o dominio donde esta odoo sea correcta en la configuración del sitio en nginx o que nginx tenga acceso a esa dirección de red donde esta el odoo, revisa por ejemplo que la dirección de red de odoo sea correcta en la directiva proxy_pass.
Los servicios de odoo se están ejecutando correctamente.
Esta es mi configuración de nginx
upstream odoo {
server http://localhost:8069;
}
upstream odoochat {
server http://localhost:8072;
}
server {
listen 80;
server_name sidt.com.mx;
server_name http://www.sidt.com.mx;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl;
server_name sidt.com.mx;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Add Headers for odoo proxy mode
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/nginx/certs/sidt.com.mx_ssl_certificate.cer;
ssl_certificate_key /etc/nginx/certs/*.sidt.com.mx_private_key.key;
ssl_trusted_certificate /etc/nginx/certs/*.sidt.com.mx_ssl_certificate_INTERMEDIATE.cer;
ssl_session_timeout 30m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ‘ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:> ssl_prefer_server_ciphers on;
# log
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
# Redirect longpoll requests to odoo longpolling port
location /longpolling {
proxy_pass http://odoochat;
}
# Redirect requests to odoo backend server
location / {
proxy_redirect off;
proxy_pass http://localhost:8069;
proxy_buffers 16 4k;
proxy_buffer_size 2k;
proxy_pass http: // localhost:8069;
}
# common gzip
gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
me gustaría que me apoyes a instalar odoo 12 en ubuntu server 20.04
cuento con las aplicaciones necesarias para un funcionamiento optimo. .
Muy buen tutorial Rodolfo, bastante bien para nosotros los mortales jeje.
crees que nos podrías explicar un poco mejor la última parte del vídeo, donde mencionas que tenemos que configurar un ip publica, y lo del dns.
tengo un dominio y no logro acceder a oddo desde ese dominio
Debes tener una IP publica contratada o instalar Odoo en un servidor o hosting o servicio de nube que te proporcione una dirección IP pública, para que el Odoo sea accesible por internet, por ejemplo supongamos que tienes esta IP
201.127.49.204, entonces mediante ese IP tu servidor sera accesible en internet, luego para configuración de DNS se suele contar con ella en el servicio de hosting donde contrataste el dominio debes crear un registro DNS de Tipo A
donde indique que esta IP 201.127.49.204 apunta a tu nombre de domimio midominio.com
Muchísimas gracias Man, te puedo contactar vía WhatsApp o telegram?
Me puedes contactar por correo
Como configuro una DNS dinámica de Google?