Cacti est une solution graphique de réseau gratuite et open source. Il utilise RRDTool pour la collecte de données et la représentation graphique. Il fournit de nombreuses fonctionnalités telles que les collecteurs de données distants et locaux, la découverte de réseau, l'automatisation de la gestion des appareils, la modélisation de graphiques, etc.
Dans ce tutoriel, nous allons installer Cacti sur le 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 package afin que les packages et les référentiels existants soient mis à jour.
yum -y update
Une fois votre système mis à jour, vous pouvez procéder à l'installation du serveur Web Apache.
yum -y install httpd
Démarrez maintenant le serveur Web Apache et activez-le au démarrage à l'aide de la commande suivante.
systemctl start httpd
systemctl enable httpd
Étape 2 - Installation de PHP
Cacti supporte 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 sa fin de vie. L'installation de la dernière version de PHP garantira la sécurité et les performances maximales de l'application.
Le référentiel YUM par défaut de CentOS n'inclut pas PHP 7.1, vous devrez donc ajouter le référentiel Webtatic dans votre système. Le référentiel Webtatic nécessite le référentiel EPEL pour fonctionner. Exécutez la commande suivante pour installer le référentiel EPEL.
yum -y install epel-release
yum -y update
Tapez les commandes pour installer le référentiel 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.
[[email protected] ~]# 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 configurations en PHP. Ouvrez le fichier de configuration PHP, php.ini à l'aide de votre éditeur de texte préféré. Dans ce tutoriel, nous utiliserons l'éditeur nano. Si vous n'avez pas installé nano, vous pouvez exécuter yum -y install nano.
nano /etc/php.ini
Trouvez la ligne suivante et décommentez la ligne et définissez le fuseau horaire en fonction de votre région. Par exemple :
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Kolkata
Étape 3 - Installer 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 lui permettre de démarrer au démarrage.
systemctl start mariadb
systemctl enable mariadb
Exécutez maintenant les commandes suivantes pour sécuriser votre installation MariaDB.
mysql_secure_installation
La commande ci-dessus exécutera un script pour sécuriser la nouvelle installation de MariaDB. Le script 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 Entrée pour continuer.
Le script vous demandera si vous souhaitez définir un mot de passe root pour votre installation MariaDB, choisissez y et définissez un mot de passe fort pour l'installation. La plupart des questions sont explicites et vous devez répondre oui ou y à toutes les questions. La sortie ressemblera à celle ci-dessous.
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 le même.
mysql -u root -p
La commande ci-dessus se connectera au shell MySQL de l'utilisateur root, il demandera le mot de passe de l'utilisateur root. Fournissez le mot de passe pour vous connecter. Exécutez maintenant la requête suivante pour créer une nouvelle base de données pour votre installation 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. Fournissez maintenant 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';
Exécutez maintenant 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 à l'aide de la commande suivante.
EXIT;
Vous devrez également remplir le tableau des fuseaux horaires. Exécutez la commande suivante pour remplir 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 remplies, vous devrez fournir un accès sélectif au compte d'utilisateur Cacti sur les tables. Connectez-vous à nouveau à l'invite MySQL en utilisant :
mysql -u root -p
Exécutez maintenant la requête suivante.
GRANT SELECT ON mysql.time_zone_name TO 'cacti_user'@'localhost';
FLUSH PRIVILEGES;
La requête ci-dessus SELECT donnera accès à 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 toutes les dépendances sont prêtes, nous pouvons maintenant télécharger le package d'installation à partir du 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 à l'aide de la commande suivante.
tar xzvf cacti*.tar.gz
Renommez votre dossier Cacti en utilisant :
mv cacti-1*/ cacti/
Importez maintenant 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. Il vous demandera également le mot de passe de l'utilisateur root avant d'importer la base de données.
Modifiez maintenant la configuration de Cacti en exécutant la commande suivante.
nano /var/www/html/cacti/include/config.php
Recherchez maintenant les lignes suivantes et modifiez-les en fonction de vos informations d'identification de base de données MySQL.
/* make sure these values reflect your actual database/host/user/password */ $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 autorisations et le pare-feu
Vous devrez maintenant fournir la propriété de l'application à l'utilisateur du serveur Web à l'aide de la commande suivante.
chown -R apache:apache /var/www/html/cacti
Vous devrez peut-être également autoriser le trafic HTTP sur le port 80 via le pare-feu si vous en exécutez un. Exécutez les commandes suivantes pour le même.
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
Vous devrez maintenant 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 SELinux, vous devrez modifier le fichier /etc/selinux/config.
nano /etc/selinux/config
Recherchez la ligne suivante :
SELINUX=enforcing
Changez-le en :
SELINUX=disabled
Terminez maintenant l'installation à l'aide d'un navigateur Web, accédez au lien suivant à l'aide de votre navigateur Web préféré.
http://Your_Server_IP/cacti
Vous verrez la page suivante.
Acceptez le contrat de licence pour continuer.
Dans l'interface suivante, vous verrez la pré-installation, toutes les dépendances requises sont remplies.
Passez à l'interface suivante.
Dans le type d'installation, choisissez Nouveau serveur principal et continuez ensuite.
Dans la prochaine interface, vous devrez fournir les emplacements des fichiers binaires. Le chemin vers RRDTool et les binaires PHP sont corrects. Pour tous les autres fichiers binaires, indiquez le chemin /usr/bin/binary_name. Par exemple, pour le binaire snapwalk, le chemin est /usr/bin/snmpwalk.
Dans l'interface suivante, vous verrez que le serveur a un accès en écriture à tous les dossiers requis.
Dans la configuration du modèle, choisissez Machine Linux locale et cliquez sur Terminer.
Vous serez redirigé vers la page de connexion. Connectez-vous en utilisant le nom d'utilisateur admin et le mot de passe admin, vous serez redirigé vers le tableau de bord.
L'installation de Cacti est maintenant terminée, vous pouvez utiliser l'application pour surveiller votre serveur à l'aide de graphiques interactifs.