Serveur CentOS · 7 min read · Nov 01, 2025

Comment surveiller votre serveur CentOS 7 avec Cacti

Cacti est une solution de graphisme réseau gratuite et open source. Elle utilise RRDTool pour la collecte et le graphisme des données. Elle offre de nombreuses fonctionnalités telles que des collecteurs de données distants et locaux, la découverte de réseau, l’automatisation de la gestion des appareils, le modèle de graphes, etc.

Dans ce tutoriel, nous allons installer Cacti sur un serveur CentOS 7.

Prérequis

  • Serveur CentOS 7 minimal
  • Privilèges root

Étape 1 - Installation d’Apache

Il est recommandé de mettre à jour le serveur avant d’installer un quelconque paquet afin que les paquets et dépôts existants soient à jour.

yum -y update

Une fois que votre système est à jour, vous pouvez procéder à l’installation du serveur web Apache.

yum -y install httpd

Maintenant, démarrez le serveur web Apache et activez-le pour qu’il démarre au démarrage à l’aide de la commande suivante.

systemctl start httpd
systemctl enable httpd

Étape 2 - Installation de PHP

Cacti prend en charge toutes les versions de PHP supérieures à 5.3. Mais dans ce tutoriel, nous allons installer PHP 7.1 car PHP v5.3 a atteint la fin de sa vie. Installer la dernière version de PHP garantira la sécurité et les performances maximales de l’application.

Le dépôt YUM par défaut de CentOS n’inclut pas PHP 7.1, vous devrez donc ajouter le dépôt Webtatic dans votre système. Le dépôt Webtatic nécessite le dépôt EPEL pour fonctionner. Exécutez la commande suivante pour installer le dépôt EPEL.

yum -y install epel-release
yum -y update

Tapez les commandes pour installer le dépôt Webtatic.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update

Tapez la commande suivante pour installer PHP 7.1 avec toutes les dépendances requises.

yum -y install php71w php71w-snmp php71w-mysqli php71w-cli php71w-ldap php71w-xml php71w-session php71w-sockets php71w-pcre php71w-gd php71w-dom php71w-posix php71w-mbstring

Pour vérifier si PHP est installé avec succès, vous pouvez exécuter :

php -v

Vous devriez obtenir une sortie similaire à celle-ci.

[root@liptan-pc ~]# php -v
PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

Maintenant, vous devrez configurer quelques paramètres dans PHP. Ouvrez le fichier de configuration PHP, php.ini, avec votre éditeur de texte préféré. Dans ce tutoriel, nous utiliserons l’éditeur nano. Si vous n’avez pas nano installé, vous pouvez exécuter yum -y install nano.

nano /etc/php.ini

Trouvez la ligne suivante et décommentez-la, puis définissez le fuseau horaire selon votre région. Par exemple :

[Date]
; Définit le fuseau horaire par défaut utilisé par les fonctions de date
; http://php.net/date.timezone
date.timezone = Asia/Kolkata

Étape 3 - Installation de MariaDB

MariaDB est un fork de la base de données MySQL. Pour installer MariaDB sur votre serveur, exécutez :

yum -y install mariadb mariadb-server

Exécutez les commandes suivantes pour démarrer MariaDB et l’activer pour qu’il démarre au démarrage.

systemctl start mariadb
systemctl enable mariadb

Maintenant, exécutez les commandes suivantes pour sécuriser votre installation de MariaDB.

mysql_secure_installation

La commande ci-dessus exécutera un script pour sécuriser la nouvelle installation de MariaDB. Le script vous demandera le mot de passe de l’utilisateur root existant, nous venons d’installer MariaDB, le mot de passe root n’est pas défini, appuyez simplement sur entrer pour continuer.

Le script vous demandera si vous souhaitez définir un mot de passe root pour votre installation de MariaDB, choisissez y et définissez un mot de passe fort pour l’installation. La plupart des questions sont explicites et vous devriez répondre oui ou y à toutes les questions. La sortie ressemblera à ce qui suit.

Pour créer une base de données, nous devrons d’abord nous connecter à la ligne de commande MySQL. Exécutez la commande suivante pour cela.

mysql -u root -p

La commande ci-dessus se connectera au shell MySQL de l’utilisateur root, il vous demandera le mot de passe de l’utilisateur root. Fournissez le mot de passe pour vous connecter. Maintenant, exécutez la requête suivante pour créer une nouvelle base de données pour votre installation de Cacti.

CREATE DATABASE cacti_data;

La requête ci-dessus créera une nouvelle base de données nommée cacti_data. Vous pouvez utiliser n’importe quel autre nom pour votre base de données si vous le souhaitez. Assurez-vous d’utiliser un point-virgule à la fin de chaque requête, car la requête se termine toujours par un point-virgule.

Une fois la base de données créée, vous pouvez créer un nouvel utilisateur et accorder toutes les autorisations à l’utilisateur pour la base de données. Pour créer un nouvel utilisateur de base de données, exécutez la requête suivante.

CREATE USER 'cacti_user'@'localhost' IDENTIFIED BY 'StrongPassword';

