Aller au contenu principal

À partir des paquets (serveur distant)

Vous devez exécuter la procédure d'installation en tant qu'utilisateur privilégié.

Lorsque vous exécutez une commande, vérifiez ce qu'elle affiche. En cas de message d'erreur, arrêtez la procédure et corrigez le problème.

Nous vous recommandons de chiffrer les communications du serveur web comme celles de la base de données, même si ces étapes ne sont pas nécessaires au fonctionnement de Centreon. La procédure ci-dessous met en place ce chiffrement. Dans certains cas (par exemple pour réaliser des tests rapides), vous pouvez préférer une installation non sécurisée : il vous suffit alors d'ignorer l'étape 3 : Mettre en place la configuration TLS.

Prérequis​

Après avoir installé votre serveur hôte, mettez à jour votre système d'exploitation à l'aide de la commande suivante :

dnf update

Configuration supplémentaire pour EL 9​

Pour utiliser Centreon en français, espagnol, portugais ou allemand, installez les paquets correspondants :

dnf install glibc-langpack-fr
dnf install glibc-langpack-es
dnf install glibc-langpack-pt
dnf install glibc-langpack-de

Utilisez la commande suivante pour vérifier quelles langues sont installées sur votre système :

locale -a

Acceptez toutes les clés GPG proposées et redémarrez votre serveur si une mise à jour du noyau est proposée.

Étape 1 : Pré-installation​

Désactiver SELinux​

Pendant l'installation, SELinux doit être désactivé. Éditez le fichier /etc/selinux/config et remplacez enforcing par disabled, ou bien exécutez la commande suivante :

sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config

Redémarrez votre système d'exploitation pour prendre en compte le changement.

reboot

Après le démarrage du système, effectuez une vérification rapide de l'état de SELinux :

getenforce

Vous devriez obtenir ce résultat :

Disabled

Notez que cette désactivation doit être temporaire. SELinux doit être réactivé après l'installation pour des raisons de sécurité.

Configurer ou désactiver le pare-feu​

Si vous avez un pare-feu est si celui-ci est actif, ajoutez les règles de pare-feu. Vous pouvez également le désactiver le temps de l'installation en exécutant les commandes suivantes :

systemctl stop firewalld
systemctl disable firewalld

Cette désactivation doit être temporaire. Pour des raisons de sécurité, le pare-feu doit être réactivé après l'installation.

Dépendances​

dnf install dnf-plugins-core
dnf install epel-release
dnf config-manager --set-enabled crb

Installez et activez PHP 8.4 à l'aide des commandes suivantes :

dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
dnf module switch-to php:remi-8.4/common -y

Dépôt de base de données​

curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | bash -s -- --os-type=rhel --os-version=9 --mariadb-server-version=mariadb-11.8 --skip-maxscale

Dépôt Centreon​

dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/26.10/el9/centreon-26.10.repo
dnf clean all --enablerepo=*
dnf update

Étape 2 : Installer le serveur​

Cette section décrit comment installer un serveur distant Centreon.

Vous pouvez installer ce serveur avec une base de données locale au serveur, ou avec une base de données distante sur un serveur dédié.

dnf install -y centreon-mariadb centreon
systemctl daemon-reload
systemctl restart mariadb

Définissez un mot de passe pour l'utilisateur root de la base de données en exécutant la commande suivante :

mariadb-secure-installation

Répondez yes à toutes les questions sauf à "Disallow root login remotely?".

Vous pouvez maintenant passer à l'étape suivante.

Étape 3 : Mettre en place la configuration TLS​

Générer les certificats​

Utilisez un certificat délivré par une autorité de confiance. Les certificats auto-signés peuvent être utilisés à des fins de test, mais ils NE DOIVENT PAS être utilisés en production.

  • Si vous disposez déjà d'un certificat validé par une autorité, passez à l'étape suivante.
  • Si vous ne disposez pas d'un certificat validé par une autorité, vous pouvez en générer un sur des plateformes telles que Let's Encrypt.
  • Si, à des fins de test, vous souhaitez utiliser un certificat auto-signé, vous pouvez suivre cett procédure pour en créer un avant d'activer le mode HTTPS sur votre serveur. Attention, vous devrez importer le certificat de l'autorité de certification (CA) dans votre navigateur.

