Odoo es un conjunto de herramientas de software de gestión empresarial que incluye, por ejemplo, CRM, comercio electrónico, facturación, contabilidad, fabricación, almacén, gestión de proyectos y gestión de inventario. Odoo 14 se lanzó el 3 de octubre de 2020.
Ubuntu 22.04 es la última versión a largo plazo (LTS) lanzada por Canonical Ltd., la empresa detrás del software de Ubuntu y proyectos relacionados.
En este tutorial, configuraremos Odoo 14 usando un entorno virtual para aislar nuestra aplicación y evitar conflictos dentro del nivel del sistema.
Comencemos con la instalación.
1 Actualización del sistema
sudo apt update -y && apt upgrade -y
2 Instalación de las dependencias
Después de actualizar el sistema necesitamos instalar todas las dependencias necesarias.
sudo apt install python3-dev nodejs git build-essential node-less npm python3-pip python3-venv python3-wheel python3-setuptools libjpeg-dev libpq-dev liblcms2-dev libwebp-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev libharfbuzz-dev libfribidi-dev libxcb1-dev libpq-dev libldap2-dev libsasl2-dev libxslt1-dev zlib1g-dev libxml2-dev
3 Instalación y configuración de la base de datos
La base de datos back-end predeterminada de Odoo es PostgreSQL.
Instalemos PostgreSQL.
sudo apt install postgresql -y
Después de la instalación necesitamos crear un usuario de base de datos.
sudo su - postgres -c "createuser -s odoo14"
4 Creación de un usuario del sistema
Vamos a crear un usuario del sistema para nuestra instancia.
sudo useradd -m -d /opt/odoo14 -U -r -s /bin/bash odoo14
5 Instalación de wkhtmltopdf
Wkhtmltopdf es un paquete que convierte HTML a formato PDF utilizando el motor de renderizado Qt WebKit. Este paquete es necesario para imprimir informes en PDF para facturas de ventas, informes de ventas y otros.
Ubuntu 22.04 tiene el paquete wkhtmltopdf en sus repositorios, pero este paquete no admite encabezado ni pie de página. Entonces usaremos el paquete wkhtmltox(wkhtmltopdf) de Github.
Pero antes de descargar e instalar el paquete wkhtmltox, debemos instalar libssl1.1 primero porque wkhtmltox depende de esta libssl versión.
El libssl la versión en Ubuntu 22.04 se actualizó a la versión 3, por lo que debemos agregar la fuente de Ubuntu 21.10 para forzar la instalación a libssl versión 1 .
echo "deb http://security.ubuntu.com/ubuntu impish-security main" | sudo tee /etc/apt/sources.list.d/impish-security.list
Actualice el sistema.
sudo apt-get update
Instalar libssl versión 1.
sudo apt-get install libssl1.1 -y
UPDATE: If the impish repository failed to update, you can download the libssl1.1 package manually and install it.
Para instalarlo manualmente, sigue estos pasos.
sudo wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
Descarguemos e instalemos el paquete wkhtmltox desde Github.
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
sudo chmod +x wkhtmltox_0.12.6-1.focal_amd64.deb
sudo apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb
Crea un enlace simbólico.
ln -s /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
Compruebe si la instalación se ha realizado correctamente.
wkhtmltopdf --version
Output:
wkhtmltopdf 0.12.6 (with patched qt)
6 Instalación y configuración de Odoo 14
Antes de continuar con la instalación, debemos cambiar al usuario de Odoo14.
su - odoo14
Clona el repositorio de Github.
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo14/odoo
Cambie el directorio al directorio Odoo14.
cd /opt/odoo14
Crea un entorno virtual.
python3 -m venv venv
Activa el entorno virtual.
source venv/bin/activate
Dado que la versión predeterminada de Python de ubuntu 22.04 es 3.10, debemos asegurarnos de que los módulos de Python que se enumeran en requirements.txt son compatibles con Python 3.10. Modifiquemos la versión de algunos de los módulos en requirements.txt .
Ahora abra el archivo require.txt usando su editor de texto favorito.
nano /opt/odoo15/odoo/requirements.txt
Modifique sus requisitos actuales.txt con los módulos resaltados.
Babel==2.9.1
chardet==3.0.4
decorator==4.3.0
docutils==0.14
ebaysdk==2.1.5
freezegun==0.3.11; python_version < '3.8'
freezegun==0.3.15; python_version >= '3.8'
gevent==1.1.2 ; sys_platform != 'win32' and python_version < '3.7'
gevent==1.5.0 ; python_version == '3.7'
gevent>=20.9.0 ; python_version >= '3.8'
gevent==1.4.0 ; sys_platform == 'win32' and python_version < '3.7'
greenlet==0.4.10 ; python_version < '3.7'
greenlet==0.4.15 ; python_version == '3.7'
greenlet>=0.4.17 ; python_version > '3.7'
idna==2.6
Jinja2==2.10.1; python_version < '3.8'
# bullseye version, focal patched 2.10
Jinja2==2.11.2; python_version >= '3.8'
libsass==0.17.0
lxml==3.7.1 ; sys_platform != 'win32' and python_version < '3.7'
lxml==4.3.2 ; sys_platform != 'win32' and python_version == '3.7'
lxml==4.6.5 ; sys_platform != 'win32' and python_version > '3.7'
lxml ; sys_platform == 'win32'
Mako==1.0.7
MarkupSafe==1.1.0
num2words==0.5.6
ofxparse==0.19
passlib==1.7.1
Pillow==5.4.1 ; python_version <= '3.7' and sys_platform != 'win32'
Pillow==6.1.0 ; python_version <= '3.7' and sys_platform == 'win32'
Pillow==8.1.1 ; python_version > '3.7'
polib==1.1.0
psutil==5.6.6
psycopg2==2.7.7; sys_platform != 'win32' and python_version < '3.8'
psycopg2==2.8.5; sys_platform == 'win32' or python_version >= '3.8'
pydot==1.4.1
python-ldap==3.1.0; sys_platform != 'win32'
PyPDF2==1.26.0
pyserial==3.4
python-dateutil==2.7.3
pytz==2019.1
pyusb==1.0.2
qrcode==6.1
reportlab==3.5.13; python_version < '3.8'
reportlab==3.5.55; python_version >= '3.8'
requests==2.21.0
zeep==3.2.0
python-stdnum==1.8
vobject==0.9.6.1
Werkzeug==0.16.1
XlsxWriter==1.1.2
xlwt==1.3.*
xlrd==1.1.0; python_version < '3.8'
xlrd==1.2.0; python_version >= '3.8'
pypiwin32 ; sys_platform == 'win32'
Después de modificar los requisitos.txt, guarde el archivo y salga.
Instale la rueda del módulo Python.
(venv) $ pip3 install wheel
Instale los módulos de python en require.txt.
(venv) pip3 install -r odoo/requirements.txt
Desactivar el entorno virtual.
(venv) deactivate
Cree un directorio de complementos personalizado.
mkdir /opt/odoo14/custom-addons
Luego sal.
exit
Cree un archivo de configuración.
sudo nano /etc/odoo14.conf
Inserte el contenido a continuación.
[options]
; This is the password that allows database operations:
admin_passwd = admin_password
db_host = False
db_port = False
db_user = odoo14
db_password = False
xmlrpc_port = 8069
logfile = /var/log/odoo14/odoo.log
addons_path = /opt/odoo14/odoo/addons,/opt/odoo14/custom-addons
Cambie la "admin_password ” a su contraseña preferida, luego guarde y cierre el archivo.
Ahora cree un directorio de registro.
mkdir /var/log/odoo14
chown odoo14:root /var/log/odoo14
7 Crear un servicio Systemd
Para administrar fácilmente nuestra instancia, creemos un servicio systemd.
sudo nano /etc/systemd/system/odoo14.service
Inserte el contenido a continuación.
[Unit]
Description=Odoo14
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo14
PermissionsStartOnly=true
User=odoo14
Group=odoo14
ExecStart=/opt/odoo14/venv/bin/python3 /opt/odoo14/odoo/odoo-bin -c /etc/odoo14.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Guarde y cierre el archivo y vuelva a cargar el demonio systemd para aplicar los cambios.
sudo systemctl daemon-reload
Habilite e inicie el servicio systemd.
sudo systemctl enable --now odoo14
Comprueba el estado.
systemctl status odoo14
Eso es todo, debería poder acceder a su instancia en http://ipaddress:8069 .
Si necesita un proxy inverso, puede consultar nuestra guía sobre cómo configurar Odoo con Apache o Nginx como proxy inverso. Si necesita un certificado SSL, puede consultar nuestro artículo sobre Let's Encrypt.
8 Conclusión
En este tutorial, aprendió cómo instalar Odoo 14 en Ubuntu 22.04 y es muy desafiante debido a problemas de compatibilidad, pero podemos lograrlo. Si le gusta este artículo, también le puede gustar nuestro artículo sobre Odoo 14 en Ubuntu 20.04.