Odoo est un logiciel de gestion d'entreprise d'origine belge qui vise à offrir une solution intuitive, complète, entièrement intégrée et facilement évolutive. C'est pourquoi il est très populaire parmi les administrateurs système qui le considèrent comme la solution idéale pour résoudre les problèmes de leur entreprise. Aujourd'hui, vous apprendrez comment installer Odoo 14 sur CentOS 8 avec cet article étape par étape.
Installer Odoo 14 sur CentOS 8
L'installation d'Odoo n'est pas très complexe mais elle nécessite quelques étapes dont nous devons nous occuper. Donc, chacun d'eux, nous devons le faire avec soin
Installer certains packages nécessaires
Avant de commencer le processus d'installation, nous devons installer certains packages nécessaires comme git
ou l'éditeur de texte nano qui nous aidera à éditer les fichiers. De plus, nous devons installer des outils de compilation Python.
Pour cela, connectez-vous à votre serveur et mettez-le à jour.
sudo dnf update
Installez donc les packages nécessaires en exécutant la commande suivante :
sudo dnf install python3 python3-devel nano git gcc redhat-rpm-config libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel
Une fois le processus terminé, nous pouvons passer à l'étape suivante.
Installer PostgreSQL sur CentOS 8
Odoo fonctionne avec PostgreSQL qui est pour beaucoup le meilleur gestionnaire de base de données OpenSource. Pour l'installer sur CentOS 8, nous n'avons qu'à exécuter la commande suivante :
sudo dnf install @postgresql:12
Après cela, nous devons démarrer la base de données par défaut.
sudo postgresql-setup initdb
Et puis, démarrez et activez le service. De cette façon, il démarrera avec le système. Ainsi, lorsque vous redémarrez le serveur, PostgreSQL démarre automatiquement.
Ensuite, vous devez créer un nouvel utilisateur pour Odoo dans PostgreSQL. C'est pour éviter d'utiliser l'utilisateur root.
sudo su - postgres -c "createuser -s odoouser"
Remplacer odoouser
avec le nom d'utilisateur que vous préférez.
PostgreSQL sera maintenant prêt pour l'installation d'Odoo.
Installer wkhtmltopdf
wkhtmltopdf est un outil qui nous permet de transformer des sites HTML en PDF mais il est utilisé par Odoo pour la génération de divers rapports. Il est donc pratique à installer.
L'ensemble du processus est résumé en exécutant la commande suivante :
sudo dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm
De cette manière, le package wkhtmltopdf est téléchargé et installé.
Création d'un nouvel utilisateur système
Il est recommandé de ne pas travailler avec un utilisateur système régulier. Nous devrons donc en créer un nouveau et définir /opt/odoouser
comme son répertoire personnel. Bien sûr, vous pouvez définir un autre emplacement.
sudo useradd -m -U -r -d /opt/odoouser -s /bin/bash odoouser
Rappelez-vous également que vous pouvez changer le nom odoouser
à ce que vous préférez.
Vous pouvez attribuer un mot de passe si vous le jugez nécessaire
sudo passwd odoouser
Maintenant que l'utilisateur est créé, utilisez la commande su pour changer la session à cet utilisateur créé.
sudo su - odoouser
Installer Odoo sur CentOS 8
Il est maintenant temps d'installer Odoo. Pour ce faire, téléchargez-le en utilisant git
dans le répertoire personnel de l'utilisateur créé.
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoouser/odoo
Accédez au dossier créé et créez un environnement virtuel Python
cd /opt/odoouser python3 -m venv venv
Activez l'environnement virtuel en exécutant :
source venv/bin/activate
Et installez Odoo :
pip3 install -r odoo/requirements.txt
À la fin du processus, désactivez l'environnement virtuel.
deactivate
Créez maintenant un dossier dans lequel les addons personnalisés seront situés.
mkdir /opt/odoouser/odoo-custom-addons
Reconnectez-vous maintenant à votre utilisateur habituel.
exit
Configurer Odoo sur CentOS 8
Avec Odoo installé, il reste maintenant à faire les configurations pour pouvoir l'utiliser. En bref, la première configuration que nous devons faire est la connexion à la base de données.
Donc, dans le fichier odoo14.conf
sudo nano /etc/odoo14.conf
Ajoutez le contenu suivant :
[options] admin_passwd = superadmin_passwd db_host = False db_port = False db_user = odoouser db_password = False addons_path = /opt/odoo14/odoo/addons, /opt/odoo14/odoo-custom-addons
Là, nous définissons le mot de passe administrateur dans PostgreSQL et l'utilisateur. Les paramètres avec des valeurs false
indiquent que nous les ajouterons via l'interface Web. Et dans le addons_path
champ ajouter le chemin vers les modules complémentaires personnalisés que nous avons créés précédemment.
Enregistrez les modifications et fermez le fichier.
L'étape suivante consiste à créer un service pour gérer correctement Odoo. Ainsi, les processus de démarrage, de redémarrage ou d'arrêt seront comme n'importe quel autre service du système.
Pour cela, créez le fichier odoo14.service
dans le répertoire des services systemd.
sudo nano /etc/systemd/system/odoo14.service
Et ajoutez le contenu suivant
[Unit] Description=Odoo14 Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=odoo14 PermissionsStartOnly=true User=odoouser Group=odoouser ExecStart=/opt/odoouser/venv/bin/python3 /opt/odoouser/odoo/odoo-bin -c /etc/odoo14.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Portez une attention particulière à l'user
, group
, et ExecStart
valeurs où il faut indiquer le nom d'utilisateur créé.
Encore une fois, enregistrez les modifications et fermez l'éditeur.
Ensuite, actualisez la liste des services
sudo systemctl daemon-reload
Maintenant, démarrez et activez Odoo pour qu'il démarre avec le système.
sudo systemctl enable --now odoo14
Et vous pouvez vérifier l'état du service en exécutant :
sudo systemctl status odoo14
Facultatif :Configurez Nginx en tant que proxy inverse et sécurisez-le avec SSL
À ce stade du didacticiel, vous pouvez désormais accéder depuis un navigateur Web à http://your-server:8069
et accéder à l'écran d'installation. Bien sûr, ce port et le port 8072
doivent être ouverts dans le pare-feu, mais il est pratique de créer un proxy inverse pour un accès facile et d'activer HTTPS. Pour cela, vous devez disposer d'un domaine disponible.
Alors, installez Nginx
sudo dnf install nginx
Pour générer des certificats SSL, nous devons installer Certbot. Pour ce faire, activez le référentiel Epel.
sudo dnf install epel-release
Installez maintenant le snapd
paquet.
sudo dnf install snapd
Démarrez le service et faites-le fonctionner au démarrage :
sudo systemctl enable --now snapd.socket
Créez un lien symbolique des bibliothèques snapd vers le système.
sudo ln -s /var/lib/snapd/snapd/snapd/snap /snap
Utilisez snap pour installer core
puis certbot
.
sudo snap install core sudo snap install --classic certbot
Créez un lien symbolique du binaire Certbot vers le système afin que nous puissions l'utiliser sans problème :
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Maintenant oui, obtenez le certificat :
sudo certbot --redirect --hsts --staple-ocsp --agree-tos --email youremail --nginx -d yourdomain
Remplacez youremail
et yourdomain
avec vos données correctes. Une fois terminé, vous devriez avoir les certificats.
L'étape suivante consiste à créer un fichier de configuration nginx pour odoo.
sudo nano /etc/nginx/conf.d/domain.com
Remplacez domain.com
avec votre domaine et ajoutez le contenu suivant
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
server {
listen 80;
server_name www.domain.com domain.com;
include snippets/letsencrypt.conf;
return 301 https://domain.com$request_uri;
}
server {
listen 443 ssl http2;
server_name www.domain.com;
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/domain.com/chain.pem;
include snippets/ssl.conf;
return 301 https://domain.com$request_uri;
}
server {
listen 443 ssl http2;
server_name domain.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/domain.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
location /longpolling {
proxy_pass http://odoochat;
}
location / {
proxy_redirect off;
proxy_pass http://odoo;
}
location ~* /web/static/ {
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo;
}
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
N'oubliez pas de remplacer domain.com
avec votre nom de domaine.
Enregistrez les modifications et fermez l'éditeur.
Enfin, démarrez et activez nginx.
sudo systemctl enable --now nginx.socket
Pour que cela fonctionne, vous devez ajouter un détail dans la configuration d'odoo. Ouvrez le fichier de configuration :
sudo nano /etc/odoo14.conf
Et ajoutez la ligne suivante :
proxy_mode = True
Quittez l'éditeur en enregistrant les modifications et appliquez-les en redémarrant le service Odoo.
sudo systemctl restart odoo14
Installer Odoo à l'aide de l'interface Web
Vous pouvez maintenant ouvrir votre navigateur Web et accéder à https://your-domain
et configurer Odoo. Dans cet écran, vous devez ajouter les informations de configuration respectives telles que le nom de la base de données, la langue, l'e-mail et deux mots de passe, le maître et le mot de passe PostgreSQL.
Avec cela, Oddo sera opérationnel.
Conclusion
Odoo est l'un des CRM les plus importants et apprendre à l'installer sur un serveur CentOS 8 n'est pas une tâche aussi difficile que vous pourriez le penser. Cependant, il faut un peu de temps pour qu'il soit opérationnel sur votre système.