Supposons que vous disposiez des fichiers suivants (dans notre exemple, dans /etc/pki/centreon-tls/ sur EL 9 or 10, ou /etc/ssl/certs/centreon-tls sur Debian 13) :

  • rootCA.pem (public - non nécessaire si vous utilisez un certificat reconnu)
  • web.pem (certificat du serveur web)
  • web-key.pem (clé privée du serveur web)
  • db.pem (certificat du serveur de base de données)
  • db-key.pem (clé privée du serveur de base de données)
  1. Installez l'autorité de certification racine dans le trust store du système d'exploitation de la machine hébergeant le serveur central :

    cp /etc/pki/centreon-tls/rootCA.pem /etc/pki/ca-trust/source/anchors/centreon-dev.crt
    update-ca-trust extract
  2. Si vous utilisez une base de données distante, exécutez également cette procédure sur la machine qui hébergera la base de données distante, puis copiez le certificat de l'autorité de certification racine de cette machine dans le trust store de la machine hôte du serveur central.

Pour la base de données​

Cette section décrit comment mettre en place une connexion TLS entre le serveur central et la base de données.

  1. Créez le fichier de configuration permettant à la base de données de démarrer en TLS et indiquant les chemins des certificats.
cat > /etc/my.cnf.d/centreon-tls.cnf <<'EOF'
[mariadb]
ssl_ca = /etc/pki/centreon-tls/rootCA.pem
ssl_cert = /etc/pki/centreon-tls/db.pem
ssl_key = /etc/pki/centreon-tls/db-key.pem
require_secure_transport = OFF
tls_version = TLSv1.2,TLSv1.3
EOF
  1. Attribuez les permissions suivantes à la clé afin qu'elle soit lisible uniquement par l'utilisateur mysql :
chown root:mysql /etc/pki/centreon-tls/db-key.pem
chmod 0640 /etc/pki/centreon-tls/db-key.pem
  1. Configurez le client MariaDB en ligne de commande pour qu'il utilise TLS (vous en aurez besoin par la suite).
cat > /etc/my.cnf.d/centreon-tls-client.cnf <<'EOF'
[client]
ssl-ca=/etc/pki/centreon-tls/rootCA.pem
ssl-verify-server-cert
EOF
  1. Démarrez MariaDB :
systemctl daemon-reload
systemctl enable --now mariadb
systemctl restart mariadb
  1. Sécurisez l'installation :
mariadb-secure-installation
  1. Vérifiez que le serveur utilise bien les certificats que vous avez définis, et non ceux qu'il génère automatiquement à son démarrage.
mariadb -e "SHOW GLOBAL VARIABLES WHERE Variable_name IN ('have_ssl','ssl_ca','ssl_cert','ssl_key');"

Le résultat attendu est le suivant :

have_ssl YES and ssl_ca /etc/pki/centreon-tls/rootCA.pem
  1. Définissez les variables d'environnement que PHP utilisera pour communiquer avec la base de données en mode TLS.
for f in /etc/centreon/.env /usr/share/centreon/.env; do
mkdir -p "$(dirname "$f")"
cat >> "$f" <<'EOF'
DATABASE_SSL_ENABLED=1
DATABASE_VERIFY_SERVER_CERT=1
DATABASE_CA_PATH=/etc/pki/centreon-tls/rootCA.pem
EOF
done

Pour l'interface web​

Cette section décrit comment mettre en place une connexion TLS entre le serveur distant et son interface web.

  1. Configurez Apache pour TLS :
dnf install -y mod_ssl
echo 'Listen 443 https' > /etc/httpd/conf.d/ssl.conf
  1. Renseignez les chemins des certificats dans la configuration HTTPS d'Apache pour Centreon :
sed -e 's|/etc/pki/tls/certs/ca.crt|/etc/pki/centreon-tls/web.pem|g' \
-e 's|/etc/pki/tls/private/ca.key|/etc/pki/centreon-tls/web-key.pem|g' \
/usr/share/centreon/examples/centreon-apache-https.conf \
> /etc/httpd/conf.d/00-centreon-tls.conf
  1. Activez et redémarrez les services Centreon :
systemctl daemon-reload

