
Odoo est le logiciel professionnel tout-en-un le plus populaire au monde. Il offre une gamme d'applications commerciales, y compris CRM, site Web, commerce électronique, facturation, comptabilité, fabrication, entrepôt, gestion de projet, inventaire et bien plus encore, toutes intégrées de manière transparente.
Dans ce tutoriel, nous allons vous montrer comment installer Odoo12 à partir de la source dans un environnement virtuel Python sur une machine CentOS 7.
Prérequis #
Assurez-vous d'être connecté en tant qu'utilisateur avec des privilèges sudo avant de poursuivre le didacticiel.
Installer les dépendances Python 3.6 et Odoo #
Nous installerons les packages Python 3.6 à partir du référentiel Software Collections (SCL).
En activant SCL, vous aurez accès aux nouvelles versions des langages de programmation et des services qui ne sont pas disponibles dans les référentiels principaux.
Activez les référentiels EPEL et SCL avec la commande suivante :
sudo yum install epel-release centos-release-scl
Une fois les référentiels activés, installez Python 3.6 tous les outils nécessaires pour créer des dépendances Odoo :
sudo yum install rh-python36 git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel
Lors de l'installation, vous serez invité à accepter les clés GPG.
Créer un numéro d'utilisateur Odoo
Créez un nouvel utilisateur système et un groupe avec le répertoire personnel /opt/odoo
qui exécutera le service Odoo :
sudo useradd -m -U -r -d /opt/odoo12 -s /bin/bash odoo12
Vous pouvez nommer l'utilisateur comme vous le souhaitez, assurez-vous simplement de créer un utilisateur PostgreSQL avec le même nom. Installer et configurer PostgreSQL #
Au moment de la rédaction de cet article, la dernière version de PostgreSQL disponible dans les référentiels CentOS est PostgreSQL version 9.2 qui n'est pas officiellement prise en charge par Odoo.
Nous installerons PostgreSQL 10 à partir des dépôts PostgreSQL officiels.
Commencez par activer le dépôt PostgreSQL :
sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
Installez le serveur PostgreSQL et créez un nouveau cluster de bases de données PostgreSQL :
sudo yum install postgresql10-server postgresql10-devel
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Une fois l'installation terminée, activez et démarrez le service PostgreSQL :
sudo systemctl enable postgresql-10
sudo systemctl start postgresql-10
Créez un utilisateur PostgreSQL avec le même nom que l'utilisateur système précédemment créé, dans notre cas odoo12
:
sudo su - postgres -c "createuser -s odoo12"
Installer Wkhtmltopdf #
Le wkhtmltox
Le package fournit un ensemble d'outils de ligne de commande open source qui peuvent rendre HTML en PDF et divers formats d'image. Pour imprimer des rapports PDF, vous aurez besoin du wkhtmltopdf
outil. La version recommandée pour Odoo est 0.12.1
qui n'est pas disponible dans les dépôts officiels CentOS 7.
Téléchargez la version recommandée avec la commande wget suivante :
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Une fois le téléchargement terminé, installez le rpm
package en tapant :
sudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Installer et configurer Odoo 12 #
Avant de commencer le processus d'installation, assurez-vous de passer à l'utilisateur "odoo12":
sudo su - odoo12
Commencez par cloner le code source d'Odoo 12 depuis le référentiel Odoo GitHub :
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
Activez les collections de logiciels afin que nous puissions accéder aux binaires Python 3.6 :
scl enable rh-python36 bash
Créez un nouvel environnement virtuel Python pour l'installation d'Odoo avec :
cd /opt/odoo12
python3 -m venv venv
Activer l'environnement :
source venv/bin/activate
Installez tous les modules Python requis :
pip3 install -r odoo/requirements.txt
Si vous rencontrez des erreurs de compilation lors de l'installation, assurez-vous d'avoir installé toutes les dépendances requises répertoriées dans la section Install Python 3.6 and Odoo Dependencies
section. Une fois l'installation terminée, désactivez l'environnement à l'aide de la commande suivante :
deactivate
Créez un nouveau répertoire pour les addons personnalisés :
mkdir /opt/odoo12/odoo-custom-addons
Revenez à votre utilisateur sudo :
exit
Ensuite, ouvrez votre éditeur de texte et créez le fichier de configuration suivant :
sudo nano /etc/odoo12.conf
/etc/odoo12.conf[options]
; This is the password that allows database operations:
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo12
db_password = False
addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons
Enregistrez et fermez le fichier.
N'oubliez pas de changer lesuperadmin_passwd
à quelque chose de plus sûr. Créer un fichier d'unité systemd #
Pour exécuter Odoo en tant que service, nous allons créer un fichier d'unité.
Ouvrez votre éditeur de texte et créez un fichier nommé odoo12.service
dans le /etc/systemd/system/
répertoire :
sudo nano /etc/systemd/system/odoo12.service
Collez le contenu suivant :
/etc/systemd/system/odoo12.service[Unit]
Description=Odoo12
Requires=postgresql-10.service
After=network.target postgresql-10.service
[Service]
Type=simple
SyslogIdentifier=odoo12
PermissionsStartOnly=true
User=odoo12
Group=odoo12
ExecStart=/usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Enregistrez le fichier et fermez l'éditeur.
Avertissez Systemd que nous avons créé un nouveau fichier d'unité :
sudo systemctl daemon-reload
Démarrez et activez le service Odoo en exécutant :
sudo systemctl enable odoo12
sudo systemctl start odoo12
Vous pouvez vérifier l'état du service avec la commande suivante :
sudo systemctl status odoo12
● odoo12.service - Odoo12
Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2018-10-30 16:35:09 UTC; 6s ago
Main PID: 24649 (scl)
CGroup: /system.slice/odoo12.service
├─24649 /usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
├─24650 /bin/bash /var/tmp/scldyaa9h
└─24653 /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
Si vous souhaitez voir les messages enregistrés par le service Odoo, vous pouvez utiliser la commande ci-dessous :
sudo journalctl -u odoo12
Tester l'installation #
Ouvrez votre navigateur et tapez :http://<your_domain_or_IP_address>:8069
En supposant que l'installation est réussie, un écran semblable au suivant apparaît :

Si vous ne pouvez pas accéder à la page, votre pare-feu bloque probablement le port 8069
.
Utilisez les commandes suivantes pour ouvrir le port nécessaire :
sudo firewall-cmd --permanent --zone=public --add-port=8069/tcp
sudo firewall-cmd --reload