Installer Odoo 19 sur Ubuntu
Ce guide vous explique comment installer et configurer Odoo 19 sur un serveur Ubuntu 24.04 LTS. Odoo 19 apporte de nombreuses améliorations fonctionnelles et techniques pour simplifier vos processus métier.
Odoo 19 est prêt pour la facturation électronique obligatoire en France : à partir du 1er septembre 2026, les entreprises assujetties à la TVA devront recevoir (et, selon leur taille, émettre) des factures électroniques au format structuré (Factur-X, UBL, CII) et, le cas échéant, des PDF signés à valeur probante. Odoo permet de générer des factures PDF conformes et d’intégrer les flux via des plateformes agréées.
Commander un serveur
Pour héberger votre instance Odoo, HostMyServers propose plusieurs offres adaptées :
- VPS Performance - Idéal pour les petites structures
- VPS NVMe - Excellent rapport qualité/prix
- Serveurs dédiés Eco - Pour les déploiements avec charge importante
- Serveurs dédiés Performance - Performance maximale
Prérequis
- Accès SSH root ou utilisateur avec sudo
- Système Ubuntu 24.04 LTS 64 bits
- Processeur x64
- Minimum 2 Go de RAM (4 Go recommandés pour Odoo + PostgreSQL)
- Environ 10 Go d'espace disque libre (SSD recommandé)
- Port 8069 accessible (interface web Odoo)
Configuration requise
| Composant | Minimum | Recommandé |
|---|---|---|
| RAM | 2 Go | 4-8 Go |
| CPU | 2 cœurs | 4 cœurs |
| Stockage | 10 Go SSD | 20 Go SSD |
| Réseau | 100 Mbps | 1 Gbps |
Odoo écoute sur le port 8069 (HTTP). Pensez à ouvrir ce port dans le pare-feu.
Connexion au serveur
Assurez-vous d'être connecté à votre serveur Ubuntu avant de commencer. Selon votre environnement :
Connexion avec utilisateur et adresse IP (port par défaut)
Si le serveur utilise le port SSH standard (22) :
ssh utilisateur@adresse_ip_serveur
- utilisateur : nom de connexion du serveur
- adresse_ip_serveur : adresse IP attribuée à votre serveur
Connexion avec un port personnalisé
Si le serveur utilise un port SSH différent de 22 :
ssh -p numero_port utilisateur@adresse_ip_serveur
Connexion avec une clé PEM
Si l'authentification par clé PEM est requise :
ssh -i /chemin/vers/votre/cle.pem utilisateur@adresse_ip_serveur
Choisissez la méthode adaptée à votre configuration. Une fois connecté, vous pouvez poursuivre l'installation.
Mise à jour du système
Mettez à jour votre serveur Ubuntu avant d'installer Odoo 19 :
sudo apt-get update
sudo apt-get upgrade -y
Sécurisation du serveur
Renforcez la sécurité de votre serveur avant de continuer.
OpenSSH Server
Pour la gestion à distance :
sudo apt-get install -y openssh-server
Fail2Ban
Fail2Ban protège contre les tentatives de connexion par force brute en bloquant temporairement les IP concernées :
sudo apt-get install -y fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
Vérifier que Fail2Ban est actif :
sudo systemctl status fail2ban
Installation des paquets et bibliothèques
Odoo 19 nécessite plusieurs paquets système. Installez-les avec les commandes suivantes.
Pip et dépendances Python
sudo apt-get install -y python3-pip
sudo apt-get install -y python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev build-essential libssl-dev libffi-dev libpq-dev libjpeg-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev
Node.js et NPM
Node.js est utilisé pour certaines tâches frontend d'Odoo :
sudo apt-get install -y npm
Si la commande node n'existe pas, créez un lien symbolique :
sudo ln -sf /usr/bin/nodejs /usr/bin/node
Less et plugins CSS
Odoo utilise Less comme préprocesseur CSS :
sudo npm install -g less less-plugin-clean-css
sudo apt-get install -y node-less
Installation et configuration de PostgreSQL
Odoo 19 utilise PostgreSQL pour la base de données.
Installer PostgreSQL
sudo apt-get install -y postgresql
Créer l'utilisateur base de données Odoo
Passez sous l'utilisateur PostgreSQL puis créez un utilisateur dédié :
sudo su - postgres
createuser --createdb --username postgres --no-createrole --superuser --pwprompt odoo19
exit
- createdb : permet à l'utilisateur de créer des bases
- odoo19 : nom de l'utilisateur PostgreSQL pour Odoo
Choisissez un mot de passe fort pour l'utilisateur odoo19 et notez-le pour le fichier de configuration.
Création de l'utilisateur système Odoo
Créez un utilisateur système dédié pour exécuter Odoo :
sudo adduser --system --home=/opt/odoo19 --group odoo19
- --system : crée un utilisateur système (UID bas)
- --home=/opt/odoo19 : répertoire d'installation d'Odoo
- --group odoo19 : groupe du même nom
Récupération d'Odoo 19 (Community) depuis GitHub
Installer Git
sudo apt-get install -y git
Cloner le dépôt Odoo 19
Connectez-vous en tant qu'utilisateur odoo19 et clonez le dépôt dans le répertoire home :
sudo su - odoo19 -s /bin/bash
cd /opt/odoo19
git clone https://github.com/odoo/odoo.git --depth 1 --branch 19.0 --single-branch .
exit
--branch 19.0 récupère la branche stable Odoo 19. Pour une version de développement, utilisez master.
Installation des paquets Python et dépendances
Environnement virtuel Python
sudo apt-get install -y python3-venv
sudo python3 -m venv /opt/odoo19/venv
Activer l'environnement et installer les dépendances
sudo -s
cd /opt/odoo19
source venv/bin/activate
pip install -r requirements.txt
wkhtmltopdf (génération de PDF)
Odoo utilise wkhtmltopdf pour les rapports PDF. Téléchargez et installez le paquet adapté :
# Dépendance OpenSSL pour certaines versions de wkhtmltopdf
sudo wget -q http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb -O /tmp/libssl1.1.deb
sudo dpkg -i /tmp/libssl1.1.deb 2>/dev/null || true
# Polices pour les PDF
sudo apt-get install -y xfonts-75dpi
# Téléchargement wkhtmltopdf (version Bionic compatible Ubuntu 24)
cd /tmp
sudo wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6.1-3.jammy_amd64.deb || sudo apt-get install -f -y
Si le paquet Jammy n’est pas disponible, vous pouvez utiliser la version Bionic :
sudo wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
sudo apt-get install -f -y
Désactiver l'environnement virtuel
deactivate
exit
Fichier de configuration Odoo
Copier le fichier de configuration par défaut
sudo cp /opt/odoo19/debian/odoo.conf /etc/odoo19.conf
Éditer la configuration
sudo nano /etc/odoo19.conf
Exemple de configuration :
[options]
; Mot de passe pour les opérations sur les bases (création, sauvegarde, etc.)
admin_passwd = VOTRE_MOT_DE_PASSE_ADMIN
db_host = localhost
db_port = 5432
db_user = odoo19
db_password = VOTRE_MOT_DE_PASSE_POSTGRESQL
addons_path = /opt/odoo19/addons
logfile = /var/log/odoo/odoo19.log
| Paramètre | Description |
|---|---|
admin_passwd | Mot de passe pour l’interface de gestion des bases (création, backup, etc.) |
db_host | Hôte PostgreSQL (souvent localhost) |
db_user | Utilisateur PostgreSQL créé pour Odoo |
db_password | Mot de passe de l’utilisateur PostgreSQL |
addons_path | Chemin vers les addons Odoo |
logfile | Fichier de log |
Permissions et répertoire de logs
sudo mkdir -p /var/log/odoo
sudo chown odoo19:root /var/log/odoo
sudo chown odoo19: /etc/odoo19.conf
sudo chmod 640 /etc/odoo19.conf
Service systemd
Pour gérer Odoo 19 comme un service (démarrage, arrêt, démarrage au boot).
Créer le fichier de service
sudo nano /etc/systemd/system/odoo19.service
Contenu :
[Unit]
Description=Odoo 19
Documentation=https://www.odoo.com
[Service]
Type=simple
User=odoo19
ExecStart=/opt/odoo19/venv/bin/python3 /opt/odoo19/odoo-bin -c /etc/odoo19.conf
[Install]
WantedBy=multi-user.target
Si votre venv utilise une version précise (ex. python3.12), adaptez le chemin : /opt/odoo19/venv/bin/python3.12
Activer et démarrer le service
sudo systemctl daemon-reload
sudo systemctl enable odoo19.service
sudo systemctl start odoo19.service
Vérifier le statut
sudo systemctl status odoo19.service
Consulter les logs
sudo tail -f /var/log/odoo/odoo19.log
Accès à Odoo
Ouvrez un navigateur et allez à :
http://adresse_ip_ou_domaine:8069
Au premier accès, Odoo propose de créer une nouvelle base de données : nom de la base, email, mot de passe et langue.
Le port par défaut est 8069. Si vous avez modifié le port dans /etc/odoo19.conf (paramètre http_port), utilisez ce port dans l’URL.
Configuration du pare-feu
Ouvrez le port 8069 si vous utilisez UFW :
sudo ufw allow 8069/tcp
sudo ufw reload
Commandes utiles
| Commande | Description |
|---|---|
sudo systemctl start odoo19 | Démarrer Odoo |
sudo systemctl stop odoo19 | Arrêter Odoo |
sudo systemctl restart odoo19 | Redémarrer Odoo |
sudo systemctl status odoo19 | Statut du service |
sudo tail -f /var/log/odoo/odoo19.log | Suivre les logs en direct |
Structure des fichiers
| Chemin | Description |
|---|---|
/opt/odoo19/ | Installation Odoo (code source, venv) |
/opt/odoo19/addons/ | Addons officiels |
/etc/odoo19.conf | Fichier de configuration |
/var/log/odoo/odoo19.log | Fichier de log |
En cas de problème
Le service ne démarre pas
- Vérifiez les logs :
sudo journalctl -u odoo19.service -n 100 - Vérifiez la config :
sudo -u odoo19 /opt/odoo19/venv/bin/python3 /opt/odoo19/odoo-bin -c /etc/odoo19.conf --stop-after-init - Vérifiez que PostgreSQL est démarré :
sudo systemctl status postgresql
Erreur de connexion à la base
- Vérifiez
db_host,db_user,db_passwordetdb_portdans/etc/odoo19.conf - Testez la connexion :
sudo -u postgres psql -c "\du"(liste des utilisateurs) - Vérifiez que l’utilisateur
odoo19existe dans PostgreSQL
Impossible d’accéder à l’interface web
- Vérifiez que le port 8069 est ouvert :
sudo ss -tlnp | grep 8069 - Vérifiez le pare-feu :
sudo ufw status - Consultez les logs Odoo pour des erreurs au démarrage
Problèmes de performance
- Augmentez les ressources (RAM, CPU) du serveur
- Configurez un reverse proxy (Nginx/Apache) avec cache et SSL
- Utilisez un exécuteur de tâches (workers) en ajustant les paramètres dans
odoo19.conf