Guide d'installation - Axelor Open Suite 9
Installez Axelor Open Suite 9 (Axelor Open Platform 8.2) sur un socle moderne. Ce guide couvre les prérequis, l'installation pas-à-pas sous Ubuntu, le démarrage rapide en Docker, la configuration et la vérification de l'instance.
La stack technique d'AOS 9
Axelor Open Suite 9 s'appuie sur Axelor Open Platform 8.2 et l'espace de noms Jakarta EE 10. Les versions ci-dessous constituent le socle minimal de référence pour un déploiement en production.
| Composant | Version | Remarques |
|---|---|---|
| Java / JDK | 21 LTS | OpenJDK ; Garbage Collector G1 par défaut. |
| Apache Tomcat | 10.1.x | Compatible Jakarta Servlet 6.0 (Jakarta EE 10). |
| PostgreSQL | ≥ 16 | Extension unaccent requise. |
| Caddy (reverse proxy) | ≥ 2.x | HTTPS automatique via ACME ; Nginx ≥ 1.24 en alternative. |
| Axelor Open Platform | 8.2 | Framework embarqué dans le WAR. |
| Axelor Open Suite | 9 | Suite ERP / CRM / BPM applicative. |
| Gradle | 8.14.5 | Uniquement pour construire un WAR sur mesure. |
| Node.js | ≥ 24.13 | Build de l'interface React 19.2 (TypeScript 5.9, Vite 7). |
Migration depuis AOS 8 : ce n'est pas un simple redéploiement. AOS 9 impose une rupture d'environnement — Java 8 → Java 21, Tomcat 9 → Tomcat 10.1 (Jakarta EE 10) et le passage du chiffrement CBC à GCM. Planifiez la migration en conséquence.
Prérequis serveur & client
Système de référence : Ubuntu Server LTS 24.04 (installation minimale, sans interface graphique). Dimensionnez le serveur selon le nombre d'utilisateurs.
| Utilisateurs | vCPU | RAM | Disque | Profil |
|---|---|---|---|---|
| ~10 | 2 vCPU | 8 Gio | 50 Go | TPE / usage CRM basique |
| ~30 | 4 vCPU | 16 Gio | 50 Go | PME, déploiement standard |
| ~60 | 8 vCPU | 32 Gio | 50 Go | PME, usage intensif |
| ~120 | 16 vCPU | 64 Gio | 50 Go | ETI, forte charge |
Estimations avec base de données colocalisée et 50 Go de stockage. Pour les fortes volumétries, prévoir une configuration dédiée ou une topologie cluster haute disponibilité.
| Navigateur | Minimum compatible | Recommandé |
|---|---|---|
| Google Chrome / Chromium | 94 | Dernière version majeure |
| Microsoft Edge | 94 | Dernière version majeure |
| Mozilla Firefox | 93 | ESR 140 ou Stable récent |
| Apple Safari (macOS / iOS) | 16.4 | 3 dernières versions |
AOS 9 est une solution full web (React 19, ES2022). JavaScript et les cookies du domaine doivent être autorisés. Internet Explorer n'est pas supporté.
Téléchargement
Choisissez la méthode adaptée à votre contexte : déploiement classique à partir d'une archive WAR, ou conteneurisation via l'image Docker officielle.
Le livrable axelor-erp-9.0.x.war (290 à 320 Mo) se déploie dans Tomcat 10.1. Idéal pour un déploiement maîtrisé sur serveur Linux avec reverse proxy Caddy. Suivre l'installation.
L'image officielle axelor/aos-ce:9.0 (Community Edition) avec PostgreSQL 16 permet un démarrage rapide piloté par variables d'environnement. Démarrage Docker.
Installation sur Ubuntu
Déploiement mono-serveur avec un compte de service dédié axelor et l'arborescence /opt/axelor. Toutes les commandes s'exécutent en sudo.
Mettre à jour, créer l'utilisateur de service et ouvrir le pare-feu (HTTPS uniquement).
sudo apt update && sudo apt upgrade -y
sudo apt install -y bash-completion nano unzip
sudo adduser --system --group --home /opt/axelor axelor
sudo ufw allow OpenSSH && sudo ufw allow 443/tcp && sudo ufw enable
Créer l'utilisateur, activer l'extension unaccent puis créer la base.
sudo apt install -y postgresql
sudo -u postgres createuser --no-superuser --pwprompt axelor
sudo -u postgres psql template1 -c "CREATE EXTENSION IF NOT EXISTS unaccent;"
sudo -u postgres createdb --owner=axelor axelor
sudo apt install -y openjdk-21-jdk
java --version # doit afficher OpenJDK 21
Créer l'arborescence cible, déployer Tomcat et donner la propriété au compte de service.
TC=10.1.55
sudo mkdir -p /opt/axelor/{dist,tomcat,data,conf,backups}
cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-10/v${TC}/bin/apache-tomcat-${TC}.tar.gz
sudo tar xzf apache-tomcat-${TC}.tar.gz -C /opt/axelor/tomcat --strip-components=1
sudo chown -R axelor:axelor /opt/axelor
<Connector port="8080" protocol="HTTP/1.1" address="127.0.0.1"
proxyPort="443" scheme="https" secure="true"
connectionTimeout="20000" redirectPort="8443"
maxParameterCount="1000" />
Décompresser le livrable dans webapps/ROOT. La configuration externe est désignée par la variable AXELOR_CONFIG (définie dans l'unité systemd).
sudo -u axelor mkdir -p /opt/axelor/data/{attachments,exports,templates,reports}
sudo systemctl stop axelor-tomcat
sudo -u axelor rm -rf /opt/axelor/tomcat/webapps/ROOT
sudo -u axelor unzip -q /opt/axelor/dist/axelor-erp-9.0.10.war \
-d /opt/axelor/tomcat/webapps/ROOT
sudo systemctl start axelor-tomcat
Caddy assure la terminaison TLS (certificat automatique Let's Encrypt) et les en-têtes de sécurité.
example.axelor.com {
tls {
protocols tls1.2 tls1.3
}
header {
Strict-Transport-Security "max-age=31536000; includeSubDomains"
X-Content-Type-Options "nosniff"
X-Frame-Options "SAMEORIGIN"
Referrer-Policy "strict-origin"
}
request_body { max_size 20MB }
reverse_proxy 127.0.0.1:8080 {
transport http { read_timeout 1800s; write_timeout 1800s }
}
}
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl enable --now caddy
Démarrage rapide avec Docker
L'image officielle axelor/aos-ce:9.0 génère automatiquement axelor-config.properties à partir des variables d'environnement, attend PostgreSQL, applique les migrations puis démarre Tomcat.
services:
app:
image: axelor/aos-ce:9.0
environment:
- PGHOST=postgres
- PGUSER=axelor
- PGPASSWORD=<mot_de_passe>
- PGDATABASE=axelor
- APP_MODE=prod
- JAVA_XMX=4096m
ports:
- "8080:8080"
depends_on: [postgres]
volumes:
- app_data:/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 10s
timeout: 5s
retries: 3
start_period: 1800s
postgres:
image: postgres:16
environment:
- POSTGRES_USER=axelor
- POSTGRES_PASSWORD=<mot_de_passe>
- POSTGRES_DB=axelor
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
app_data:
postgres_data:
En production, placez un reverse proxy Caddy devant le conteneur pour la terminaison TLS, et veillez à persister les volumes /data (GED) et la base PostgreSQL.
Configuration de l'application
Le fichier axelor-config.properties est conservé hors du WAR, dans /opt/axelor/conf/, et désigné par la variable d'environnement AXELOR_CONFIG afin de persister entre les mises à jour.
# === Base de données ===
db.default.url = jdbc:postgresql://localhost:5432/axelor
db.default.user = axelor
db.default.password = <mot_de_passe>
db.default.ddl = update
# === GED (système de fichiers) ===
data.upload.max-size = 20
data.upload.dir = /opt/axelor/data/attachments
data.export.dir = /opt/axelor/data/exports
template.search-dir = /opt/axelor/data/templates
reports.design-dir = /opt/axelor/data/reports
# === Application & sécurité ===
application.mode = prod
application.base-url = https://example.axelor.com
session.timeout = 60
session.cookie.secure = true
Démarrage & vérification
Démarrer les services dans l'ordre, puis valider la disponibilité via l'endpoint de santé.
sudo systemctl start postgresql
sudo systemctl start axelor-tomcat
sudo systemctl start caddy
systemctl status postgresql axelor-tomcat caddy --no-pager
AOS expose un endpoint /health. Une réponse HTTP 200 avec {"status":"UP"} confirme le bon démarrage.
curl -fs http://127.0.0.1:8080/health && echo " OK"
# via le reverse proxy :
curl -fs https://example.axelor.com/health
Premier démarrage : il peut être long — AOP applique les migrations de schéma et charge l'application. Attendez une réponse HTTP 200 sur /health avant d'ouvrir l'accès aux utilisateurs.
Besoin d'accompagnement sur votre projet ?
Découvrez comment notre ERP peut améliorer la performance de votre entreprise. Un expert vous contactera rapidement pour échanger sur votre projet.
Être recontacté