Aller au contenu principal

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.

Conformité facturation électronique France

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 :

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

ComposantMinimumRecommandé
RAM2 Go4-8 Go
CPU2 cœurs4 cœurs
Stockage10 Go SSD20 Go SSD
Réseau100 Mbps1 Gbps
Port par défaut

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
Mot de passe

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
Branche

--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ètreDescription
admin_passwdMot de passe pour l’interface de gestion des bases (création, backup, etc.)
db_hostHôte PostgreSQL (souvent localhost)
db_userUtilisateur PostgreSQL créé pour Odoo
db_passwordMot de passe de l’utilisateur PostgreSQL
addons_pathChemin vers les addons Odoo
logfileFichier 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
Version de Python

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.

Port

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

CommandeDescription
sudo systemctl start odoo19Démarrer Odoo
sudo systemctl stop odoo19Arrêter Odoo
sudo systemctl restart odoo19Redémarrer Odoo
sudo systemctl status odoo19Statut du service
sudo tail -f /var/log/odoo/odoo19.logSuivre les logs en direct

Structure des fichiers

CheminDescription
/opt/odoo19/Installation Odoo (code source, venv)
/opt/odoo19/addons/Addons officiels
/etc/odoo19.confFichier de configuration
/var/log/odoo/odoo19.logFichier 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_password et db_port dans /etc/odoo19.conf
  • Testez la connexion : sudo -u postgres psql -c "\du" (liste des utilisateurs)
  • Vérifiez que l’utilisateur odoo19 existe 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

Références