À 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 :
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
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
Pour récupérer la version de PHP requise par Centreon 26.10 lors de l'installation, votre version d'Alma/RHEL/Oracle Linux doit être au minimum 10.2.
dnf update
Configuration supplémentaire pour EL 10
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
apt update && apt upgrade
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
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
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é.
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é.
SELinux n'est pas installé sur Debian 13, continuez.
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
- Alma 9
- RHEL 9
- Oracle Linux 9
- Alma Linux 10
- RHEL Linux 10
- Oracle Linux 10
- Debian 13
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
dnf install -y dnf-plugins-core
dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms
Si votre serveur est une instance RHEL dans le cloud, vous devez exécuter la commande suivante :
dnf config-manager --set-enabled codeready-builder-for-rhel-9-rhui-rpms
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
dnf install dnf-plugins-core
dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
dnf config-manager --set-enabled ol9_codeready_builder
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
dnf install dnf-plugins-core -y
dnf config-manager --set-enabled crb
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
dnf install -y php8.4 php8.4-fpm
dnf install dnf-plugins-core -y
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
subscription-manager repos --enable codeready-builder-for-rhel-10-x86_64-rpms
dnf install -y php8.4 php8.4-fpm
Si votre serveur est une instance RHEL dans le cloud, vous devez exécuter la commande suivante :
dnf config-manager --set-enabled codeready-builder-for-rhel-10-rhui-rpms
dnf install dnf-plugins-core -y
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
dnf config-manager --set-enabled ol10_codeready_builder
dnf install -y php8.4 php8.4-fpm
apt update && apt install -y lsb-release ca-certificates apt-transport-https wget gnupg2 curl sudo
Dépôt de base de données
- MariaDB
- MySQL
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
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
curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | bash -s -- --os-type=rhel --os-version=10 --mariadb-server-version=mariadb-11.8 --skip-maxscale
curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=debian --os-version=13 --mariadb-server-version="mariadb-11.8" --skip-maxscale
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
dnf install -y "https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm"
curl -fsSL https://repo.mysql.com/RPM-GPG-KEY-mysql-2025 -o /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023
old_mysql_key=$(rpm -q gpg-pubkey 2>/dev/null | grep -i a8d3785c || true)
if [ -n "$old_mysql_key" ]; then rpm -e $old_mysql_key 2>/dev/null || true; fi
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023
dnf install -y "https://dev.mysql.com/get/mysql84-community-release-el10-1.noarch.rpm"
curl -fsSL https://repo.mysql.com/RPM-GPG-KEY-mysql-2025 -o /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023
old_mysql_key=$(rpm -q gpg-pubkey 2>/dev/null | grep -i a8d3785c || true)
if [ -n "$old_mysql_key" ]; then rpm -e $old_mysql_key 2>/dev/null || true; fi
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2023
mysql_apt_config="mysql-apt-config_0.8.36-1_all.deb"
curl -fJLO "https://dev.mysql.com/get/$mysql_apt_config"
echo "mysql-apt-config mysql-apt-config/select-server select mysql-8.4-lts" | debconf-set-selections
export DEBIAN_FRONTEND="noninteractive"
apt install -y "./$mysql_apt_config"
mysql_keyring=$(grep -ohm1 'signed-by=[^] ]*' /etc/apt/sources.list.d/mysql.list 2>/dev/null | cut -d= -f2)
[ -z "$mysql_keyring" ] && mysql_keyring=/etc/apt/trusted.gpg.d/mysql.gpg
( set -o pipefail; curl -fsSL https://repo.mysql.com/RPM-GPG-KEY-mysql-2025 | gpg --dearmor --yes -o "$mysql_keyring" )
Dépôt Centreon
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/26.10/el9/centreon-26.10.repo
dnf clean all --enablerepo=*
dnf update
dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/26.10/el10/centreon-26.10.repo
dnf clean all --enablerepo=*
dnf update -y
echo "deb https://packages.centreon.com/apt-standard/ $(lsb_release -sc)-26.10-stable main" | tee -a /etc/apt/sources.list.d/centreon-26.10-stable.list
echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list
Importez ensuite la clé du dépôt :
wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1
apt 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é.
- Avec une base de données locale
- Avec une base de données distante
- MariaDB
- MySQL
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
dnf install -y centreon-mariadb centreon
systemctl daemon-reload
systemctl restart mariadb
dnf install -y centreon-mariadb centreon
systemctl daemon-reload
systemctl restart mariadb
apt update
apt 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?".
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
dnf install -y mysql-server mysql
dnf install -y centreon-mysql centreon
grep -q '^!includedir /etc/my.cnf.d' /etc/my.cnf || echo '!includedir /etc/my.cnf.d' >> /etc/my.cnf
systemctl enable --now mysqld
sed -Ei 's/LimitNOFILE\s\=\s[0-9]{1,}/LimitNOFILE = 32000/' /usr/lib/systemd/system/mysqld.service
systemctl daemon-reload
systemctl restart mysqld
Vous devez obligatoirement définir un mot de passe pour l'utilisateur root de la base de données (vous aurez besoin de ce mot de passe lors de l'installation web). Il doit comporter au moins 8 caractères, dont des majuscules, des minuscules, un chiffre et un caractère spécial. Récupérez le mot de passe temporaire créé par MySQL :
grep 'temporary password' /var/log/mysqld.log
Modifiez-le ensuite lorsque la commande suivante vous y invite :
mysql_secure_installation
Répondez yes à toutes les questions sauf à "Disallow root login remotely?".
dnf install -y centreon-mysql centreon
grep -q '^!includedir /etc/my.cnf.d' /etc/my.cnf || echo '!includedir /etc/my.cnf.d' >> /etc/my.cnf
systemctl start mysqld
Vous devez obligatoirement définir un mot de passe pour l'utilisateur root de la base de données (vous aurez besoin de ce mot de passe lors de l'installation web). Il doit comporter au moins 8 caractères, dont des majuscules, des minuscules, un chiffre et un caractère spécial. Récupérez le mot de passe temporaire créé par MySQL :
grep 'temporary password' /var/log/mysqld.log
Modifiez-le ensuite lorsque la commande suivante vous y invite :
mysql_secure_installation
Répondez yes à toutes les questions sauf à "Disallow root login remotely?".
apt update
apt install -y centreon-mysql mysql-common
apt install -y centreon
# Sélectionner "Use Legacy Authentication Method"
systemctl daemon-reload
systemctl restart mysql
Vous pouvez maintenant passer à l'étape suivante.
Si vous installez la base de données sur un serveur dédié, ce serveur doit également avoir les dépôts requis.
Exécutez la commande suivante sur le serveur central :
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
dnf install -y centreon-central
dnf install -y centreon-central
apt update
apt install -y centreon-central
Exécutez ensuite les commandes suivantes sur le serveur dédié à votre base de données :
- MariaDB
- MySQL
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
dnf install -y centreon-mariadb
systemctl daemon-reload
systemctl restart mariadb
dnf install -y centreon-mariadb
systemctl daemon-reload
systemctl restart mariadb
apt update
apt install -y --no-install-recommends centreon-mariadb
systemctl daemon-reload
systemctl restart mariadb
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
dnf install -y mysql-server mysql
dnf install -y centreon-mysql
grep -q '^!includedir /etc/my.cnf.d' /etc/my.cnf || echo '!includedir /etc/my.cnf.d' >> /etc/my.cnf
sed -Ei 's/LimitNOFILE\s*=\s*[0-9]+/LimitNOFILE = 32000/' /usr/lib/systemd/system/mysqld.service
systemctl daemon-reload
systemctl enable --now mysqld
systemctl status mysqld
dnf install -y mysql-server mysql
dnf install -y centreon-mysql
grep -q '^!includedir /etc/my.cnf.d' /etc/my.cnf || echo '!includedir /etc/my.cnf.d' >> /etc/my.cnf
sed -Ei 's/LimitNOFILE\s*=\s*[0-9]+/LimitNOFILE = 32000/' /usr/lib/systemd/system/mysqld.service
systemctl daemon-reload
systemctl enable --now mysqld
systemctl status mysqld
apt update
apt install -y centreon-mysql
# Sélectionner "Use Legacy Authentication Method"
systemctl daemon-reload
systemctl restart mysql
Vous devez obligatoirement définir un mot de passe pour l'utilisateur root de la base de données (vous aurez besoin de ce mot de passe lors de l'installation web).
- MariaDB
- MySQL
mariadb-secure-installation
Répondez yes à toutes les questions sauf à "Disallow root login remotely?".
Récupérez le mot de passe temporaire créé par MySQL :
grep 'temporary password' /var/log/mysqld.log
Modifiez-le ensuite lorsque la commande suivante vous y invite (le mot de passe doit comporter au moins 8 caractères, dont des majuscules, des minuscules, un chiffre et un caractère spécial) :
mysql_secure_installation
Répondez yes à toutes les questions sauf à "Disallow root login remotely?".
Ensuite, dans la base de données distante, créez un utilisateur avec des privilèges root. Vous devrez entrer cet utilisateur pendant le processus d'installation web (à l'étape 6, dans les champs Root user et Root password).
CREATE USER '<UTILISATEUR>'@'<IP_SERVEUR_CENTRAL>' IDENTIFIED BY '<MOT_DE_PASSE>';
GRANT ALL PRIVILEGES ON *.* TO '<UTILISATEUR>'@'<IP_SERVEUR_CENTRAL>' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Exemple :
CREATE USER 'dbadmin'@'<IP_SERVEUR_CENTRAL>' IDENTIFIED BY '<MOT_DE_PASSE_DBADMIN>';
GRANT ALL PRIVILEGES ON *.* TO 'dbadmin'@'<IP_SERVEUR_CENTRAL>' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Remplacez <IP_SERVEUR_CENTRAL> par l'adresse IP du serveur central qui se connectera au serveur de bases de données.
Remplacez <UTILISATEUR> et <MOT_DE_PASSE> par les identifiants de l'utilisateur.
Cet utilisateur ne sera utilisé que pour le processus d'installation. Une fois l'installation web terminée, vous pouvez supprimer cet utilisateur via la commande suivante :
DROP USER '<UTILISATEUR>'@'<IP_SERVEUR_CENTRAL>';
Exemple :
DROP USER 'dbadmin'@'<IP_SERVEUR_CENTRAL>';
- MariaDB
- MySQL
- Le paquet centreon-mariadb installe une configuration de MariaDB optimisée pour être utilisée avec Centreon.
Si ce paquet n'est pas installé, la limitation du système LimitNOFILE devrait être au moins fixée à 32000 à l'aide d'un fichier de configuration dédié, par exemple :
$ cat /etc/systemd/system/mariadb.service.d/centreon.conf[Service]LimitNOFILE=32000
- Idem pour la directive MariaDB open_files_limit :
Veuillez noter que la configuration suivante n'est qu'un exemple, pour une infrastructure disposant de 8 Go de RAM. Il appartient à chaque utilisateur d'adapter la configuration de la base de données à ses besoins. Nous vous invitons à vous rapprocher de votre administrateur de base de données pour obtenir une configuration qui réponde à vos besoins.
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
$ cat /etc/my.cnf.d/centreon.cnf[server]innodb_file_per_table=1open_files_limit=32000
$ cat /etc/my.cnf.d/centreon.cnf[server]innodb_file_per_table=1open_files_limit=32000
$ cat /etc/mysql/mariadb.conf.d/80-centreon.cnf[server]innodb_file_per_table=1open_files_limit=32000MariaDB doit écouter sur toutes les interfaces au lieu d'écouter sur localhost/127.0.0.1, qui est la valeur par défaut. Éditez le fichier suivant :
/etc/mysql/mariadb.conf.d/50-server.cnfAttribuez au paramètre bind-address la valeur 0.0.0.0 et redémarrez mariadb.
systemctl restart mariadb
- Le paquet centreon-mysql installe une configuration de MySQL optimisée pour être utilisée avec Centreon.
Si ce paquet n'est pas installé, la limitation du système LimitNOFILE devrait être au moins fixée à 32000 à l'aide d'un fichier de configuration dédié, par exemple :
$ cat /etc/systemd/system/mysqld.service.d/centreon.conf[Service]LimitNOFILE=32000
- Idem pour la directive MySQL open_files_limit :
Veuillez noter que la configuration suivante n'est qu'un exemple, pour une infrastructure disposant de 8 Go de RAM. Il appartient à chaque utilisateur d'adapter la configuration de la base de données à ses besoins. Nous vous invitons à vous rapprocher de votre administrateur de base de données pour obtenir une configuration qui réponde à vos besoins.
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
$ cat /etc/my.cnf.d/centreon.cnf[server]innodb_file_per_table=1open_files_limit=32000
$ cat /etc/my.cnf.d/centreon.cnf[server]innodb_file_per_table=1open_files_limit=32000
$ cat /etc/mysql/mysql.conf.d/80-centreon.cnf[server]innodb_file_per_table=1open_files_limit=32000MySQL doit écouter sur toutes les interfaces au lieu d'écouter sur localhost/127.0.0.1, qui est la valeur par défaut. Éditez le fichier suivant :
/etc/mysql/mysql.conf.d/50-server.cnfAttribuez au paramètre bind-address la valeur 0.0.0.0 et redémarrez mysql.
systemctl restart mysqld
En plus des directives ci-dessus, il est fortement recommandé d'adapter la configuration de la base de données avec les paramètres suivants :
[server]key_buffer_size = 256Msort_buffer_size = 32Mjoin_buffer_size = 4Mthread_cache_size = 64read_buffer_size = 512Kread_rnd_buffer_size = 256Kmax_allowed_packet = 128MVous pouvez également ajuster l'utilisation de la mémoire et des tampons des tables gérées par le moteur InnoDB. L'exemple ci-dessous s'applique à un serveur de base de données disposant de 8 Go de RAM.
innodb_buffer_pool_size=1GN'oubliez pas de redémarrer la base de données après avoir modifié la configuration.
É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)
-
Installez l'autorité de certification racine dans le trust store du système d'exploitation de la machine hébergeant le serveur central :
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
cp /etc/pki/centreon-tls/rootCA.pem /etc/pki/ca-trust/source/anchors/centreon-dev.crtupdate-ca-trust extractcp /etc/pki/centreon-tls/rootCA.pem /etc/pki/ca-trust/source/anchors/centreon-dev.crtupdate-ca-trust extractcp /etc/ssl/certs/centreon-tls/rootCA.pem /usr/local/share/ca-certificates/centreon-dev.crtupdate-ca-certificates -
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.
- MariaDB
- MySQL
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
- 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
- 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
- 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
- Démarrez MariaDB :
systemctl daemon-reload
systemctl enable --now mariadb
systemctl restart mariadb
- Sécurisez l'installation :
mariadb-secure-installation
- 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
- 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
- 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
- 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
- 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
- Démarrez MariaDB :
systemctl daemon-reload
systemctl enable --now mariadb
systemctl restart mariadb
- 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
- 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
- Placez les certificats dans un emplacement accessible en lecture par le service de base de données. (Par défaut, sur Debian, MariaDB ne lit que les certificats situés sous /etc/mysql/).
install -d -o root -g mysql -m 0750 /etc/mysql/centreon-tls
cp /etc/ssl/certs/centreon-tls/rootCA.pem /etc/mysql/centreon-tls/rootCA.pem
cp /etc/ssl/certs/centreon-tls/db.pem /etc/mysql/centreon-tls/db.pem
cp /etc/ssl/certs/centreon-tls/db-key.pem /etc/mysql/centreon-tls/db-key.pem
chown root:mysql /etc/mysql/centreon-tls/*.pem
chmod 0644 /etc/mysql/centreon-tls/rootCA.pem /etc/mysql/centreon-tls/db.pem
chmod 0640 /etc/mysql/centreon-tls/db-key.pem
- Configurez le service de base de données pour qu'il démarre en mode TLS et indiquez l'emplacement des certificats.
mapfile -t inc < <(grep -oP '^\s*!includedir\s+\K\S+' /etc/mysql/my.cnf)
[ "${#inc[@]}" -eq 0 ] && echo "WARNING: no !includedir in /etc/mysql/my.cnf" >&2
for d in "${inc[@]}"; do
mkdir -p "$d"
cat > "$d/99-centreon-tls.cnf" <<'EOF'
[mysqld]
ssl_ca = /etc/mysql/centreon-tls/rootCA.pem
ssl_cert = /etc/mysql/centreon-tls/db.pem
ssl_key = /etc/mysql/centreon-tls/db-key.pem
require_secure_transport = OFF
tls_version = TLSv1.2,TLSv1.3
EOF
chmod 0644 "$d/99-centreon-tls.cnf"
done
- Configurez le client MariaDB en ligne de commande pour qu'il utilise TLS (vous en aurez besoin par la suite).
cat > /etc/mysql/conf.d/centreon-tls-client.cnf <<'EOF'
[client]
ssl-ca=/etc/mysql/centreon-tls/rootCA.pem
ssl-verify-server-cert
EOF
- Démarrez MariaDB.
systemctl daemon-reload
systemctl enable --now mariadb
systemctl restart mariadb
- 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');"
Les résultats doivent être les suivants :
have_ssl YES and ssl_ca /etc/mysql/centreon-tls/rootCA.pem
- 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
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
- 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'
[mysqld]
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
- 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
- Configurez le client MySQL 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-mode=VERIFY_CA
EOF
- Démarrez MySQL :
systemctl daemon-reload
systemctl enable --now mysqld
systemctl restart mysqld
- 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.
my_print_defaults mysqld | grep -iE 'ssl|tls'
mysql --ssl-mode=DISABLED -u root -e \
"SHOW GLOBAL STATUS WHERE Variable_name IN ('Current_tls_ca','Current_tls_cert','Current_tls_key');"
Les résultats doivent être les suivants :
Current_tls_ca /etc/pki/centreon-tls/rootCA.pem
- Sécurisez l'installation (dans la commande suivante, remplacez my_password par votre propre mot de passe). Définissez le mot de passe de votre choix :
db_root_password='my_password'
mysql_root_auth=(--ssl-mode=DISABLED -u root)
if ! mysql --ssl-mode=DISABLED -u root -e "SELECT 1" >/dev/null 2>&1; then
mysql_temp_pw=$(grep 'temporary password is generated for root@localhost' /var/log/mysqld.log \
2>/dev/null | tail -1 | sed -E 's/.*root@localhost: //')
if [ -z "$mysql_temp_pw" ]; then
echo "Could not authenticate to MySQL as root" >&2
exit 1
fi
mysql_root_auth=(--ssl-mode=DISABLED --connect-expired-password -u root -p"${mysql_temp_pw}")
fi
Remplacez ensuite le mot de passe généré automatiquement par défaut par le vôtre.
mysql "${mysql_root_auth[@]}" --verbose <<EOF
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'caching_sha2_password' BY '${db_root_password}';
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DROP DATABASE IF EXISTS test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';
FLUSH PRIVILEGES;
EOF
Redémarrez MySQL :
systemctl restart mysql
- Augmentez la limite de fichiers ouverts, puis redémarrez :
sed -Ei 's/LimitNOFILE\s\=\s[0-9]{1,}/LimitNOFILE = 32000/' /usr/lib/systemd/system/mysqld.service
systemctl daemon-reload
systemctl restart mysqld
- Vérifiez que la négociation TLS de bout en bout remonte bien jusqu'à VOTRE autorité de certification (facultatif) :
mysql --ssl-mode=VERIFY_CA --ssl-ca=/etc/pki/centreon-tls/rootCA.pem -u root -p -e "STATUS" | grep -i ssl
La sortie attendue est la suivante :
SSL: Cipher in use is TLS_AES_128_GCM_SHA256
- 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
- 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'
[mysqld]
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
- 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
- Configurez le client MySQL 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-mode=VERIFY_CA
EOF
- Démarrez MySQL :
systemctl daemon-reload
systemctl enable --now mysqld
systemctl restart mysqld
- 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.
my_print_defaults mysqld | grep -iE 'ssl|tls'
mysql --ssl-mode=DISABLED -u root -e \
"SHOW GLOBAL STATUS WHERE Variable_name IN ('Current_tls_ca','Current_tls_cert','Current_tls_key');"
Les résultats doivent être les suivants :
Current_tls_ca /etc/pki/centreon-tls/rootCA.pem
- Sécurisez l'installation (dans la commande suivante, remplacez my_password par votre propre mot de passe). Définissez le mot de passe de votre choix :
db_root_password='my_password'
mysql_root_auth=(--ssl-mode=DISABLED -u root)
if ! mysql --ssl-mode=DISABLED -u root -e "SELECT 1" >/dev/null 2>&1; then
mysql_temp_pw=$(grep 'temporary password is generated for root@localhost' /var/log/mysqld.log \
2>/dev/null | tail -1 | sed -E 's/.*root@localhost: //')
if [ -z "$mysql_temp_pw" ]; then
echo "Could not authenticate to MySQL as root" >&2
exit 1
fi
mysql_root_auth=(--ssl-mode=DISABLED --connect-expired-password -u root -p"${mysql_temp_pw}")
fi
Remplacez ensuite le mot de passe généré automatiquement par défaut par le vôtre.
mysql "${mysql_root_auth[@]}" --verbose <<EOF
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'caching_sha2_password' BY '${db_root_password}';
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DROP DATABASE IF EXISTS test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';
FLUSH PRIVILEGES;
EOF
Redémarrez MySQL :
systemctl restart mysql
- Augmentez la limite de fichiers ouverts, puis redémarrez :
sed -Ei 's/LimitNOFILE\s\=\s[0-9]{1,}/LimitNOFILE = 32000/' /usr/lib/systemd/system/mysqld.service
systemctl daemon-reload
systemctl restart mysqld
- Vérifiez que la négociation TLS de bout en bout remonte bien jusqu'à VOTRE autorité de certification (facultatif) :
mysql --ssl-mode=VERIFY_CA --ssl-ca=/etc/pki/centreon-tls/rootCA.pem -u root -p -e "STATUS" | grep -i ssl
La sortie attendue est la suivante :
SSL: Cipher in use is TLS_AES_128_GCM_SHA256
- 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
- Placez les certificats dans un emplacement accessible en lecture par le service de base de données. (Par défaut, sur Debian, MySQL ne lit que les certificats situés sous /etc/mysql/).
install -d -o root -g mysql -m 0750 /etc/mysql/centreon-tls
cp /etc/ssl/certs/centreon-tls/rootCA.pem /etc/mysql/centreon-tls/rootCA.pem
cp /etc/ssl/certs/centreon-tls/db.pem /etc/mysql/centreon-tls/db.pem
cp /etc/ssl/certs/centreon-tls/db-key.pem /etc/mysql/centreon-tls/db-key.pem
chown root:mysql /etc/mysql/centreon-tls/*.pem
chmod 0644 /etc/mysql/centreon-tls/rootCA.pem /etc/mysql/centreon-tls/db.pem
chmod 0640 /etc/mysql/centreon-tls/db-key.pem
- Configurez le service de base de données pour qu'il démarre en mode TLS et indiquez l'emplacement des certificats.
mapfile -t inc < <(grep -oP '^\s*!includedir\s+\K\S+' /etc/mysql/my.cnf)
[ "${#inc[@]}" -eq 0 ] && echo "WARNING: no !includedir in /etc/mysql/my.cnf" >&2
for d in "${inc[@]}"; do
mkdir -p "$d"
cat > "$d/99-centreon-tls.cnf" <<'EOF'
[mysqld]
ssl_ca = /etc/mysql/centreon-tls/rootCA.pem
ssl_cert = /etc/mysql/centreon-tls/db.pem
ssl_key = /etc/mysql/centreon-tls/db-key.pem
require_secure_transport = OFF
tls_version = TLSv1.2,TLSv1.3
EOF
chmod 0644 "$d/99-centreon-tls.cnf"
done
- Configurez le client MySQL en ligne de commande pour qu'il utilise TLS (vous en aurez besoin par la suite).
cat > /etc/mysql/conf.d/centreon-tls-client.cnf <<'EOF'
[client]
ssl-ca=/etc/mysql/centreon-tls/rootCA.pem
ssl-mode=VERIFY_CA
EOF
- Démarrez MySQL.
systemctl daemon-reload
systemctl enable --now mysql
systemctl restart mysql
- 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.
my_print_defaults mysqld | grep -iE 'ssl|tls'
mysql --ssl-mode=DISABLED -u root -N -e \
"SHOW GLOBAL STATUS WHERE Variable_name IN ('Current_tls_ca','Current_tls_cert','Current_tls_key');"
Les résultats doivent être les suivants :
Current_tls_ca /etc/mysql/centreon-tls/rootCA.pem
- Sécurisez l'installation (dans la commande suivante, remplacez my_password par votre propre mot de passe). Définissez le mot de passe de votre choix :
db_root_password='my_password'
mysql_root_auth=(--ssl-mode=DISABLED -u root)
if ! mysql --ssl-mode=DISABLED -u root -e "SELECT 1" >/dev/null 2>&1; then
mysql_temp_pw=$(grep 'temporary password is generated for root@localhost' /var/log/mysql/error.log \
2>/dev/null | tail -1 | sed -E 's/.*root@localhost: //')
if [ -z "$mysql_temp_pw" ]; then
echo "Could not authenticate to MySQL as root" >&2
exit 1
fi
mysql_root_auth=(--ssl-mode=DISABLED --connect-expired-password -u root -p"${mysql_temp_pw}")
fi
Remplacez ensuite le mot de passe généré automatiquement par défaut par le vôtre.
mysql "${mysql_root_auth[@]}" --verbose <<EOF
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'caching_sha2_password' BY '${db_root_password}';
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DROP DATABASE IF EXISTS test;
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';
FLUSH PRIVILEGES;
EOF
Redémarrez MySQL :
systemctl restart mysql
- Vérifiez que la négociation TLS de bout en bout remonte bien jusqu'à VOTRE autorité de certification (facultatif) :
mysql --ssl-mode=VERIFY_CA --ssl-ca=/etc/mysql/centreon-tls/rootCA.pem -u root -p -e "STATUS" | grep -i ssl
La sortie attendue est la suivante :
SSL: Cipher in use is TLS_AES_128_GCM_SHA256
- 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.
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
- Configurez Apache pour TLS :
dnf install -y mod_ssl
echo 'Listen 443 https' > /etc/httpd/conf.d/ssl.conf
- 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
- Activez et redémarrez les services Centreon :
systemctl daemon-reload
- Configurez Apache pour TLS :
dnf install -y mod_ssl
echo 'Listen 443 https' > /etc/httpd/conf.d/ssl.conf
- 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
- Activez et redémarrez les services Centreon :
systemctl daemon-reload
- MariaDB
- MySQL
systemctl restart mariadb
systemctl restart mysqld
-
Activez tous les modules référencés par la configuration HTTPS officielle de Centreon :
a2enmod ssl proxy proxy_fcgi headers deflate rewrite -
Renseignez les chemins des certificats dans la configuration HTTPS d'Apache pour Centreon :
sed -e 's|/etc/pki/tls/certs/ca.crt|/etc/ssl/certs/centreon-tls/web.pem|g' \-e 's|/etc/pki/tls/private/ca.key|/etc/ssl/certs/centreon-tls/web-key.pem|g' \/usr/share/centreon/examples/centreon-apache-https.conf \> /etc/apache2/sites-available/00-centreon-tls.conf -
Activez la configuration que vous venez d'appliquer.
a2ensite 00-centreon-tls
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.
- 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 :
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
systemctl enable php-fpm httpd centreon cbd centengine gorgoned snmptrapd centreontrapd snmpd
systemctl enable crond
systemctl start crond
systemctl enable php-fpm httpd centreon cbd centengine gorgoned snmptrapd centreontrapd snmpd
systemctl enable crond
systemctl start crond
systemctl enable php8.4-fpm apache2 centreon cbd centengine gorgoned centreontrapd snmpd snmptrapd
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é) :
- MariaDB
- MySQL
systemctl enable mariadb
systemctl restart mariadb
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
systemctl enable mysqld
systemctl restart mysqld
systemctl enable mysqld
systemctl enable mysql
systemctl restart mysql
Étape 5 : Installation web
- Démarrez le serveur Apache avec la commande suivante :
- Alma / RHEL / Oracle Linux 9
- Alma / RHEL / Oracle Linux 10
- Debian 13
systemctl start httpd
systemctl start httpd
systemctl start apache2
- 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 :
-
Saisissez votre mot de passe :
192.168.0.1: please enter your password: -
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.22) 192.168.0.31 -
Validez ensuite les informations :
Summary of the information that will be sent:API connection:username: adminpassword: ******target server: 192.168.0.1Pending Registration Server:name: remote-1type: remoteaddress: 192.168.0.2Do you want to register this server with the previous information? (y/n)y -
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]:
-
Si vous utilisez un proxy, renseignez les identifiants correspondants :
Are you using a proxy? (y/n)yenter your proxy Host:myproxy.example.comenter your proxy Port [3128]:Are you using a username/password? (y/n)yenter your username:my_proxy_usernameenter 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.