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.
Odoo11 nécessite Python 3.5 qui n'est pas disponible dans les référentiels CentOS. Pour cette raison, nous ne pouvons pas installer le package Odoo via yum à partir du référentiel Odoo.
Soit nous exécutons Odoo dans un conteneur Docker, soit nous l'installons dans un environnement virtuel Python.
Dans ce didacticiel, nous vous expliquerons comment installer Odoo 11 à l'aide de la source Git et de l'environnement virtuel Python sur une machine CentOS 7.
Avant de commencer #
Connectez-vous à votre machine CentOS en tant qu'utilisateur sudo et mettez à jour le système avec les derniers packages :
sudo yum update
Activez le référentiel EPEL en saisissant :
sudo yum install epel-release
Nous installerons les packages Python 3.5 à 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 le référentiel SCL avec la commande suivante :
sudo yum install centos-release-scl
Installez les packages Python 3.5, avec la commande suivante :
sudo yum install rh-python35
Installez enfin git
, pip
et tous les outils nécessaires pour créer des dépendances Odoo :
sudo yum install git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel postgresql-devel
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/odoo -s /bin/bash odoo
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 #
Installez le serveur PostgreSQL et créez un nouveau cluster de bases de données PostgreSQL :
sudo yum install postgresql-server
sudo postgresql-setup initdb
Une fois l'installation terminée, activez et démarrez le service PostgreSQL :
sudo systemctl enable postgresql
sudo systemctl start postgresql
Créez un utilisateur PostgreSQL avec le même nom que l'utilisateur système précédemment créé, dans notre cas odoo
:
sudo su - postgres -c "createuser -s odoo"
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.
Pour télécharger et installer la version recommandée, exécutez les commandes suivantes :
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm
sudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Installer et configurer Odoo 11 #
Nous installerons Odoo à partir du référentiel GitHub afin de mieux contrôler les versions et les mises à jour. Nous utiliserons également virtualenv qui est un outil pour créer des environnements Python isolés.
Avant de commencer le processus d'installation, assurez-vous d'avoir [basculé vers l'utilisateur] "odoo":
sudo su - odoo
Pour confirmer que vous êtes connecté en tant que odoo
utilisateur, vous pouvez utiliser la commande suivante :
whoami
Nous pouvons maintenant commencer le processus d'installation, cloner d'abord l'odoo à partir du référentiel GitHub :
git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11
Activez les collections de logiciels afin que nous puissions accéder aux binaires Python 3.5 :
scl enable rh-python35 bash
Créez un nouvel environnement virtuel pour notre installation Odoo avec :
cd /opt/odoo
python3 -m venv odoo11-venv
activer l'environnement :
source odoo11-venv/bin/activate
et installez tous les modules Python requis :
pip3 install -r odoo11/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 le Before you begin
section. Une fois l'installation terminée, désactivez l'environnement et revenez à votre utilisateur sudo à l'aide des commandes suivantes :
deactivate
exit
Si vous envisagez d'installer des modules personnalisés, il est préférable d'installer ces modules dans un répertoire séparé. Pour créer un nouveau répertoire pour les modules personnalisés, exécutez :
sudo mkdir /opt/odoo/odoo11-custom-addons
sudo chown odoo: /opt/odoo/odoo11-custom-addons
Ensuite, nous devons créer un fichier de configuration :
/etc/odoo11.conf[options]
; This is the password that allows database operations:
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo11/addons
; If you are using custom modules
; addons_path = /opt/odoo/odoo11/addons,/opt/odoo/odoo11-custom-addons
N'oubliez pas de changer le superadmin_passwd
vers quelque chose de plus sécurisé et ajustez le addons_path
si vous utilisez des modules personnalisés. Créer un fichier d'unité systemd #
Pour exécuter odoo en tant que service, nous allons créer un odoo11.service
fichier d'unité dans le /etc/systemd/system/
répertoire avec le contenu suivant :
[Unit]
Description=Odoo11
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo11
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/usr/bin/scl enable rh-python35 -- /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Notifier systemd
que nous avons créé un nouveau fichier unité et démarré le service Odoo en exécutant :
sudo systemctl daemon-reload
sudo systemctl start odoo11
Vous pouvez vérifier l'état du service avec la commande suivante :
sudo systemctl status odoo11
● odoo11.service - Odoo11
Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2018-03-28 20:13:30 UTC; 6s ago
Main PID: 16174 (scl)
CGroup: /system.slice/odoo11.service
├─16174 /usr/bin/scl enable rh-python35 -- /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
├─16175 /bin/bash /var/tmp/sclihoNjg
└─16178 /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
et s'il n'y a pas d'erreurs, vous pouvez activer le service Odoo pour qu'il démarre automatiquement au démarrage :
sudo systemctl enable odoo11
Si vous souhaitez voir les messages enregistrés par le service Odoo, vous pouvez utiliser la commande ci-dessous :
sudo journalctl -u odoo11
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.