Surveiller le disque dur d'un serveur Ubuntu avec Philesight
Objectif et variantes recherchées
- Objectif principal : surveiller l’utilisation du disque dur d’un serveur Ubuntu via Philesight.
- Variantes liées : monitoring disque Ubuntu, Philesight CGI, visualisation utilisation disque, automatisation indexation disque, alternatives (ncdu, Baobab).
Pré-requis
- Serveur Ubuntu avec pile LAMP (Linux, Apache, MySQL, PHP).
- Accès terminal avec sudo.
- Racine web par défaut : /var/www (ou autre si configuré).
- Philesight est disponible à http://zevv.nl/play/code/philesight/ (conserver le lien pour téléchargement).
Important : sur les versions récentes d’Ubuntu, certains paquets Ruby/Apache indiqués dans l’original peuvent avoir changé de nom. Adaptez les paquets ou installez les dépendances équivalentes pour votre version.
Étapes d’installation
- Installer les dépendances
sudo apt-get install libdb4.2-ruby1.8 libcairo-ruby1.8 libapache2-mod-perl2 libapache2-mod-php5 ruby
- Activer le CGI si nécessaire
sudo mkdir /usr/lib/cgi-bin
sudo chmod 755 /usr/lib/cgi-bin
- Modifier le fichier de site Apache
sudo nano /etc/apache2/sites-available/default
Vérifiez qu’il existe une section comme ci‑dessous :
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
Fermez et enregistrez (Ctrl+X puis Y).
- Récupérer Philesight
mkdir ~/downloads
cd ~/downloads
sudo wget http://zevv.nl/play/code/philesight/philesight-20120427.tgz
- Décompresser et déplacer
tar -xvf philesight-20120427.tgz
sudo mv philesight-20120427 philesight
cd philesight
- Placer les scripts Ruby et rendre exécutables
sudo mv philesight /usr/bin/philesight
sudo mv philesight.rb /usr/bin/philesight.rb
sudo chmod a+x /usr/bin/philesight
sudo chmod a+x /usr/bin/philesight.rb
- Corriger le chemin interne si appelé depuis cron
sudo nano /usr/bin/philesight
Remplacez la ligne :
require 'philesight'
par :
require '/usr/bin/philesight'
Enregistrez.
- Préparer la base de données d’index (peut prendre du temps selon la taille du disque)
cd /usr/bin/
sudo /usr/bin/philesight --db /usr/lib/philesightdb --index /
- Préparer les fichiers web
cd ~/downloads/philesight
sudo nano philesight.cgi
Modifiez la variable pour pointer vers la base :
$path_db = "/usr/lib/philesightdb"
Enregistrez.
- Copier le script CGI et rendre exécutable
sudo mv philesight.cgi /usr/lib/cgi-bin/philesight.cgi
sudo chmod a+x /usr/lib/cgi-bin/philesight.cgi
- Rendre les scripts Ruby accessibles au CGI
sudo ln -s /usr/bin/philesight.rb /usr/lib/cgi-bin/philesight.rb
sudo chmod a+x /usr/bin/philesight.rb
- Redémarrer Apache
sudo apache2ctl restart
sudo service apache2 restart
sudo /etc/init.d/apache2 force-reload
- Accéder à l’interface
Ouvrez : http://your_server_name/cgi-bin/philesight.cgi
Remarque : au premier affichage, vous pouvez voir un graphique indiquant que 100% est utilisé par “proc”. Ignorez-le et descendez dans la page pour voir la liste des dossiers de la racine. Cliquez pour explorer visuellement le contenu.
Automatiser l’indexation avec cron (exécution au moins quotidienne)
sudo nano /etc/cron.daily/philesight
Collez :
#!/bin/sh
sudo rm /usr/lib/philesightdb
sudo /usr/bin/philesight --db /usr/lib/philesightdb --index /
Rendre exécutable :
sudo chmod a+x /etc/cron.daily/philesight
Important : supprimer et recréer la base chaque jour réindexe tout et peut être coûteux en I/O. Ajustez la fréquence selon la taille du disque et la charge du serveur.
Sécurité et bonnes pratiques
- Limitez l’accès à l’URL via un contrôle d’accès Apache (Allow from, Require ip) ou par authentification HTTP pour empêcher la découverte d’une arborescence interne.
- Évitez d’exposer des informations sensibles en clair. Philesight montre la structure des dossiers ; restreignez l’accès aux administrateurs.
- Sur les versions récentes d’Ubuntu, mod_php5 peut être obsolète. Préférez les modules et paquets compatibles avec votre version (php7.4/php8.0 ou PHP-FPM).
Alternatives et comparaisons rapides
- ncdu : interface console pour explorer l’utilisation disque (utile en SSH).
- Baobab (Disk Usage Analyzer) : interface graphique GNOME, bonne pour postes de travail.
- Solutions de supervision (Prometheus + Grafana) : pour monitoring centralisé à long terme.
Checklist rôle par rôle
- Administrateur système : valider dépendances, cron et permissions des fichiers.
- Responsable sécurité : ajouter contrôle d’accès et revue des logs d’accès.
- Opérations / NOC : définir fréquence d’indexation et alertes si l’espace libre chute.
Critères d’acceptation
- La page CGI s’affiche sans erreur 500.
- Les images/visualisations se régénèrent après l’exécution du cron.
- L’accès est restreint aux plages IP ou utilisateurs autorisés.
Dépannage courant
- Erreur CGI 500 : vérifier permissions (exécutable) et logs Apache (/var/log/apache2/error.log).
- Packages introuvables : adaptez les noms de paquet à votre version d’Ubuntu et installez Ruby si nécessaire.
- Indexation très lente : exécutez manuellement la commande d’indexation et surveillez l’I/O.
Notes de compatibilité
Philesight est ancien ; sur les distributions modernes, certaines bibliothèques Ruby ou paquets Apache peuvent différer. Préparez-vous à adapter les noms de paquets et à utiliser des alternatives (scripts personnalisés, Docker) si nécessaire.
Résumé
- Philesight fournit une visualisation CGI de l’utilisation disque accessible via votre navigateur.
- Installez dépendances, copiez les scripts dans /usr/bin et /usr/lib/cgi-bin, indexez la racine, puis automatisez par cron.
- Restreignez l’accès et adaptez les paquets selon votre version d’Ubuntu.
Important : testez l’accès après chaque modification de configuration et surveillez l’impact sur les performances lors de l’indexation.
Matériaux similaires

Date d'installation et uptime Windows & Linux
Ajouter Mode sans échec au menu contextuel

Installer Scientific Linux 6.1 (DVD)

GPS externe pour iPad/iPhone — guide complet
