Dans ce tutoriel, nous vous guiderons à travers les étapes d'installation d'Odoo 11 sur CentOS 7. Nous allons également installer Nginx et le configurer en tant que proxy inverse. Odoo (anciennement OpenERP) est une suite simple et intuitive d'applications de gestion d'entreprise open source telles que Website Builder, eCommerce, CRM, Accounting, Manufacturing, Project and Warehouse Management, Human Resources, Marketing, et bien d'autres.
Odoo est disponible en deux éditions, l'édition Community qui est gratuite et l'édition Enterprise. Dans notre cas, nous installerons et utiliserons l'édition communautaire. Odoo 11 nécessite Python 3.5 qui n'est pas disponible dans les référentiels CentOS. C'est la raison pour laquelle nous ne pouvons pas installer le package Odoo via yum
Exigences :
- VPS CentOS 7
- Accès SSH avec privilèges root
- Python 3
- Serveur PostgreSQL
- Nginx
Étape 1 :
Connectez-vous au serveur et mettez à jour
ssh root@IP_Address -p Port_number yum update
Étape 2 :
Activer le référentiel EPEL
yum install epel-release
Étape 3 :
Installer Python
Pour pouvoir installer Python 3 sur un serveur CentOS, nous devons activer le référentiel SCL (Software Collection).
yum install centos-release-scl
Installer Python 3.5
yum install rh-python35
Installez les packages pour répondre aux exigences d'Odoo
yum install git wget nodejs-less gcc bzip2-devel freetype-devel libjpeg-devel libxslt-devel openldap-devel postgresql-devel
Créer un utilisateur système pour Odoo
useradd -m -U -r -d /opt/odoo -s /bin/bash odoo
Étape 4 :
Installer PostgreSQL
yum install postgresql-server
postgresql-setup initdb
Une fois terminé, nous pouvons démarrer et activer PostgreSQL au démarrage
systemctl enable postgresql
systemctl start postgresql
Nous avons créé un utilisateur système nommé odoo, maintenant nous devons créer un PostgreSQL avec le même nom.
su - postgres -c "createuser -s odoo"
Étape 5 :
Installer wkhtmltopdf
Il s'agit d'un outil de ligne de commande pour rendre HTML au format PDF à l'aide du moteur de rendu QT Webkit. Parfois, nous devons imprimer des rapports dans Odoo au format PDF, et cet outil peut nous aider à le faire.
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
yum localinstall wkhtmltox-0.12.5-1.centos7.x86_64.rpm
Étape 6 :
Installer Odoo 11
Nous avons créé un utilisateur système "odoo", passons à cet utilisateur système pour installer Odoo
su - odoo
Ensuite, clonez Odoo 11 depuis le dépôt GitHub :
git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11
Activez les collections de logiciels pour nous permettre d'accéder aux binaires Python 3.5 :
scl enable rh-python35 bash
Maintenant, créons un environnement virtuel
cd /opt/odoo
python3 -m venv odoo11-venv
Activer l'environnement virtuel nouvellement créé
source odoo11-venv/bin/activate
Et maintenant, installons tous les modules :
pip3 install -r odoo11/requirements.txt
Une fois terminé, nous devons désactiver l'environnement virtuel et en sortir
deactivate && exit
exit
Odoo11 a été installé avec succès, il est temps de créer un fichier de configuration.
nano /opt/odoo11.conf
[options] ; This is the password that allows database operations: admin_passwd = Mod1fyth15 db_host = False db_port = False db_user = odoo db_password = False addons_path = /opt/odoo/odoo11/addons
Vous pouvez spécifier votre mot de passe principal dans admin_password dans le fichier /opt/odoo11.conf.
Créer un fichier système Odoo
nano /etc/systemd/system/odoo11.service
[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 /opt/odoo11.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
systemctl daemon-reload systemctl start odoo11 systemctl enable odoo11
Nous pouvons vérifier l'état d'Odoo
[root@rose /]# systemctl status odoo11 ● odoo11.service - Odoo Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2018-08-10 20:10:35 CDT; 4s ago Main PID: 13085 (scl) CGroup: /system.slice/odoo11.service ├─13085 /usr/bin/scl enable rh-python35 -- /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /opt/odoo11.conf ├─13086 /bin/bash /var/tmp/scl2im0eB └─13089 /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /opt/odoo11.conf
Étape 7 :
Installer le serveur Web Nginx et configurer le proxy inverse
Maintenant, Odoo 11 a été installé avec succès sur le port 8069.
Pour y accéder en utilisant votre nom de domaine et sans le numéro de port dans votre navigateur Web, nous devons configurer nginx en tant que proxy inverse.
Si Apache est installé, désinstallons-le ou désactivons-le, puis installons nginx pour continuer
systemctl disable httpd systemctl stop httpd yum install nginx
Activer nginx pour démarrer au démarrage
systemctl enable nginx
Créez un fichier de configuration nginx.
nano /etc/httpd/conf.d/yourdomain.com.conf
upstream odoo11 { server 127.0.0.1:8069; } server { listen 80 default; server_name yourdomain.com; access_log /var/log/nginx/yourdomain.com.access.log; error_log /var/log/nginx/yourdomain.com.error.log; proxy_buffers 16 64k; proxy_buffer_size 128k; location / { proxy_pass http://odoo11; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } location ~* /web/static/ { proxy_cache_valid 200 60m; proxy_buffering on; expires 864000; proxy_pass http://odoo11; } }
Vérifiez la configuration de nginx et si tout va bien, redémarrez-le.
nginx -t
systemctl restart nginx
Vous devriez maintenant pouvoir accéder à Odoo avec votre nom de domaine sur http://votredomaine.com, créer votre première base de données Odoo en utilisant le mot de passe principal que nous avons défini précédemment dans ce didacticiel et commencer à travailler sur votre projet. Pour plus d'informations sur Odoo 11, ses fonctionnalités et sa configuration, veuillez consulter leur documentation officielle.
Bien sûr, vous n'avez pas besoin de savoir comment installer Odoo 11 sur CentOS 7 avec Nginx en tant que proxy inverse si vous avez un hébergement Odoo VPS avec nous. Vous pouvez simplement demander à notre équipe d'assistance d'installer Odoo 11 sur CentOS 7 pour vous. Ils sont disponibles 24h/24 et 7j/7 et pourront vous aider à installer Odoo 11 sur CentOS 7. Au cas où vous auriez besoin de savoir comment installer Odoo 14 sur CentOS 8 avec Nginx comme proxy inverse, nous avons un tutoriel pour ça aussi.
PS. Si vous aimez lire cet article de blog sur Comment installer Odoo 11 sur CentOS 7 avec Nginx en tant que proxy inverse, n'hésitez pas à le partager sur les réseaux sociaux en utilisant les raccourcis ci-dessous, ou laissez simplement un commentaire.