✔️ Como instalar Odoo 11 Community en Ubuntu 18.04 FAcil Rapido 2018
Tabla de contenido:
- Antes de que empieces
- Crear usuario de Odoo
- Instalar y configurar PostgreSQL
- Instalar Wkhtmltopdf
- Instalar y configurar Odoo
- Crear un archivo de unidad systemd
- Probar la instalación
- Configure Nginx como un proxy de terminación SSL
- Cambiar la interfaz de enlace
- Habilitar multiprocesamiento
- Conclusión
Odoo es el software empresarial todo en uno más popular del mundo. Ofrece una gama de aplicaciones comerciales que incluyen CRM, sitio web, comercio electrónico, facturación, contabilidad, fabricación, almacén, gestión de proyectos, inventario y mucho más, todo perfectamente integrado.
Hay varias formas de instalar Odoo dependiendo del caso de uso requerido. La forma más fácil y rápida de instalar Odoo es mediante el uso de sus repositorios APT oficiales.
Esta guía cubre los pasos necesarios para instalar y configurar Odoo para la producción usando la fuente Git y el entorno virtual Python en un sistema Ubuntu 18.04.
Antes de que empieces
Inicie sesión en su máquina Ubuntu como usuario de sudo y actualice el sistema a los paquetes más recientes:
sudo apt update && sudo apt upgrade
Instale Git, Pip, Node.js y las herramientas necesarias para construir dependencias de Odoo:
sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less
Crear usuario de Odoo
Cree un nuevo usuario y grupo del sistema con el directorio de inicio
/opt/odoo
que ejecutará el servicio Odoo.
sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
Puedes nombrar al usuario como quieras, solo asegúrate de crear un usuario de postgres con el mismo nombre.
Instalar y configurar PostgreSQL
Instale el paquete PostgreSQL desde los repositorios predeterminados de Ubuntu:
sudo apt install postgresql
Una vez completada la instalación, cree un usuario PostgreSQL con el mismo nombre que el usuario del sistema creado anteriormente, en nuestro caso
odoo
:
sudo su - postgres -c "createuser -s odoo"
Instalar Wkhtmltopdf
El paquete
wkhtmltox
proporciona un conjunto de herramientas de línea de comandos de código abierto que pueden representar HTML en PDF y varios formatos de imagen. Para imprimir informes en PDF, necesitará la herramienta
wkhtmltopdf
. La versión recomendada para Odoo es
0.12.1
que no está disponible en los repositorios oficiales de Ubuntu 18.04.
Descargue el paquete usando el siguiente comando wget:
wget
Una vez que se complete la descarga, instale el paquete escribiendo:
sudo apt install./wkhtmltox_0.12.1.3-1~bionic_amd64.deb
Instalar y configurar Odoo
Instalaremos Odoo desde el repositorio de GitHub dentro de un entorno virtual aislado de Python para que podamos tener más control sobre las versiones y actualizaciones.
Antes de comenzar con el proceso de instalación, asegúrese de cambiar a usuario
odoo
.
sudo su - odoo
Para confirmar que ha iniciado sesión como usuario de
odoo
, puede usar el siguiente comando:
whoami
Ahora podemos comenzar con el proceso de instalación. Primero clone el odoo del repositorio de GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11
- Si desea instalar una versión diferente de Odoo, simplemente cambie el número de versión después del
--branch--branch. Puede nombrar el directorio como desee, por ejemplo, en lugar deodoo11puede usar el nombre de su dominio.
Para crear un nuevo entorno virtual para la instancia de Odoo 11, ejecute:
cd /opt/odoo
python3 -m venv odoo11-venv
active el entorno con el siguiente comando:
source odoo11-venv/bin/activate
e instale todos los módulos Python necesarios con pip3:
pip3 install wheel
pip3 install -r odoo11/requirements.txt
pip3
es una herramienta para instalar y administrar paquetes de Python.
Una vez que se complete la instalación, desactive el entorno y vuelva a su usuario de sudo con los siguientes comandos:
deactivate
exit
sudo mkdir /opt/odoo/odoo11-custom-addons
sudo chown odoo: /opt/odoo/odoo11-custom-addons
A continuación, necesitamos crear un archivo de configuración, podemos crear uno nuevo desde cero o copiar el archivo de configuración incluido:
sudo cp /opt/odoo/odoo11/debian/odoo.conf /etc/odoo11.conf
Abra el archivo y edítelo de la siguiente manera:
/etc/odoo11.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo db_password = False addons_path = /opt/odoo/odoo11/addons; If you are using custom modules; addons_path = /opt/odoo/odoo11/addons, /opt/odoo/odoo11-custom-addons
No olvide cambiar
my_admin_passwd
a algo más seguro y ajuste
addons_path
si está utilizando módulos personalizados.
Crear un archivo de unidad systemd
Para ejecutar odoo como servicio, crearemos un archivo de unidad
odoo11.service
en el directorio
/etc/systemd/system/
con el siguiente contenido:
Description=Odoo11 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo11 PermissionsStartOnly=true User=odoo Group=odoo ExecStart=/opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf StandardOutput=journal+console WantedBy=multi-user.target
Notifique a systemd que creamos un nuevo archivo de unidad e inicie el servicio Odoo ejecutando:
sudo systemctl daemon-reload
sudo systemctl start odoo11
Puede verificar el estado del servicio con el siguiente comando:
sudo systemctl status odoo11
● odoo11.service - Odoo11 Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2018-05-03 21:23:08 UTC; 3s ago Main PID: 18351 (python3) Tasks: 4 (limit: 507) CGroup: /system.slice/odoo11.service └─18351 /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
y si no hay errores, puede habilitar el servicio Odoo para que se inicie automáticamente en el momento del arranque:
sudo systemctl enable odoo11
Probar la instalación
Abra su navegador y escriba:
http://:8069
http://:8069
Asumiendo que la instalación es exitosa, aparecerá una pantalla similar a la siguiente:

