Ubuntu 10.04 „Lucid Lynx“
vnStat PHP frontend bereitet die vom Netzwerkmonitor vnStat gesammelten Daten auf und liefert als Ergebnis übersichtliche Berichte. Ein Beispiel:
Das Programm setzt einen Webserver mit PHP-Unterstützung (inklusive der Bibliothek php5-gd) voraus. Weitere Informationen zur Installation finden sich in den Artikeln:
Darüber hinaus muss das Programm installiert [1] sein, das die Daten zum Netzwerkverkehr liefert:
vnstat (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install vnstat
sudo aptitude install vnstat
Das Archiv vnstat_php_frontend-VERSION.tar.gz kann von der Projektseite heruntergeladen werden. Anschließend muss das Paket mit Root-Rechten [2] nach /usr/share/vnstat-php entpackt werden [3].
Fremdsoftware kann das System gefährden.
Da neben der eigentlichen Konfiguration des Frontends auch eine Apache-Konfiguration benötigt wird, sollte zunächst ein zentrales Konfigurationsverzeichnis unter /etc/vnstat-php angelegt werden. Anschließend sollte die config.php des Frontends dorthin kopiert werden und als Ersatz eine symbolische Verknüpfung angelegt werden [4]:
sudo mkdir /etc/vnstat-php sudo mv /usr/share/vnstat-php/config.php /etc/vnstat-php/config.php sudo ln -s /etc/vnstat-php/config.php /usr/share/vnstat-php/config.php
Nun muss die Datei /etc/vnstat-php/config.php entsprechend angepasst [5] werden. Die wichtigsten Abschnitte im Einzelnen:
Um das Frontend in Deutsch nutzen zu können, muss die Sprachdatei de.php heruntergeladen und unter /usr/share/vnstat-php/lang/ gespeichert werden. Der Konfigurationseintrag lautet:
$locale = 'de_DE.UTF-8'; $language = 'de';
Welche Netzwerkschnittstellen überwacht werden sollen. Um beispielsweise die Schnittstellen eth0
und wlan0
zu überwachen:
$iface_list = array('eth0', 'wlan0');
Soll der für die Netzwerkschnittstellen angezeigte Name geändert werden, kann dies im Anschluss geschehen. Um beispielsweise die Schnittstelle eth0
als LAN-Verbindung
und wlan0
als WLAN
zu bezeichnen:
$iface_title['eth0'] = 'LAN-Verbindung'; $iface_title['wlan0'] = 'WLAN';
Nun muss noch der Apache-Webserver konfiguriert werden. Hierzu legt man die Datei /etc/vnstat-php/apache.conf an und trägt dort die folgenden Daten ein:
Um das Frontend auf dem Webserver unter http://localhost/vnstat
verfügbar zu machen, muss in die Konfiguration das Folgende eingetragen werden:
Alias /vnstat /usr/share/vnstat-php
Als Basis-Konfiguration sollte, zusätzlich zur obigen Alias
-Direktive, folgendes hinzugefügt werden:
<Directory /usr/share/vnstat-php/> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all <IfModule mod_php5.c> php_admin_flag engine On php_admin_value open_basedir "/usr/share/vnstat-php/:/etc/vnstat-php/" </IfModule> </Directory>
Soll der Zugang mit einem Passwort geschützt werden, kann dies mit htpasswd
geschehen. Zur Verwaltung der Login-Daten liefert Apache ein praktisches Hilfsprogramm mit:
htpasswd -c /etc/vnstat-php/htpasswd -s BENUTZERNAME
Nach dem zu verwendenden Passwort wird automatisch gefragt. Soll mehr als ein Benutzer hinzugefügt werden, muss -c
weggelassen werden. Soll ein Benutzer gelöscht werden, kann statt -c
der Schalter -D
verwendet werden.
Anschließend muss innerhalb von <Directory ...></Directory>
ein neuer Abschnitt eingefügt werden:
<IfModule mod_authn_file.c> AuthType Basic AuthName "vnStat" AuthUserFile /etc/vnstat-php/htpasswd </IfModule> Require valid-user
Hierzu müssen in der apache.conf die Zeilen Order
und Allow
angepasst werden. Um den Zugang beispielsweise nur vom lokalen Rechner zu erlauben, kann Folgendes verwendet werden. Für andere Einstellungen siehe die Konfiguration von Apache .
Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128
Soll die Seite regelmäßig neu geladen werden, beispielsweise alle 5 Minuten (300 Sekunden), muss der apache.conf innerhalb von <Directory ...></Directory>
das Folgende hinzugefügt werden:
<IfModule mod_expires.c> ExpiresActive On ExpiresDefault M300 </IfModule>