Publié le : 23/11/2021
Installer l’ERP Odoo 14 sous Ubuntu 20.04

Dans ce tutoriel, nous allons installer la version 14 de l’ERP Odoo sous Ubuntu 20.04 LTS Server.
Pour installer l’ERP Odoo sous Ubuntu, nous allons suivre les étape suivante.
Mettre à jour Ubuntu 20.04
Tout d’abord, il faut se connecter sur le serveur soit via SSH soit directement sur le serveur. Ensuite, pour la mise à jour il faut exécuter les commandes suivantes :
$ sudo apt update
$ sudo apt upgrade
Sécuriser le serveur
Une fois la mise à jour terminé, il faut s’assurer de la sécurité du serveur. Pour ce faire, nous allons utiliser Fail2ban qui est utilisé pour se protéger des attaques SSH éventuels. On va alors exécuter la commande :
$ sudo apt install fail2ban
Si le serveur Ubuntu ne peut pas encore être accédé via SSH, il faut installer le serveur SSH avec la commande :
$ sudo apt install openssh-server
Création de l’utilisateur Odoo
Nous allons créer un utilisateur système pour le service Odoo. De plus, nous limiterons les autorisations de tous les fichiers et répertoires liés à Odoo pour cet utilisateur spécifique.
$ sudo adduser --system --home=/opt/odoo --group odoo
Installer les packages et librairies que l’ERP Odoo aura besoin pour fonctionner sur Ubuntu 20.04
La prochaine étape est l’installation des différentes librairies et des dépendances des packages pour faire fonctionner Odoo.
$ sudo apt-get install -y python3-pip
$ sudo apt-get install python-dev python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libmysqlclient-dev libjpeg-dev libpq-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev
En plus de ces librairies et packages, nous avons besoin des dépendances web qu’il faut installer avec les commandes :
$ sudo apt-get install -y npm
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
$ sudo npm install -g less less-plugin-clean-css
$ sudo apt-get install -y node-less
Installer et configurer la base de données Postgresql
Odoo utilise le système de gestion de base de données relationnelles (SGBDR) Postgresql pour stocker toutes ces données. Ainsi, par la suite, nous allons voir comment l’installer et le configurer.
Pour ce faire, nous allons installer Postgresql à partir du repository avec la commande :
$ sudo apt install postgresql
Une fois que l’installation est terminée, nous allons créer un utilisateur pour gérer la base de données Odoo. En premier lieu, nous devons changer d’utilisateur en postgres
avec la commande :
$ sudo su - postgres
On va maintenant créer un utilisateur odoo14
avec la commande ci-dessous :
$ createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo14
Il est à noter qu’à cet instant, il faut donner un nouveau mot de passe pour l’utilisateur odoo14
. Ce mot de passe sera utiliser dans le fichier de configuration d’Odoo à la dernière étapde de l’installation d’Odoo.
Une fois l’utilisateur créé, il faut donner un privilège de superuser
pour que l’utilisateur odoo14
possède plus de privilège. On va taper la commande (toujours en tant qu’utilisateur système postgres
):
$ psql
> ALTER USER odoo14 WITH SUPERUSER;
Cette commande va afficher un message de succès dans le terminal. Il faut par la suite quitter psql
et l’utilisateur postgres
.
\q
$ exit
Récupérer Odoo community à partir de git
Maintenant que les librairies et packages sont installés, que les utilisateurs sont configurés, nous allons maintenant passer à l’installation d’Odoo proprement dite. Pour ce faire, nous allons cloner la version Community d’Odoo à partir du Repository d’Odoo sur GitHub.
Pour pouvoir effectuer le clonage, nous devons installer git
sur le serveur.
$ sudo apt install git
Avant d’exécuter l’opération de clone, nous devons changer l’utilisateur du système en tant qu’odoo
(l’utilisateur installé précedemment). Cette opération est nécessaire pour rendre le système Odoo plus sécurisé. On exécute alors la commande suivante :
$ sudo su - odoo -s /bin/bash
L’étape suivante est de cloner le repository d’Odoo et la branche correspondante avec la commande :
$ git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 --single-branch .
Maintenant, les fichiers sont clonés dans le répertoire racine de l’utilisateur odoo
.
Installer les packages python requis par Odoo
Odoo utilise plusieurs packages et librairies python à différents fins. Pour utiliser Odoo, nous avons besoin de les installer via pip3
. De plus, la liste des dépendances requises sont listés dans le fichier requirements.txt
qui est contenu dans le répertoire odoo
qui a été cloné dans la section précédente. Ainsi, on va utiliser ce fichier à pip3
pour installer les librairies et packages automatiquement.
La commande est la suivante :
$ sudo pip3 install -r /opt/odoo/requirements.txt
Il faut s’assurer qu’il n’y a aucune erreur pendant l’installation de ces librairies et packages. S’il y a une erreur, Odoo peut ne pas fonctionner.
wkhtmltopdf
est aussi utilisé par Odoo pour l’impression des états. De plus, l’édition d’Odoo supporte la version 0.12.5
de wkhtmltopdf
pour supporter les entêtes et les pieds de pages.
Ainsi, pour l’installer, on va le télécharger via cet url https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb. La commande d’installation est la suivante :
$ sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
$ sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
$ sudo apt install -f
Configuration d’Odoo
Passons maintenant à la configuration d’Odoo. En effet, Odoo a besoin de plusieurs informations comme l’utilisateur de la base de données, son mot de passe, etc… afin qu’Odoo fonctionne. Et ces informations vont être renseigné dans un fichier de configuration.
La version d’Odoo que l’on vient de cloner possède un fichier de configuration et que l’on peut utiliser et le copier dans un répertoire spécifique. Généralement, le fichier de configuration sera mis dans le répertoire /etc
.
Pour effectuer la copie, nous pouvons utiliser la commande suivante :
$ sudo cp /opt/odoo/debian/odoo.conf /etc/odoo.conf
La prochaine étape est maintenant de modifier ce fichier et de renseigner les informations nécessaire. On va utiliser l’éditeur nano
.
$ sudo nano /etc/odoo.conf
Le fichier de configuration peut être comme suit :
[options]
; This is the password that allows database operations:
admin_passwd = admin
db_host = False
db_port = False
db_user = odoo14
db_password = False
addons_path = /opt/odoo/addons
logfile = /var/log/odoo/odoo.log
La signification de ces paramètres sont :
admin_passwd: Provide a strong password, it will be required during database create/delete/restore operations
db_host: l’hôte de la base de données.
db_port: le port utilisé par la base de données
db_user: l’utilisateur de la base de données
db_password: le mot de passe de l’utilisateur de la base de données
addons_path: c’est le répertoire où l’on va mettre les modules spécifiques. S’il y a plusieurs répertoires, on va les séparer par des virgules.
logfile: le répertoire de log
Il faut donner les droits d’accès au système utilisé dans le fichier conf qui peut fait en utilisant la commande suivante :
$ sudo chown odoo: /etc/odoo.conf
$ sudo chmod 640 /etc/odoo.conf
Odoo va mettre le fichier log des logs dans un répertoire qui est spécifié dans le fichier de configuration. Ubuntu met en général les fichier log dans le répertoire /var/log
, ainsi, on peut mettre le fichier log dans le répertoire suivante :
$ sudo mkdir /var/log/odoo
Et après, nous allons définir les droits d’utilisateurs suivantes :
$ sudo chown odoo:root /var/log/odoo
Création d’un nouveau service pour odoo
Une fois que les différentes configurations et installation d’Odoo faites, créons maintenant le service pour Odoo afin qu’il puisse démarrer automatiquement.
Pour ce faire, nous allons créer un fichier odoo.service
dans le répertoire /etc/systemd/system
.
$ sudo nano /etc/systemd/system/odoo.service
Nous allons mettre, ensuite, dans le fichier les lignes suivantes :
[Unit]
Description=Odoo
Documentation=http://www.odoo.com
[Service]
# Ubuntu/Debian convention:
Type=simple
User=odoo
ExecStart=/opt/odoo/odoo-bin -c /etc/odoo.conf
[Install]
WantedBy=default.target
Une fois que le fichier soit enregistré et fermé, nous allons définir les permissions pour l’utilisateur root
pour ce fichier. Nous allons utiliser la commande :
$ sudo chmod 755 /etc/systemd/system/odoo.service
$ sudo chown root: /etc/systemd/system/odoo.service
Lancement d’Odoo 14
Une fois que toutes les étapes précédentes effectuées, nous pouvons maintenant lancer Odoo et effectuer des tests. Pour démarrer Odoo, nous allons utiliser le service qui a été créé précédement.
$ sudo systemctl start odoo.service
Pour vérifier l’état du service Odoo, nous allons utiliser la commande :
$ sudo systemctl status odoo.service

Si on a l’état active, on peut accéder à l’application Odoo via l’url :
http://<adresse IP serveur>:8069
Enfin pour lancer automatiquement le service Odoo à chaque démarrage du système, il faut exécuter la commande suivante :
$ sudo systemctl enable odoo.service