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
Estimado Angel
Cuando ingreso la siguiente linea:
$ sudo pip3 install -r requeriments.txt
me da la siguiente respuesta
odoo@erwin-Inspiron:~$ sudo pip3 install -r requeriments.txt
[sudo] contraseña para odoo:
odoo no está en el archivo sudoers. Se informará de este incidente.
Hola, la URL «https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb», no existe.
Un saludo y gracias por tu tutorial
En la instalación de dependencias utilizo el comando «cd home/odoo/odoo», » sudo pip3 install -r requeriments.txt» y me da el error «ERROR: Could not open requirements file: [Errno 2] No such file or directory: ‘requeriments.txt'»
me interesa mucho el aprender a hacer implantación de odoo muy bueno tu explicación solo tengo una duda que hospedaje y donde recomiendas tenerlo.
Buenas, este tutorial de instalación es mas que nada para aprender a modo introductorio. Para hacer una implantación te recomiendo que investigues sobre herramientas de orquestación, ya sea con docker o con herramientas como ansible sobre servidores o contenedores. Cuando sepas la tecnología que vas a utilizar ya podrás decidir con que empresa trabajar, por ejemplo google cloud, aws u ovh.
Asegurate de estar en el directorio correcto y con el usuario root.
Si, la url de descarga la han cambiado varias veces el último año, en la web de wkhtmltopdf la puedes encontrar, si no en el tutorial de la versión 15 puse el enlace actualizado.
Buenas, asegurate de estar con el usuario root, o tu usuario de ubuntu que pueda hacer sudo.
Esta mal escrito requeriments en el siguiente comando:
sudo pip3 install -r requeriments.txt
Tiene que escribirse
sudo pip3 install -r requirements.txt
al cometario de erwin el el listado falta poner antes su – odoo, despues cd odoo y cuidado con el comando que esta mal escrito es sudo pip3 isntall -r requirements.txt, lo puedes ver poniendo ls
Hola! la dirección que me está funcionando a día de hoy para el wkhtml2pdf es la siguiente:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.stretch_amd64.deb
Gracias por el tutorial y un saludo!
Gracias, esta dirección ha cambiado mucho los últimos años, lo importante es que sea versión 0.12.5-1, en tu caso lo has descargado para Debian Stretch