Introducción
Odoo es un conjunto basado en la web de aplicaciones de gestión empresarial de código abierto. La plataforma incluye varias soluciones empresariales, como CRM, gestión de almacenes, contabilidad, facturación, creación de sitios web, etc.
La edición Odoo Community está disponible para Ubuntu de forma gratuita, pero puede cambiar a la edición Enterprise según sea necesario.
Este tutorial proporciona pasos para instalar Odoo 15 en Ubuntu 20.04 en un entorno virtual de Python.
Requisitos previos
- Acceso a la línea de comandos/terminal con permisos sudo.
- Acceso a un navegador.
- Git instalado.
- Pip para Python 3 instalado.
- NodeJS instalado.
Instalar Odoo en Ubuntu
Después de cumplir con todos los requisitos previos, siga los pasos a continuación para instalar Odoo 15 en Ubuntu en un entorno virtual de Python.
La instalación de Odoo en un entorno virtual crea un sistema aislado y permite probar diferentes versiones en la misma máquina.
Paso 1:Actualizar repositorio
Abre la terminal y actualiza el repositorio apt:
sudo apt update
Espere a que finalice la actualización antes de continuar con el siguiente paso.
Paso 2:Instale las dependencias de Odoo
Instale las dependencias de Odoo con el siguiente comando:
sudo apt install -y build-essential wget python3-dev python3-venv python3-wheel libfreetype6-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less libjpeg-dev zlib1g-dev libpq-dev libxslt1-dev libldap2-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev
Asegúrese de que no haya errores tipográficos para evitar paquetes perdidos.
La instalación obtiene todas las dependencias adicionales necesarias para la instalación de Odoo.
Paso 3:Crear usuario de Odoo
Ejecutar Odoo como usuario root plantea un riesgo de seguridad. Cree un nuevo usuario del sistema, grupo y directorio de inicio llamado Odoo :
sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
El nombre de usuario puede ser diferente si coincide con el usuario de PostgreSQL y la información del archivo de configuración.
Paso 4:Instalar y configurar PostgreSQL
Odoo usa PostgreSQL como base de datos. Instale PostgreSQL desde los repositorios oficiales de Ubuntu con:
sudo apt install postgresql
Presiona Y cuando se le solicite continuar. Una vez finalizada la instalación, cree un usuario de Postgres con el mismo nombre del paso anterior:
sudo su - postgres -c "createuser -s odoo"
El comando crea un usuario llamado odoo para administrar la base de datos.
Paso 5:Instalar wkhtmltopdf
El conjunto de herramientas de código abierto wkhtmltopdf ayuda a convertir páginas HTML en archivos PDF e imágenes para generar informes en varios formatos.
Para descargar el instalador, ejecute:
sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
El comando obtiene el paquete Debian. Para instalar el paquete, ejecute:
sudo apt install ./wkhtmltox_0.12.5-1.bionic_amd64.deb
Presiona Y cuando se le solicite continuar con la instalación. Espere a que se complete el proceso antes de continuar.
Paso 6:Instalar y configurar Odoo
Para instalar Odoo, siga los pasos a continuación:
1. Cambia a odoo usuario con el comando sudo su:
sudo su - odoo
2. Clone el código fuente de Odoo 15 desde el repositorio de Git:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 15.0 /opt/odoo15/odoo
4. Navegue al directorio odoo y cree un entorno virtual de Python para Odoo:
cd /opt/odoo
python3 -m venv odoo-venv
5. Activa el entorno con:
source odoo-venv/bin/activate
El nombre del entorno se muestra en la terminal antes que el usuario.
5. Instale los siguientes requisitos para Odoo:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Espere a que se complete la instalación.
6. Después de esto, Odoo requiere instalación y configuración adicionales. Desactivar el entorno con:
deactivate
7. Cree un directorio separado para complementos personalizados:
mkdir /opt/odoo/odoo-custom-addons
Este directorio define dónde Odoo busca módulos.
8. Vuelva al usuario sudo con:
exit
9. Cree el odoo.conf archivo usando el editor de texto nano:
sudo nano /etc/odoo.conf
Pegue los siguientes contenidos en odoo.conf archivo:
[options]
; Database operations password:
admin_passwd = PASSWORD
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo/addons,/opt/odoo/odoo-custom-addons
Cambiar la admin_password
campo a una contraseña segura para la base de datos. addons_path
El campo contiene las rutas a las ubicaciones de los módulos de Odoo. Guarde y cierre el archivo.
10. Cree el odoo.service archivo con:
sudo nano /etc/systemd/system/odoo.service
Pegue el siguiente contenido en el archivo:
[Unit]
Description=Odoo
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo-venv/bin/python3 /opt/odoo/odoo/odoo-bin -c /etc/odoo.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
El servicio se conecta a Odoo a través del entorno virtual de Python y utiliza el archivo de configuración del paso anterior. Guarde los cambios y cierre el archivo.
11. Actualice la lista de servicios:
sudo systemctl daemon-reload
El servicio Odoo ya está disponible.
Paso 7:Iniciar y probar Odoo
Para iniciar y probar Odoo, haga lo siguiente:
1. Habilite el servicio Odoo al iniciar el sistema:
sudo systemctl enable --now odoo
2. Consulta el estado del servicio con:
sudo systemctl status odoo
El estado se muestra como active (running)
.
3. El diarioctl El archivo contiene toda la información sobre el servicio en ejecución:
sudo journalctl -u odoo
Use este archivo para verificar posibles errores.
4. Por último, acceda a Odoo desde el navegador en el puerto localhost 8069:
http://localhost:8069
La página muestra la configuración inicial de Odoo. Usa la admin_password
desde /etc/odoo.conf archivo como la contraseña maestra.
Paso 8:habilite el multiprocesamiento (opcional)
Odoo funciona en modo multiproceso de forma predeterminada. Cambie el servidor al modo de multiprocesamiento antes de la implementación para utilizar mejor los recursos del sistema y garantizar la estabilidad.
La cantidad de CPU ayuda a aproximar la cantidad de trabajadores:
- Número máximo de trabajadores =(CPU * 2) + 1. Para 4 CPU, el sistema tendría un máximo de 9 trabajadores.
- En teoría, un trabajador atiende a unos seis usuarios simultáneos. Para 24 usuarios simultáneos, el sistema requiere al menos cuatro trabajadores.
- Un trabajador cron requiere una CPU.
Por lo tanto, un sistema con 4 CPU y 24 usuarios simultáneos necesita al menos seis trabajadores, más un trabajador cron adicional.
La cantidad de trabajadores y la distribución de RAM determinan la RAM total que Odoo necesita:
- RAM total =Trabajadores * ((Proporción de trabajadores ligeros * RAM de trabajadores ligeros) + (Proporción de trabajadores pesados * RAM de trabajadores pesados))
Si hay alrededor de un 80 % de trabajadores ligeros que usan 100 GB de RAM y un 20 % de trabajadores pesados que usan 1 GB de RAM, el cálculo es:
Total RAM = 7 * ((100*0.8)+(1024*0.2)) = 1993.6
Odoo requiere un total de 2 GB de RAM. Agregue la información a /etc/odoo.conf archivo:
[options]
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 1200
max_cron_threads = 1
workers = 6
Para aplicar los cambios, reinicie el servicio Odoo:
sudo systemctl restart odoo
Los recursos restantes del sistema están disponibles para la base de datos PostgreSQL y cualquier otro servicio que se ejecute en el sistema.
Paso 9:cambiar el número de puerto (opcional)
De forma predeterminada, Odoo escucha en el puerto 8069. Cambiar el número de puerto predeterminado es una buena práctica de seguridad.
Agregue las siguientes líneas a /etc/odoo.conf archivo para que Odoo escuche solo en el puerto 127.0.0.1 1111:
xmlrpc_interface = 127.0.0.1
netrpc_interface = 127.0.0.1
xmlrpc_port = 1111
Reinicie el servicio Odoo para aplicar los cambios:
sudo systemctl restart odoo
Los cambios se aplican de inmediato.