Une fois que votre serveur web est configuré en mode HTTPS et si vous avez un serveur MAP sur votre plateforme, vous devez définir l'adresse centreon.url=https://<server-address> dans le fichier /etc/centreon-map/map-config.properties pour utiliser HTTPS au lieu de HTTP. Sinon, les navigateurs web récents peuvent bloquer la communication entre les deux serveurs. Voir la procédure détaillée ici.

  1. Configuration API de Gorgone

Éditez le fichier /etc/centreon-gorgone/config.d/31-centreon-api.yaml en remplaçant 127.0.0.1 par le FQDN de votre serveur central, comme dans l'exemple suivant :

gorgone:
tpapi:
- name: centreonv2
base_url: "https://centreon7.localdomain/centreon/api/latest/"
username: "centreon-gorgone"
password: "XXXXX"
- name: clapi
username: "centreon-gorgone"
password: "XXXXX"

Si vous avez personnalisé l'URI de Centreon, remplacez /centreon par votre chemin personnalisé dans la valeur base_url.

Redémarrez le daemon Gorgone :

systemctl restart gorgoned

Puis vérifiez le statut :

systemctl status gorgoned

Si tout est correct, vous devriez avoir quelque chose comme cet exemple :

● gorgoned.service - Centreon Gorgone
Loaded: loaded (/usr/lib/systemd/system/gorgoned.service; enabled; preset: enabled)
Active: active (running) since Thu 2026-10-08 09:27:46 UTC; 4h 10min ago
Invocation: 40225788460245609d05c9db103f1ff3
Main PID: 807 (perl)
Tasks: 51 (limit: 4618)
Memory: 176.2M (peak: 241.4M)
CPU: 9.461s
CGroup: /system.slice/gorgoned.service
├─ 807 /usr/bin/perl /usr/bin/gorgoned --config=/etc/centreon-gorgone/config.yaml --logfile=/var/log/centreon-gorgone/gorgoned.log --severity=error
├─1073 gorgone-proxy
├─1075 gorgone-proxy
├─1076 gorgone-proxy
├─1077 gorgone-proxy
├─1080 gorgone-proxy
├─1086 gorgone-engine
├─1089 gorgone-audit
├─1097 gorgone-legacycmd
├─1098 gorgone-httpserver
├─1100 gorgone-nodes
├─1107 gorgone-statistics
├─1108 gorgone-cron
├─1113 gorgone-anomalydetection
├─1125 gorgone-autodiscovery
├─1133 gorgone-action
└─1137 gorgone-dbcleaner

Oct 08 09:27:46 doc-central systemd[1]: Started gorgoned.service - Centreon Gorgone.

Vous devriez voir la ligne suivante dans les logs de Gorgone /var/log/centreon-gorgone/gorgoned.log :

2026-10-08 15:58:12 - INFO - [autodiscovery] -class- host discovery - sync started

Étape 4 : Configuration​

Nom du serveur​

Si vous souhaitez changer le nom du serveur, utilisez la commande suivante :

hostnamectl set-hostname new-server-name

Remplacez new-server-name par le nom de votre choix. Exemple :

hostnamectl set-hostname remote1

Démarrage des services au démarrage du système​

Pour que les services démarrent automatiquement au démarrage du système, exécutez les commandes suivantes sur le serveur distant :

systemctl enable php-fpm httpd centreon cbd centengine gorgoned snmptrapd centreontrapd snmpd
systemctl enable crond
systemctl start crond

Exécutez ensuite la commande suivante (sur le serveur distant si vous utilisez une base de données locale, ou sur votre serveur de base de données dédié) :

systemctl enable mariadb
systemctl restart mariadb

Étape 5 : Installation web​

  1. Démarrez le serveur Apache avec la commande suivante :
systemctl start httpd
  1. Pour terminer l'installation, suivez la procédure d'installation web.

Pendant l'installation web, il n'est pas nécessaire d'installer le module Autodiscovery.

À l'étape Initialisation de la supervision, seules les actions 6 à 8 sont nécessaires.

Étape 6 : Enregistrer le serveur​

Pour transformer le serveur en serveur distant et l'enregistrer sur le serveur central ou sur un autre serveur distant, exécutez la commande suivante sur le futur serveur distant :

