Se rendre au contenu

Installer Odoo 18 CE sur Debian 12


Odoo est une solution de gestion d'entreprise open-source qui offre une large gamme d'applications pour la gestion des entreprises. Dans cet article, nous allons vous montrer comment installer Odoo 18 sur un serveur Debian 12, de l'installation des dépendances à la mise en place d'un reverse proxy pour accéder à Odoo via un domaine sécurisé en HTTPS.

Prérequis

Avant de commencer l'installation, assurez-vous d'avoir une installation propre de Debian 12 avec un accès administrateur. Ce guide suppose également que vous disposez d'un accès SSH à votre serveur.

1. Mise à jour de votre système

La première étape consiste à s'assurer que votre système est à jour. Exécutez les commandes suivantes pour mettre à jour tous les paquets installés sur votre système Debian 12.

sudo apt-get update && sudo apt-get upgrade -y

Cela garantit que votre système dispose des dernières versions de logiciels et de correctifs de sécurité.

2. Configurer le pare-feu avec UFW

La sécurité est primordiale, c'est pourquoi nous allons configurer un pare-feu simple à l'aide de UFW (Uncomplicated Firewall). Suivez les étapes ci-dessous :

Installation de UFW

sudo apt install ufw

Autoriser les connexions SSH

sudo ufw allow OpenSSH sudo ufw enable

Autoriser les connexions HTTP et HTTPS

sudo ufw allow "WWW Full" sudo ufw reload

Vérification du statut du pare-feu

sudo ufw status

Cela permet de s'assurer que le pare-feu est bien actif et que les connexions nécessaires (SSH, HTTP, HTTPS) sont autorisées.

3. Installation des dépendances nécessaires

Odoo 18 nécessite Python 3.11, qui est déjà inclus dans Debian 12. Nous allons maintenant installer toutes les dépendances nécessaires à Odoo, y compris les bibliothèques pour les graphiques, la compression, et les connexions à la base de données PostgreSQL.

sudo apt install build-essential wget git python3.11-dev python3.11-venv \ libfreetype-dev libxml2-dev libzip-dev libsasl2-dev \ node-less libjpeg-dev zlib1g-dev libpq-dev \ libxslt1-dev libldap2-dev libtiff5-dev libopenjp2-7-dev libcap-dev

Ces paquets sont nécessaires pour faire fonctionner Odoo de manière optimale.

4. Créer un utilisateur système pour Odoo

Il est recommandé de créer un utilisateur dédié pour exécuter Odoo afin d'éviter les conflits avec d'autres processus système. Exécutez la commande suivante pour ajouter un utilisateur :

sudo useradd -m -d /opt/odoo18 -Urs /bin/bash odoo18

Cela crée un utilisateur nommé odoo18 avec un répertoire personnel situé à /opt/odoo18.

5. Installation de PostgreSQL

Odoo fonctionne avec PostgreSQL pour la gestion des bases de données. Debian 12 inclut PostgreSQL dans ses dépôts officiels, donc l'installation est simple.

sudo apt install postgresql

Ensuite, nous devons créer un utilisateur PostgreSQL pour Odoo avec le même nom que l'utilisateur système :

sudo su - postgres -c "createuser -s odoo18"

6. Installation de wkhtmltopdf

Odoo utilise wkhtmltopdf pour générer des rapports au format PDF à partir de pages HTML. La version de wkhtmltopdf disponible pour Debian 12 n'est pas directement compatible, donc nous allons installer une version patchée.

wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb sudo apt install ./libssl1.1_1.1.1f-1ubuntu2_amd64.deb wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.bullseye_amd64.deb sudo apt install ./wkhtmltox_0.12.6.1-2.bullseye_amd64.deb

En cas de problème avec l'installation, vous pouvez essayer d'exécuter :

sudo apt install -f

7. Installation d'Odoo

Nous allons maintenant installer Odoo dans un environnement Python virtuel. Commencez par vous connecter en tant qu'utilisateur odoo18 :

sudo su - odoo18

Clonez le dépôt GitHub d'Odoo 18 :

git clone https://www.github.com/odoo/odoo --depth 1 --branch 18.0 odoo18

Ensuite, créez un environnement virtuel Python et activez-le :

python3.11 -m venv odoo18-venv source odoo18-venv/bin/activate

Installez les dépendances Python nécessaires pour Odoo :

pip install wheel setuptools pip --upgrade pip install -r odoo18/requirements.txt

pip install phonenumbers

Une fois l'installation terminée, vous pouvez créer un répertoire pour les modules personnalisés d'Odoo :

mkdir /opt/odoo18/odoo18/custom-addons

Quittez ensuite l'utilisateur odoo18 pour créer le fichier de configuration d'Odoo :

exit

8. Créer le fichier de configuration d'Odoo

Créez un fichier de configuration pour Odoo dans /etc/odoo18.conf :

sudo nano /etc/odoo18.conf

Ajoutez le contenu suivant dans le fichier :

[options] admin_passwd = changemewithstrongpassword db_host = False db_port = False db_user = odoo18 db_password = False addons_path = /opt/odoo18/odoo18/addons,/opt/odoo18/odoo18/custom-addons

Remplacez password par un mot de passe plus sécurisé.

9. Créer un fichier de service systemd pour Odoo

Pour gérer Odoo en tant que service, nous devons créer un fichier unit systemd. Exécutez la commande suivante :

sudo systemctl edit odoo18 --force --full

Ajoutez le contenu suivant pour configurer Odoo comme un service :

[Unit] Description=odoo18 Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=odoo18 PermissionsStartOnly=true User=odoo18 Group=odoo18 ExecStart=/opt/odoo18/odoo18-venv/bin/python3 /opt/odoo18/odoo18/odoo-bin -c /etc/odoo18.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target

Rechargez ensuite le service systemd et activez Odoo :

sudo systemctl daemon-reload sudo systemctl enable --now odoo18

Vérifiez si Odoo fonctionne avec :

sudo systemctl status odoo18

Vous pouvez maintenant accéder à Odoo en allant sur http://votre_ip_serveur:8069.

10. Installer et configurer un reverse proxy avec Nginx

Pour accéder à Odoo via un nom de domaine, nous devons configurer un reverse proxy avec Nginx. Commencez par installer Nginx :

sudo apt install nginx

Ensuite, créez un bloc de serveur Nginx pour Odoo :

sudo nano /etc/nginx/conf.d/odoo.conf

Ajoutez la configuration suivante :

server { listen 80; server_name yourdomain.com; location / { proxy_pass http://127.0.0.1:8069; 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 $scheme; } }

Redémarrez Nginx pour appliquer les modifications :

sudo systemctl restart nginx

11. Sécuriser avec SSL via Certbot

Enfin, pour sécuriser votre site avec HTTPS, installez Certbot et obtenez un certificat SSL :

sudo apt install certbot python3-certbot-nginx sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email votre_email@example.com -d yourdomain.com

Certbot configurera automatiquement HTTPS pour votre domaine.

Félicitations, vous avez maintenant installé Odoo 18 sur Debian 12, sécurisé votre site avec SSL et configuré un reverse proxy Nginx pour accéder à Odoo via un nom de domaine.


Évaluation
1 0

Il n'y a aucune réaction pour le moment.

pour être le premier à laisser un commentaire.