La requête ci-dessus créera un utilisateur avec le nom d’utilisateur cacti_user. Vous pouvez utiliser n’importe quel nom d’utilisateur que vous préférez au lieu de cacti_user. Remplacez StrongPassword par un mot de passe très fort. Maintenant, accordez tous les privilèges à votre utilisateur de base de données sur la base de données que vous avez créée. Exécutez la commande suivante.

GRANT ALL PRIVILEGES ON cacti_data.* TO 'cacti_user'@'localhost';

Maintenant, exécutez la commande suivante pour appliquer immédiatement les modifications sur les privilèges de la base de données.

FLUSH PRIVILEGES;

Quittez l’invite MySQL en utilisant la commande suivante.

EXIT;

Vous devrez également peupler la table des fuseaux horaires. Exécutez la commande suivante pour peupler les tables de fuseaux horaires.

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

Fournissez le mot de passe root MySQL pour continuer. Une fois les tables peuplées, vous devrez fournir un accès en lecture à l’utilisateur Cacti sur les tables. Connectez-vous à nouveau à l’invite MySQL en utilisant :

mysql -u root -p

Maintenant, exécutez la requête suivante.

GRANT SELECT ON mysql.time_zone_name TO 'cacti_user'@'localhost';
FLUSH PRIVILEGES;

La requête ci-dessus donnera accès en lecture à cacti_user sur

Étape 4 - Installation et configuration de Cacti

Cacti nécessite quelques dépendances supplémentaires, exécutez la commande suivante pour les installer.

yum -y install net-snmp rrdtool net-snmp-utils

Comme nous avons toutes les dépendances prêtes, nous pouvons maintenant télécharger le paquet d’installation depuis le site web de Cacti.

cd /var/www/html
wget http://www.cacti.net/downloads/cacti-1.1.10.tar.gz

Vous pouvez toujours trouver le lien vers la dernière version de l’application sur la page de téléchargement de Cacti. Extrayez l’archive en utilisant la commande suivante.

tar xzvf cacti*.tar.gz

Renommez votre dossier Cacti en utilisant :

mv cacti-1*/ cacti/

Maintenant, importez la base de données Cacti en exécutant la commande suivante.

cd /var/www/html/cacti
mysql cacti_data < cacti.sql -u root -p

La commande ci-dessus importera la base de données cacti.sql dans cacti_data en utilisant l’utilisateur root. Elle vous demandera également le mot de passe de l’utilisateur root avant d’importer la base de données.

Maintenant, éditez la configuration de Cacti en exécutant la commande suivante.

nano /var/www/html/cacti/include/config.php

Maintenant, trouvez les lignes suivantes et modifiez-les selon vos identifiants de base de données MySQL.

/* assurez-vous que ces valeurs reflètent votre base de données/hôte/utilisateur/mot de passe réels */

$database_type     = 'mysql';
$database_default  = 'cacti_data';
$database_hostname = 'localhost';
$database_username = 'cacti_user';
$database_password = 'StrongPassword';
$database_port     = '3306';
$database_ssl      = false;

Étape 5 - Configurer les permissions et le pare-feu

Maintenant, vous devrez fournir la propriété de l’application à l’utilisateur du serveur web en utilisant la commande suivante.

chown -R apache:apache /var/www/html/cacti

Vous devrez également autoriser le trafic HTTP sur le port 80 à travers le pare-feu si vous en exécutez un. Exécutez les commandes suivantes pour cela.

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload

Maintenant, vous devrez désactiver votre SELinux car la configuration du proxy ne fonctionne pas avec les politiques SELinux. Pour désactiver temporairement SELinux sans redémarrer le serveur, exécutez la commande suivante.

setenforce 0

Pour désactiver complètement le SELinux, vous devrez éditer le fichier /etc/selinux/config.

nano /etc/selinux/config

Trouvez la ligne suivante :

SELINUX=enforcing

Changez-la en :

SELINUX=disabled

Maintenant, terminez l’installation à l’aide d’un navigateur web, allez à l’adresse suivante en utilisant votre navigateur web préféré.

http://Your_Server_IP/cacti

Vous verrez la page suivante.

Licence Cacti

Acceptez l’accord de licence pour continuer.

Dans l’interface suivante, vous verrez la pré-installation, toutes les dépendances requises sont satisfaites.

Vérification de pré-installation Cacti

Procédez à l’interface suivante.

Dans le type d’installation, choisissez Nouveau serveur principal et continuez.

Serveur principal Cacti

Dans l’interface suivante, vous devrez fournir les emplacements des binaires. Le chemin vers RRDTool et les binaires PHP est correct. Pour tous les autres binaires, fournissez le chemin /usr/bin/nombre_binaire. Par exemple, pour le binaire snapwalk, le chemin est /usr/bin/snmpwalk.

Page de paramètres Cacti

Dans l’interface suivante, vous verrez que le serveur a un accès en écriture à tous les dossiers requis.

Vérification des permissions de répertoire

Dans la configuration du modèle, choisissez Machine Linux locale et cliquez sur Terminer.

Configuration du modèle

Vous serez dirigé vers la page de connexion. Connectez-vous avec le nom d’utilisateur admin et le mot de passe admin, vous serez dirigé vers le tableau de bord.

Tableau de bord Cacti

L’installation de Cacti est maintenant terminée, vous pouvez utiliser l’application pour surveiller votre serveur à l’aide de graphiques interactifs.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.