LibreNMS est un outil de surveillance de réseau open-source à découverte automatique pour les serveurs et le matériel réseau. Il prend en charge une large gamme de matériel réseau comme Cisco, Juniper, Brocade, Foundry, HP et des systèmes d'exploitation tels que Linux et Windows. LibraNMS est un fork communautaire de l'outil de surveillance réseau "Observium", publié sous GPLv3.
Chez LinuxAPT, dans le cadre de nos services de gestion de serveur, nous aidons régulièrement nos clients à effectuer des requêtes d'installation de logiciels système Linux.
Dans ce contexte, nous verrons comment installer LibreNMS sur Ubuntu 20.04 LTS.
Étapes pour installer LibreNMS sur Ubuntu 20.04 LTS Focal Fossa
1. Effectuez la mise à jour du système
Tout d'abord, assurez-vous que tous vos packages système sont à jour en exécutant les commandes apt suivantes dans le terminal :
$ sudo apt mise à jour
$ sudo apt upgrade
2. Installez Nginx sur le système
Nginx est un serveur Web performant et très populaire de nos jours. Il peut également être utilisé comme proxy inverse et serveur de mise en cache. Exécutez la commande suivante depuis le Terminal pour installer le serveur Web Nginx :
$ sudo apt install nginx
Une fois installé, vérifiez si le service Nginx est en cours d'exécution :
$ sudo systemctl démarrer nginx
$ sudo systemctl état nginx
Maintenant, si votre pare-feu UFW est en cours d'exécution, vous devrez autoriser les connexions à Nginx :
$ sudo ufw autoriser OpenSSH
$ sudo ufw allow 'Nginx Full'
Ensuite, vérifiez l'état du pare-feu :
État $ sudo ufw
La sortie que vous obtiendrez est donnée ci-dessous :
Statut :actif
À l'action de
-- ------ ----
OpenSSH AUTORISER n'importe où
Nginx complet AUTORISER n'importe où
OpenSSH (v6) AUTORISER n'importe où (v6)
Nginx complet (v6) AUTORISER n'importe où (v6)
3. Installez MariaDB sur le système
MariaDB est un remplacement direct de MySQL. Il est développé par d'anciens membres de l'équipe MySQL qui craignent qu'Oracle ne transforme MySQL en un produit à source fermée.
Exécutez la commande suivante pour installer MariaDB :
$ sudo apt install mariadb-server mariadb-client
Une fois terminé, vous pouvez vérifier que MariaDB est installé en exécutant la commande ci-dessous :
$ sudo systemctl status mariadb
Par défaut, MariaDB n'est pas renforcée. Vous pouvez sécuriser MariaDB à l'aide du script mysql_secure_installation. vous devez lire attentivement et en dessous de chaque étape qui définira un mot de passe root, supprimera les utilisateurs anonymes, interdira la connexion root à distance et supprimera la base de données de test et l'accès à MariaDB sécurisé :
$ mysql_secure_installation
Ensuite, configurez-le comme ceci :
- Définir le mot de passe root ? [O/n] oui
- Supprimer les utilisateurs anonymes ? [O/n] oui
- Interdire la connexion root à distance ? [O/n] oui
- Supprimer la base de données de test et y accéder ? [O/n] oui
- Recharger les tables de privilège maintenant ? [O/n] oui
Pour vous connecter à MariaDB, utilisez la commande suivante (notez qu'il s'agit de la même commande que vous utiliseriez pour vous connecter à une base de données MariaDB) :
$ mysql -u root -p
4. Installez PHP sur le système
Contrairement à Apache, Nginx ne contient pas de traitement PHP natif. Pour cela, nous devons installer PHP-FPM (FastCGI Process Manager).
Exécutez la commande suivante pour installer PHP7.4 et certaines extensions courantes :
$ sudo apt install php7.4 php7.4-fpm php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7. 4-mbstring php7.4-xml php7.4-gd php7.4-curl
Une fois installé, vérifiez la version de PHP :
$ php --version
5. Installez LibreNMS sur le système
Vous pouvez installer les packages requis pour LibreNMS :
$ sudo install apt install curl composer fping git graphviz imagemagick rrdtool snmp snmpd whois unzip python python3-pip
Nous allons maintenant récupérer la source LibreNMS du référentiel GitHub :
$ cd /opt
$ git clone https://github.com/librenms/librenms.git
Ensuite, créez un utilisateur qui gérera LibreNMS et ajoutera Nginx au groupe LibreNMS :
$ useradd librenms -d /opt/librenms -M -r
$ usermod -a -G librenms www-data
Nous devrons modifier certaines autorisations de dossiers :
$ chown -R librenms:librenms /opt/librenms
$ chmod 770 /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
Après cela, nous recevons un script PHP qui installera les dépendances du compositeur. Pour exécuter cela, nous utiliserons la commande suivante. Pour exécuter ce script, nous devons passer à l'utilisateur LibreNMS :
$ su - librenms
$ cd /opt/librenms
$./scripts/composer_wrapper.php install --no-dev
$ sortie
6. Configurez MariaDB pour LibreNMS
Ici, nous devrons nous connecter à la console MariaDB et créer une base de données pour le LibreNMS. Exécutez la commande suivante :
$ mysql -u root -p
Cela vous demandera un mot de passe, alors entrez votre mot de passe root MariaDB et appuyez sur Entrée. Une fois connecté à votre serveur de base de données, vous devez créer une base de données pour l'installation de LibreNMS :
MariaDB [(none)]> CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
MariaDB [(aucun)]> CRÉER UN UTILISATEUR 'librenms'@'localhost' IDENTIFIÉ PAR 'VOTRE-MOT DE PASSE' ;
MariaDB [(aucun)]> ACCORDER TOUS LES PRIVILÈGES SUR librenms.* TO 'librenms'@'localhost' ;
MariaDB [(aucun)]> PRIVILÈGES FLUSH ;
MariaDB [(aucun)]> quitter
Une fois cela fait, ouvrez le fichier de configuration MariaDB et ajoutez les lignes suivantes sous la section [mysqld] :
$ nano /etc/mysql/mariadb.conf.d/50-server.cnf
Dans la section [mysqld], veuillez ajouter :
innodb_file_per_table=1
lower_case_table_names=0
Ensuite, redémarrez MariaDB pour que les modifications prennent effet :
$ sudo systemctl redémarrer mariadb
7. Configurer Nginx pour LibreNMS
Créez la définition VirtualHost pour Nginx à utiliser par LibreNMS :
$ nano /etc/nginx/conf.d/librenms.conf
Ajoutez ce qui suit au fichier de configuration :
serveur {
écouter 80 ;
nom_serveur librenms.linuxapt.com ;
racine /opt/librenms/html ;
index index.php;
jeu de caractères utf-8 ;
gzip activé ;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
emplacement / {
try_files $uri $uri/ /index.php?$query_string;
}
emplacement /api/v0 {
try_files $uri $uri/ /api_v0.php?$query_string;
}
emplacement ~ \.php {
inclure fastcgi.conf ;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock ;
}
emplacement ~ /\.ht {
Nier tous;
}
}Maintenant, nous pouvons redémarrer le serveur Web Nginx pour que les modifications aient lieu :
$ sudo systemctl redémarrer nginx
8. Configurer le pare-feu
Autorisez Nginx à traverser le pare-feu afin que l'utilisateur puisse accéder au portail LibreNMS depuis une machine externe :
$ ufw allow 80/tcp
$ ufw autorise 443/tcp
$ ufw recharger
Comment accéder à l'interface Web de LibreNMS ?
LibreNMS sera disponible sur le port HTTP 80 par défaut.
Ouvrez votre navigateur préféré et accédez à http://your-domain.com/ ou http://server-ip-address/ et suivez les étapes requises pour terminer l'installation.
Vous pouvez également effectuer les actions ci-dessous :
- Cliquez sur Base de données.
- Fournissez le nom de la base de données, le nom d'utilisateur et le mot de passe.
- Cliquez sur Vérifier les informations d'identification.
- Cliquez sur Créer une base de données.
- Une fois la compilation terminée.
- Cliquez sur Ajouter un utilisateur.
- Fournissez un nom d'utilisateur, un mot de passe et une adresse e-mail.
- Cliquez sur Ajouter un utilisateur.
- Une fois l'utilisateur ajouté avec succès.
- Cliquez sur la somme de contrôle suivante.
- Cliquez sur Valider votre option d'installation.
- Fournissez le nom d'utilisateur et le mot de passe.
- Cliquez sur Connexion.