Como instalar Odoo 14 en Ubuntu 20.04

Este año he tardado un poco mas de lo normal en sacar esta guía de instalación, pero este año ya sabéis que no ha sido muy normal. Aunque no se hayan realizado los Odoo Days y OCA Days en Belgica como otros años lo hemos podido seguir online y ver las novedades que trae la nueva versión.

Odoo 14 creo que es un punto mas de maduración, a parte de todo lo realizado en website, se ha visto muchos detalles en listados y en general pequeños detalles para facilitar el uso y dar mas información a simple vista al usuario. La guía de instalación no viene con grandes cambios, así que es prácticamente igual que la anterior, aunque he añadido un par de notas para simplificar conceptos que he detectado en vuestros comentarios.

Crear un usuario del sistema

Si estamos en un servidor es recomendable crear un usuario para lanzar el servidor de odoo, el usuario se puede crear como un usuario del sistema o como un usuario con acceso completo, yo prefiero crear un usuario con acceso completo y descargar en su directorio home todo el código.

Suponemos que ya tenemos un usuario que es super usuario, así que no hará falta hacer superusuario al usuario odoo. Por seguridad es recomendable no hacerlo.

Para crear un usuario podemos utilizar el script adduser y seguir los pasos.

$ sudo adduser odoo

Instalación de Postgresql

El motor de la base de datos de Odoo es postgres, esto no ha cambiado, en Ubuntu 18.04 viene con postgresql 12, cada nueva versión trae mejoras en rendimiento.

Tendremos que instalar el servidor y crear un usuario para conectarnos.

Instalar el servidor de postgresql

$ sudo apt-get install postgresql postgresql-client

Con el usuario postgres vamos a crear un usuario de base de datos llamado odoo con permiso para crear bases de datos (–createdb) y le ponemos una contraseña (–pwprompt), despues de crearlo volvemos a nuestro usuario.

$ sudo su postgres
$ createuser --createdb --pwprompt odoo
$ exit

OBTENER EL CÓDIGO DE ODOO

Para obtener el código de Odoo hay varias alternativas, se puede descargar un nightly build, o descargarlo directamente desde git. Al descargarlo desde git será mas sencillo de actualizar.

Para descargar el código primero hay que tener instalado git:

$ sudo apt-get install  git

Una vez instalado git, podemos cambiar al usuario odoo y descargar el código de Odoo, una vez descargado volvemos a nuestro usuario

$ su - odoo
$ cd
$ git clone https://github.com/Odoo/odoo.git --depth 1 --branch 14.0 --single-branch odoo
$ exit

Con esto descargaremos la versión 14.0 (–branch 14.0) de Odoo en nuestro directorio home, con la opción –depth 1 descargaremos únicamente el último commit en lugar de descargar todo el histórico del código.

Instalación de dependencias

En otras versiones instalaba casi todas las dependencias con apt, en esta versión he comprobado que con python pip se instalan todas correctamente y sólo hay que instalar algunas librerías de mas bajo nivel para que se puedan instalar con pip correctamente.

Instalamos las primeras dependencias con pip:

$ sudo apt-get install  git python3 python3-pip libxml2-dev libxslt1-dev libevent-dev libsasl2-dev libldap2-dev libjpeg-dev zlib1g-dev libpq-dev

Con estas dependencias instaladas ya podemos lanzar la instalación de los requisitos que tenemos en el fichero requeriments.txt del directorio de odoo:

$ cd odoo
$ sudo pip3 install -r requeriments.txt

Instalación de wkhtml2pdf

Como siempre la librería wkhtml2pdf nos da problemas dependiendo de la versión que utilicemos, para esta versión de Odoo vamos a utilizar la versión 0.12.5 de wkhtml2pdf.

Para instalar esta versión lo primero necesitamos instalar los software-properties-common y activar el repositorio de apt bionic-security:

$ sudo apt-get install -y software-properties-common
$ sudo apt-add-repository -y "deb http://security.ubuntu.com/ubuntu focal-security main"
$ sudo apt-get -yq update

Una vez actualizado apt se pueden instalar las dependencias con apt:

$ sudo apt-get install -y libxrender1 libfontconfig1 libx11-dev libjpeg62 libxtst6 fontconfig xfonts-75dpi xfonts-base libjpeg-turbo8 wget

Por último descargamos la librería con wget y la podemos instalar con dpkg:

$ wget "https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb"
$ sudo dpkg -i wkhtmltox_0.12.5-1.focal_amd64.deb

Si se han instalado las dependencias se tendría que instalar sin problemas.

CONFIGURACIÓN DE ODOO

Con esto ya tenemos todo lo necesario para lanzar odoo de forma manual, pasando las opciones como parametros, para no tener que indicarlos en cada ejecución vamos a crear un fichero de configuración con el usuario odoo llamado odoo-server.conf en el directorio home de odoo con este contenido:

[options]
; This is the password that allows database operations:
; admin_passwd = admin
db_host = 127.0.0.1
db_port = 5432
db_user = odoo
db_password = odoo
;addons_path = /usr/lib/python3/dist-packages/odoo/addons

Con este fichero podrémos lanzar odoo con:

$ su odoo -
/home/odoo/odoo/odoo-bin -c /home/odoo/odoo-server.conf
$ exit

Una vez lanzado odoo, desde el administrador de base de datos se puede configurar la contraseña de administrador (admin_passwd). Al configurarlo desde el cliente web, se encriptará la contraseña y se actualizará el fichero de configuración con todas sus opciones por defecto.

LANZAR ODOO AL INICIO

En esta versión de Odoo vamos a utilizar systemctl en lugar de initd, para esto tendrémos que crear el fichero que lanzará el servicio:

$ sudo nano /etc/systemd/system/odoo.service

con el siguiente contenido:

[Unit]
Description=Odoo Open Source ERP and CRM
After=network.target

[Service]
Type=simple
User=odoo
Group=odoo
ExecStart=/home/odoo/odoo/odoo-bin --config /home/odoo/odoo.conf
KillMode=mixed

[Install]
WantedBy=multi-user.target

Activamos el servicio:

$ sudo systemctl enable odoo.service

  Por último podemos arrancar el servicio con:

$ sudo systemctl start odoo

  También podemos parar el servicio con:

$ sudo systemctl stop odoo

  Y consultar el estado del servicio con:

$ sudo systemctl status odoo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.