[[Vorlage(Archiviert, )]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:sudo: Administratorrechte mit sudo erlangen] [:Packprogramme: Ein Archiv entpacken] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(2)]] [github:bjd/vnstat-php-frontend vnStat PHP:frontend] {en} bereitet die vom Netzwerkmonitor [:Netzwerk-Monitoring#Vnstat:vnStat] gesammelten Daten auf und liefert als Ergebnis übersichtliche Berichte. Ein Beispiel: [[Bild(./vnstat_sample_report.jpg, 380)]] = Voraussetzungen = Das Programm setzt einen Webserver mit PHP-Unterstützung (inklusive der Bibliothek '''php5-gd''') voraus. Weitere Informationen zur Installation finden sich in den Artikeln: * [:Apache:] * [:PHP:] Darüber hinaus muss das Programm installiert [1] sein, das die Daten zum Netzwerkverkehr liefert: {{{#!vorlage Paketinstallation vnstat, universe }}} = Installation = Das Archiv '''[github:bjd/vnstat-php-frontend/archive/master.tar.gz:vnstat-php-frontend-master.tar.gz]''' {dl} kann von der [https://github.com/bjd/vnstat-php-frontend Projektseite] heruntergeladen werden. Anschließend muss das Paket mit Root-Rechten [2] nach '''/usr/share/vnstat-php''' entpackt werden [3]. [[Vorlage(Fremd, Software, "")]] ##aasche: ueberfluessig -> siehe Wissensblock ##{{{#!vorlage Befehl ##sudo tar xz -f vnstat-php-frontend-master.tar.gz -C /usr/share/vnstat-php vnstat-php-frontend-master ##}}} = Konfiguration = 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 verschoben werden und als Ersatz eine symbolische Verknüpfung angelegt werden [4]: {{{#!vorlage Befehl 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 }}} == Frontend konfigurieren == Nun muss die Datei '''/etc/vnstat-php/config.php''' entsprechend angepasst [5] werden. Die wichtigsten Abschnitte im Einzelnen: === Sprache === Der Konfigurationseintrag lautet: {{{ $locale = 'de_DE.UTF-8'; $language = 'de'; }}} === Netzwerkschnittstelle === 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. Eine Benennung der Netzwerkschnittstellen ist jedoch optional. Um beispielsweise die Schnittstelle `eth0` als `LAN-Verbindung` und `wlan0` als `WLAN` zu bezeichnen: {{{ $iface_title['eth0'] = 'LAN-Verbindung'; $iface_title['wlan0'] = 'WLAN'; }}} == Apache konfigurieren == 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: === Verzeichnis === 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 }}} === Grundlegende Konfiguration === Als Basis-Konfiguration sollte, zusätzlich zur obigen `Alias`-Direktive, folgendes hinzugefügt werden: {{{ Options FollowSymLinks AllowOverride None Require all granted php_admin_flag engine On php_admin_value open_basedir "/usr/share/vnstat-php/:/etc/vnstat-php/" }}} === Zugang mit einem Passwort schützen === 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: {{{#!vorlage Befehl 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 `` ein neuer Abschnitt eingefügt werden: {{{ AuthType Basic AuthName "vnStat" AuthUserFile /etc/vnstat-php/htpasswd Require valid-user }}} === Zugang bestimmten Benutzern erlauben/verbieten === Hierzu muss in der '''apache.conf''' die Zeile `Require` angepasst werden. Um den Zugang beispielsweise nur vom lokalen Rechner zu erlauben, kann Folgendes verwendet werden. Für andere Einstellungen siehe die [https://httpd.apache.org/docs/2.4/howto/access.html Konfiguration von Apache] {en}. {{{ Require local }}} === Seite automatisch neu laden === Soll die Seite regelmäßig neu geladen werden, beispielsweise alle 5 Minuten (300 Sekunden), muss der '''apache.conf''' innerhalb von `` das Folgende hinzugefügt werden: {{{ ExpiresActive On ExpiresDefault M300 }}} = Links = * [github:bjd/vnstat-php-frontend:Projektseite] {en} * [sourceforge:jsvnstat:jsvnstat - interactive network traffic analysis] {en} - Alternative, benötigt kein PHP (JavaScript) * [:vnStat:] - Hauptartikel * [:Netzwerk-Monitoring:] {Übersicht} Übersichtsartikel #tag: Netzwerk, Internet, System, Server