Configure Nginx como un proxy de terminación SSL
- Tiene un nombre de dominio que apunta a la IP de su servidor público. En este tutorial usaremos
example.com. Tiene instalado Nginx siguiendo estas instrucciones. Tiene un certificado SSL instalado para su dominio. Puede instalar un certificado SSL Let's Encrypt gratuito siguiendo estas instrucciones.
El servidor web predeterminado de Odoo sirve el tráfico a través de HTTP. Para que nuestra implementación de Odoo sea más segura, configuraremos Nginx como un proxy de terminación SSL que servirá al tráfico a través de
El proxy de terminación SSL es un servidor proxy que maneja el cifrado / descifrado SSL. Esto significa que nuestro proxy de terminación (Nginx) manejará y descifrará las conexiones TLS entrantes (HTTPS), y transmitirá las solicitudes no cifradas a nuestro servicio interno (Odoo) para que el tráfico entre Nginx y Odoo no se cifre (HTTP).
Necesitamos decirle a Odoo que usaremos un proxy, abriremos el archivo de configuración y agregaremos la siguiente línea:
/etc/odoo11.conf
proxy_mode = True
Reinicie el servicio Odoo para que los cambios surtan efecto:
sudo systemctl restart odoo11
Usar Nginx como proxy nos brinda varios beneficios. En este ejemplo, configuraremos la terminación SSL, la redirección HTTP a HTTPS, la redirección WWW a no WWW, almacenaremos en caché los archivos estáticos y habilitaremos la compresión GZip.
/etc/nginx/sites-enabled/example.com
# Odoo servers upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } # HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name 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; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # 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; }
No olvide reemplazar example.com con su dominio Odoo y establecer la ruta correcta a los archivos de certificado SSL. Los fragmentos utilizados en esta configuración se crean en esta guía.
Una vez que haya terminado, reinicie el servicio Nginx con:
Cambiar la interfaz de enlace
Este paso es opcional, pero es una buena práctica de seguridad. De forma predeterminada, el servidor Odoo escucha el puerto 8069 en todas las interfaces, por lo que si desea deshabilitar el acceso directo a su instancia de Odoo, puede bloquear el puerto 8069 para todas las interfaces públicas o forzar a Odoo a escuchar solo en la interfaz local.
En esta guía, forzaremos a Odoo a escuchar solo en
127.0.0.1
, abra la configuración de Odoo y agregue las dos líneas siguientes al final del archivo:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Guarde el archivo de configuración y reinicie el servidor Odoo para que los cambios surtan efecto:
Habilitar multiprocesamiento
Por defecto, Odoo está trabajando en modo multihilo. Para las implementaciones de producción, se recomienda cambiar al servidor de multiprocesamiento ya que aumenta la estabilidad y hace un mejor uso de los recursos del sistema. Para habilitar el multiprocesamiento necesitamos editar la configuración de Odoo y establecer un número de procesos de trabajo que no sea cero.
El número de trabajadores se calcula en función del número de núcleos de CPU en el sistema y la memoria RAM disponible.
De acuerdo con la documentación oficial de Odoo para calcular el número de trabajadores y el tamaño de memoria RAM requerido, utilizaremos las siguientes fórmulas y suposiciones:
Cálculo del número de trabajadores.
- número máximo teórico de trabajador = (system_cpus * 2) + 11 trabajador puede servir ~ = 6 usuarios concurrentes Los trabajadores de cron también requieren CPU
Cálculo del tamaño de la memoria RAM
- Consideraremos que el 20% de todas las solicitudes son solicitudes pesadas, mientras que el 80% son más ligeras. Las solicitudes pesadas usan alrededor de 1 GB de RAM, mientras que las más livianas usan alrededor de 150 MB de RAM RAM necesaria = número_de_trabajadores * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
grep -c ^processor /proc/cpuinfo
Digamos que tenemos un sistema con 4 núcleos de CPU, 8 GB de memoria RAM y 30 usuarios simultáneos de Odoo.
-
30 users / 6 = **5**(5 es el número teórico de trabajadores necesarios)(4 * 2) + 1 = **9**(9 es el número máximo teórico de trabajadores)
Según el cálculo anterior, podemos usar 5 trabajadores + 1 trabajador para el trabajador cron, que es un total de 6 trabajadores.
Calcule el consumo de memoria RAM en función del número de trabajadores:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
El cálculo anterior nos muestra que nuestra instalación de Odoo necesitará alrededor de 2 GB de RAM.
Para cambiar al modo multiprocesamiento, abra el archivo de configuración y agregue las siguientes líneas:
/etc/odoo11.conf
limit_memory_hard = 2684354560 limit_memory_soft = 2147483648 limit_request = 8192 limit_time_cpu = 600 limit_time_real = 1200 max_cron_threads = 1 workers = 5
Reinicie el servicio Odoo para que los cambios surtan efecto:
sudo systemctl restart odoo11
El resto de los recursos del sistema serán utilizados por otros servicios que se ejecutan en nuestra máquina. En esta guía, instalamos Odoo junto con PostgreSQL y Nginx en un mismo servidor y, dependiendo de su configuración, también puede tener otros servicios ejecutándose en su servidor.
Conclusión
¡Eso es! Este tutorial lo guió a través de la instalación de Odoo 11 en Ubuntu 18.04 en un entorno virtual de Python usando Nginx como proxy inverso. También aprendió cómo habilitar el multiprocesamiento y optimizar Odoo para el entorno de producción. También puede consultar nuestro tutorial sobre cómo crear copias de seguridad diarias automáticas de sus bases de datos Odoo.
ubuntu odoo postgresql python pip nginx proxy sslCómo implementar odoo 12 en ubuntu 18.04
Este tutorial cubre los pasos necesarios para instalar y configurar Odoo 12 para la producción usando la fuente Git y el entorno virtual de Python en un sistema Ubuntu 18.04.
Cómo implementar rocket.chat en ubuntu 18.04
Rocket.Chat es una plataforma de comunicación de equipo de código abierto, una alternativa Slack autohospedada. Rocket.Chat es una solución perfecta para empresas y comunidades que desean alojar su propio sistema de chat.
Cómo implementar el más importante en ubuntu 18.04
Mattermost reúne toda la comunicación de su equipo en un solo lugar y ofrece varias características, que incluyen el intercambio de archivos, mensajes uno a uno y grupales, emojis personalizados, videollamadas y más.







