Comment deployer Odoo 17 sur un serveur europeen securise : guide complet
Apprenez a installer, configurer et securiser Odoo 17 sur un serveur Linux heberge en Europe. Tutoriel etape par etape couvrant la configuration de PostgreSQL, le reverse proxy, SSL et l'hebergement conforme au RGPD.
Si vous dirigez une entreprise europeenne et avez besoin d'un systeme ERP qui respecte votre souverainete numerique, deployer Odoo 17 sur un serveur physiquement situe dans l'UE est l'une des decisions les plus judicieuses que vous puissiez prendre. Pourtant, la plupart des tutoriels passent sous silence les details essentiels : ou se trouve reellement le serveur, comment le securiser pour la production, et quelles obligations RGPD vous incombent des que des donnees clients touchent le disque.
Ce guide vous accompagne dans le deploiement d'Odoo 17 sur un serveur Linux europeen, de zero -- couvrant PostgreSQL, le reverse proxy Nginx, les certificats SSL et le socle de securite indispensable a toute instance de production.
Pourquoi l'emplacement du serveur est important pour Odoo
Odoo stocke tout -- factures, contacts clients, dossiers employes, donnees comptables. Selon le RGPD, cela constitue un traitement de donnees personnelles. Si votre serveur se trouve en dehors de l'UE (ou chez un fournisseur dont le siege est aux Etats-Unis et soumis au CLOUD Act), vous risquez des problemes de conformite, quel que soit le contenu de votre politique de confidentialite.
Choisir un hebergeur europeen avec des serveurs dans l'UE elimine ce risque au niveau de l'infrastructure. Pas besoin de Clauses Contractuelles Types, pas de decisions d'adequation a suivre -- vos donnees restent tout simplement sous juridiction europeenne.
Prerequis
Avant de commencer, assurez-vous de disposer de :
- Un serveur Ubuntu 22.04 LTS ou Debian 12 fraichement installe avec au moins 2 vCPU, 4 Go de RAM et 40 Go de SSD
- Un nom de domaine pointant vers l'adresse IP de votre serveur
- Un acces root ou sudo via SSH
- Un serveur heberge dans un centre de donnees europeen (l'Allemagne, la Finlande, la France ou les Pays-Bas sont des choix courants)
Etape 1 : Preparation du systeme
Mettez a jour votre systeme et installez les dependances requises :
sudo apt update && sudo apt upgrade -y
sudo apt install -y git python3-pip python3-dev python3-venv \
libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev \
libldap2-dev build-essential libssl-dev libffi-dev \
libjpeg-dev libpq-dev liblcms2-dev libblas-dev \
libatlas-base-dev node-less npm wkhtmltopdf
Creez un utilisateur systeme dedie pour Odoo -- ne l'executez jamais en tant que root :
sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
Etape 2 : Installer et configurer PostgreSQL
Odoo necessite PostgreSQL. Installez-le et creez un utilisateur de base de donnees :
sudo apt install -y postgresql
sudo su - postgres
createuser --createdb --username postgres --no-createrole \
--no-superuser --pwprompt odoo
exit
Choisissez un mot de passe robuste et conservez-le en lieu sur. Cet utilisateur sera proprietaire de toutes les bases de donnees Odoo.
Pour la production, ajustez PostgreSQL en fonction de la RAM disponible. Editez /etc/postgresql/15/main/postgresql.conf :
shared_buffers = 1GB
effective_cache_size = 3GB
work_mem = 16MB
maintenance_work_mem = 256MB
Redemarrez PostgreSQL apres les modifications :
sudo systemctl restart postgresql
Etape 3 : Installer Odoo 17 depuis les sources
Clonez le depot officiel et configurez un environnement virtuel Python :
sudo su - odoo
git clone https://github.com/odoo/odoo.git --depth 1 \
--branch 17.0 /opt/odoo/odoo17
python3 -m venv /opt/odoo/odoo17-venv
source /opt/odoo/odoo17-venv/bin/activate
pip install wheel
pip install -r /opt/odoo/odoo17/requirements.txt
deactivate
exit
Creez le fichier de configuration Odoo dans /etc/odoo.conf :
[options]
admin_passwd = YOUR_STRONG_MASTER_PASSWORD
db_host = localhost
db_port = 5432
db_user = odoo
db_password = YOUR_DB_PASSWORD
addons_path = /opt/odoo/odoo17/addons
default_productivity_apps = True
logfile = /var/log/odoo/odoo.log
log_level = warn
xmlrpc_port = 8069
proxy_mode = True
Important : Definissez proxy_mode = True puisque nous allons executer Odoo derriere Nginx.
Etape 4 : Creer un service Systemd
Creez /etc/systemd/system/odoo17.service :
[Unit]
Description=Odoo 17
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo17
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo17-venv/bin/python3 \
/opt/odoo/odoo17/odoo-bin -c /etc/odoo.conf
StandardOutput=journal+console
Restart=on-failure
[Install]
WantedBy=multi-user.target
Activez et demarrez le service :
sudo systemctl daemon-reload
sudo systemctl enable --now odoo17
Etape 5 : Configurer Nginx comme reverse proxy avec SSL
Installez Nginx et Certbot pour obtenir des certificats Let's Encrypt gratuits :
sudo apt install -y nginx certbot python3-certbot-nginx
Creez une configuration de site Nginx dans /etc/nginx/sites-available/odoo :
upstream odoo {
server 127.0.0.1:8069;
}
server {
listen 80;
server_name your-domain.eu;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl http2;
server_name your-domain.eu;
ssl_certificate /etc/letsencrypt/live/your-domain.eu/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.eu/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
client_max_body_size 200m;
location / {
proxy_pass http://odoo;
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;
}
location ~* /web/static/ {
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo;
}
}
Activez le site et obtenez votre certificat SSL :
sudo ln -s /etc/nginx/sites-available/odoo /etc/nginx/sites-enabled/
sudo certbot --nginx -d your-domain.eu
sudo systemctl restart nginx
Etape 6 : Renforcement de la securite
Une instance Odoo en production necessite plus que le simple SSL. Appliquez ces mesures de renforcement essentielles :
Regles de pare-feu -- n'autorisez que SSH, HTTP et HTTPS :
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
Desactivez le gestionnaire de bases de donnees en production en ajoutant dans /etc/odoo.conf :
list_db = False
Activez les mises a jour de securite automatiques :
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
Configurez fail2ban pour proteger contre les tentatives de connexion par force brute :
sudo apt install -y fail2ban
Sauvegardes automatisees
Vos donnees Odoo sont votre entreprise. Mettez en place des sauvegardes PostgreSQL quotidiennes :
sudo -u odoo pg_dump odoo_production | gzip > \
/opt/odoo/backups/odoo_$(date +%F).sql.gz
Ajoutez ceci a une tache cron et envisagez de repliquer les sauvegardes vers un second emplacement dans l'UE pour la reprise apres sinistre.
Erreurs courantes a eviter
- Executer Odoo en tant que root -- utilisez toujours un utilisateur systeme dedie
- Oublier
proxy_mode-- sans cette option, Odoo ne peut pas voir les adresses IP reelles des clients derriere Nginx - Utiliser le mot de passe maitre par defaut -- changez
admin_passwdimmediatement - Aucune strategie de sauvegarde -- une corruption de base de donnees ou une suppression accidentelle vous coutera cher
- Ignorer la rotation des logs -- les journaux d'Odoo peuvent remplir votre disque ; configurez logrotate
Quand l'auto-hebergement devient un fardeau
Deployer Odoo vous-meme vous donne un controle total, mais cela signifie aussi que vous assumez toutes les responsabilites operationnelles : correctifs de securite, optimisation de PostgreSQL, renouvellement SSL, verification des sauvegardes, surveillance de la disponibilite et mise a l'echelle au fur et a mesure que votre entreprise grandit.
De nombreuses entreprises europeennes commencent par l'auto-hebergement et realisent rapidement que la charge operationnelle detourne du temps d'ingenierie de leur produit principal. C'est exactement le probleme que resout Alplink.
Chez Alplink, nous proposons un hebergement Odoo entierement gere sur une infrastructure europeenne propulsee par NixOS -- avec des deploiements reproductibles, des sauvegardes automatisees, un renforcement de la securite et une conformite RGPD integree des le premier jour. Vous beneficiez de tous les avantages de l'auto-hebergement (souverainete totale sur les donnees, residences des donnees exclusivement dans l'UE) sans la charge operationnelle. Contactez-nous et laissez-nous gerer l'infrastructure pour que vous puissiez vous concentrer sur votre activite.