/usr/share/centreon/bin/registerServerTopology.sh -u <API_ACCOUNT> \
-t remote -h <IP_TARGET_NODE> -n<REMOTE_SERVER_NAME>

Si vous utilisez une URI personnalisée, ajoutez-la à la fin de la commande, au format suivant : /uri_personnalisée.

Exemple (avec une URI personnalisée) :

/usr/share/centreon/bin/registerServerTopology.sh -u admin -t remote -h 192.168.0.1 -n remote-1 /monitoring

Remplacez <IP_TARGET_NODE> par l'adresse IP du serveur central, telle que vue par le serveur distant.

Le compte <API_ACCOUNT> doit avoir accès à l'API de configuration. Vous pouvez utiliser le compte admin par défaut.

Si vous devez changer la méthode HTTP ou le port, utilisez le format suivant pour l'option -h : HTTPS:/<IP_TARGET_NODE>:PORT

Suivez ensuite les instructions :

  1. Saisissez votre mot de passe :

    192.168.0.1: please enter your password:
  2. Sélectionnez l'adresse IP si plusieurs interfaces réseau existent :

    Which IP do you want to use as CURRENT NODE IP?
    1) 192.168.0.2
    2) 192.168.0.3
    1
  3. Validez ensuite les informations :

    Summary of the information that will be sent:

    API connection:
    username: admin
    password: ******
    target server: 192.168.0.1

    Pending Registration Server:
    name: remote-1
    type: remote
    address: 192.168.0.2

    Do you want to register this server with the previous information? (y/n)y
  4. Ajoutez les informations complémentaires permettant les futures communications entre votre serveur distant et son serveur central : renseignez les informations demandées pour convertir votre plateforme en serveur distant :

<CURRENT_NODE_ADDRESS>: Please enter your username:
admin
<CURRENT_NODE_ADDRESS>: Please enter your password:

<CURRENT_NODE_ADDRESS>: Protocol [http]:
<CURRENT_NODE_ADDRESS>: Port [80]:
<CURRENT_NODE_ADDRESS> : centreon root folder [centreon]:
  1. Si vous utilisez un proxy, renseignez les identifiants correspondants :

    Are you using a proxy? (y/n)
    y
    enter your proxy Host:
    myproxy.example.com
    enter your proxy Port [3128]:
    Are you using a username/password? (y/n)
    y
    enter your username:
    my_proxy_username
    enter your password:

Vous recevrez la validation du serveur central Centreon :

2020-10-16T17:19:37+02:00 [INFO]: The CURRENT NODE 'remote: 'remote-1@192.168.0.2' has been converted and registered successfully.

Principaux messages d'erreur​

2020-10-20T10:23:15+02:00 [ERROR]: Invalid credentials

Vos informations d'identification sont incorrectes pour le compte <API_ACCOUNT>.

2020-10-20T10:24:59+02:00 [ERROR]: Access Denied.

L'utilisateur <API_ACCOUNT> n'a pas accès à l'API de configuration.

Couldn't connect to 192.168.0.1:444; Connection refused

Impossible d'accéder à l'API. Contrôlez les valeurs <IP_TARGET_NODE>, la méthode et le port.

2020-10-20T10:39:30+02:00 [ERROR]: Can’t connect to the API using: https://192.168.0.1:443/centreon/api/latest/login

L'URL d'accès n'est pas complète ou n'est pas valide. Utilisez l'option --root pour définir le chemin de l'URL de l'API. Par exemple : --root monitoring.

2020-10-20T10:42:23+02:00 [ERROR]: No route found for “POST /centreon/api/latest/platform/topology”

La version Centreon du serveur cible n'est pas valide. Elle doit être supérieure ou égale à 26.10.

Étape 7 : Étendre les droits du SGBD local​

Enfin, ajoutez à l'utilisateur de base de données centreon les droits nécessaires pour utiliser la commande LOAD DATA INFILE :

mariadb -u root -p
GRANT FILE on *.* to 'centreon'@'localhost';
SET GLOBAL local_infile=1;
exit

Étape 8 : Rattacher le serveur distant au serveur central​

Rendez-vous au chapitre Rattacher un serveur distant à un serveur central.

Étape 9 : Sécuriser votre plateforme​

N'oubliez pas de sécuriser votre plateforme Centreon en suivant nos recommandations.