Festplattennutzung auf Ubuntu Server mit dem visuellen Philesight CGI-Skript überwachen
TL;DR
Philesight erstellt eine visuelle Karte der Festplattennutzung, die über das lokale Netzwerk per CGI erreichbar ist. Dieses How‑to erklärt, wie Sie Philesight installieren, indexieren, per CGI verfügbar machen und automatisch täglich per Cron aktualisieren. Folgen Sie den Schritten als Systemadministrator auf einem Ubuntu LAMP‑Server.
Kurzüberblick und Voraussetzungen
- Ziel: Visuelle Darstellung der Festplattennutzung über http://your_server_name/cgi-bin/philesight.cgi
- Voraussetzung: Ubuntu LAMP (Linux, Apache, MySQL, PHP), Webroot bei /var/www, Terminalzugang mit sudo-Rechten.
- Begriff: CGI — Common Gateway Interface, erlaubt das Ausführen von Skripten über einen Webserver.
Wichtig: Führen Sie alle Befehle mit Bedacht aus. Auf Produktionssystemen vorher Backup und Testumgebung verwenden.
1. Abhängigkeiten installieren
Installieren Sie die benötigten Pakete:
sudo apt-get install libdb4.2-ruby1.8 libcairo-ruby1.8 libapache2-mod-perl2 libapache2-mod-php5 ruby
Hinweis: Paketnamen können je nach Ubuntu‑Version leicht variieren. Bei Paketkonflikten prüfen Sie die Paketquellen oder die aktuelle Paketbenennung für Ihre Ubuntu‑Version.
2. CGI‑Scripting aktivieren
Falls CGI noch nicht eingerichtet ist, erstellen und setzen Sie die Berechtigungen:
sudo mkdir /usr/lib/cgi-bin
sudo chmod 755 /usr/lib/cgi-bin
3. Apache‑Konfiguration bearbeiten
Öffnen Sie die Site‑Konfigurationsdatei:
sudo nano /etc/apache2/sites-available/default
Stellen Sie sicher, dass ein Abschnitt wie folgt vorhanden ist:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
Speichern und schließen (Ctrl‑X, dann Y).
4. Philesight herunterladen
mkdir ~/downloads
cd ~/downloads
sudo wget http://zevv.nl/play/code/philesight/philesight-20120427.tgz
5. Philesight entpacken und verschieben
tar -xvf philesight-20120427.tgz
sudo mv philesight-20120427 philesight
cd philesight
6. Ruby‑Skripte verschieben und ausführbar machen
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
7. Pfad in der philesight‑Datei anpassen
Öffnen Sie die Datei:
sudo nano /usr/bin/philesight
Ändern Sie die Zeile
require 'philesight'
in
require '/usr/bin/philesight'
Speichern und schließen.
8. Verzeichnisdatenbank erstellen (Indexierung)
cd /usr/bin/
sudo /usr/bin/philesight --db /usr/lib/philesightdb --index /
Je nach Menge der Daten kann dies längere Zeit dauern.
9. Web‑Dateien vorbereiten
cd ~/downloads/philesight
sudo nano philesight.cgi
Passen Sie die Variable an:
$path_db = "/usr/lib/philesightdb"
Speichern und schließen.
10. CGI‑Skript bereitstellen
sudo mv philesight.cgi /usr/lib/cgi-bin/philesight.cgi
sudo chmod a+x /usr/lib/cgi-bin/philesight.cgi
11. Ruby‑Skripte für CGI verfügbar machen
sudo ln -s /usr/bin/philesight.rb /usr/lib/cgi-bin/philesight.rb
sudo chmod a+x /usr/bin/philesight.rb
12. Webserver neu laden
sudo apache2ctl restart
sudo service apache2 restart
sudo /etc/init.d/apache2 force-reload
Nun sollte die Visualisierung erreichbar sein unter:
http://your_server_name/cgi-bin/philesight.cgi
Beim ersten Laden kann die Grafik fälschlich anzeigen, dass 100% vom Dateisystem von “proc” belegt sind. Ignorieren Sie dies, scrollen Sie nach unten und nutzen Sie die Ordnerliste zur Navigation.
13. Automatische tägliche Aktualisierung per Cron
Erstellen Sie ein tägliches Cron‑Script:
sudo nano /etc/cron.daily/philesight
Inhalt:
#!/bin/sh
sudo rm /usr/lib/philesightdb
sudo /usr/bin/philesight --db /usr/lib/philesightdb --index /
Dann ausführbar machen:
sudo chmod a+x /etc/cron.daily/philesight
Hinweis: Alternativ können Sie das Intervall mit /etc/cron.hourly oder einem Eintrag in crontab -e feiner steuern.
Fehlersuche und typische Probleme
- Indexierung dauert sehr lange: prüfen Sie große Verzeichnisse (z. B. /var/log, /home). Temporär ausschließen oder Testlauf auf Unterverzeichnis durchführen.
- Berechtigungsfehler: Stellen Sie sicher, dass der Benutzer, der das Skript ausführt (sudo in Cron), Rechte hat, um alle Verzeichnisse zu lesen.
- Apache gibt 403/500: Prüfen Sie Apache‑Error‑Log (/var/log/apache2/error.log) und Dateiberechtigungen in /usr/lib/cgi-bin.
- Paketnamen nicht gefunden: Verwenden Sie apt search, prüfen Sie Ubuntu‑Version oder alternative Pakete (Ruby‑Versionen variieren).
Sicherheitshinweise
- Philesight zeigt Dateisysteminformationen; beschränken Sie den Zugriff per Firewall oder Apache‑Auth, wenn das Interface nicht nur lokal zugänglich sein soll.
- Vermeiden Sie das Hosten sensibler Pfade ohne Zugriffsbeschränkung.
Quick‑Checklisten für Rollen
Admin:
- Backup vor Änderungen erstellt
- Apache‑Konfiguration gesichert
- Cron‑Job getestet
DevOps:
- Indexlauf auf Testserver geprüft
- Automatisierungsskript (Ansible/Puppet) vorbereitet
Endbenutzer (Leser des Interfaces):
- Nur lesen, keine Schreibrechte über CGI
Akzeptanzkriterien (Kriterien zur Überprüfung)
- URL http://your_server_name/cgi-bin/philesight.cgi liefert eine interaktive Grafik.
- Indexierung läuft ohne sichtbare Fehler durch und erzeugt /usr/lib/philesightdb.
- Täglicher Cron‑Job aktualisiert die Datenbank (prüfbar am Zeitstempel der DB).
Rückgängig machen / Rollback
- Entfernen Sie die Cron‑Datei: sudo rm /etc/cron.daily/philesight
- Löschen Sie die CGI‑Dateien: sudo rm /usr/lib/cgi-bin/philesight.cgi; sudo rm /usr/lib/cgi-bin/philesight.rb
- Entfernen Sie die Binärdateien: sudo rm /usr/bin/philesight /usr/bin/philesight.rb
- Optional: sudo rm -r /usr/lib/philesightdb
Alternative Ansätze
- Ncdu (CLI) für schnelle, interaktive Analyse im Terminal.
- Web‑UIs wie Baobab (lokal) oder Tools mit integrierter Authentifizierung für Multiuser‑Umgebungen.
Kurze Zusammenfassung
Philesight bietet eine einfache, visuelle Möglichkeit, Plattennutzung auf einem Ubuntu LAMP‑Server darzustellen. Die Installation umfasst Paketinstallation, Konfiguration von Apache für CGI, Indexierung der Dateisystemstruktur und das Einrichten eines Cron‑Jobs zur täglichen Aktualisierung.
Further Notes
- Testen Sie Änderungen zuerst in einer isolierten Umgebung.
- Dokumentieren Sie Pfade und Cron‑Jobs in Ihrer Systemdokumentation.
Zusammenfassung:
- Installation, Konfiguration, Indexierung, Bereitstellung per CGI und Automatisierung per Cron sind die Kernschritte.
- Sicherheit: Interface einschränken und Berechtigungen prüfen.
Ähnliche Materialien

Installationsdatum & Uptime prüfen
Safe Mode ins Kontextmenü von Windows 11 hinzufügen

Scientific Linux 6.1 installieren (DVD)

Externes GPS mit iPad/iPhone verbinden
