Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
statusseite_aufsetzen [2013/10/12 02:33] mwarning |
statusseite_aufsetzen [2014/07/21 19:23] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | **Installation der Statusseite** | ||
- | Eine kleine Statusseite die den Verkehr und den Status des Gateways anzeigt. | ||
- | Dafür wird lighttpd und ein CGI-Script verwendet. | ||
- | |||
- | apt-get install lighttpd | ||
- | apt-get install gawk | ||
- | |||
- | gawk wird für das CGI-Script benötigt. | ||
- | Der Inhalt von / | ||
- | |||
- | server.document-root = "/ | ||
- | | ||
- | server.port = 80 | ||
- | server.bind = " | ||
- | $SERVER[" | ||
- | | ||
- | server.username = " | ||
- | server.groupname = " | ||
- | mimetype.assign = ( | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | ) | ||
- | | ||
- | index-file.names = ( " | ||
- | |||
- | In der Konfigurationsdatei muss anstatt 10.29.x.y die korrekte IP eingetragen werden | ||
- | unter der die Statusseite im Freifunknetz erreichbar sein soll. | ||
- | |||
- | |||
- | Der Inhalt von / | ||
- | |||
- | #!/bin/bash | ||
- | | ||
- | dst=" | ||
- | src="/ | ||
- | | ||
- | vpn_if=' | ||
- | wan_if=' | ||
- | avg_time=5 | ||
- | | ||
- | | ||
- | #write stdout to file | ||
- | exec >" | ||
- | | ||
- | convert() { | ||
- | echo $1 | awk '{ | ||
- | split(" | ||
- | c=1; x=$1 | ||
- | while (x>=1024 && c<8) {x/=1024; c++} | ||
- | xf=(c==1)?" | ||
- | printf(xf" | ||
- | }' | ||
- | } | ||
- | | ||
- | vpn_tx1_bytes=`cat "/ | ||
- | vpn_rx1_bytes=`cat "/ | ||
- | wan_tx1_bytes=`cat "/ | ||
- | wan_rx1_bytes=`cat "/ | ||
- | | ||
- | sleep $avg_time | ||
- | | ||
- | vpn_tx2_bytes=`cat "/ | ||
- | vpn_rx2_bytes=`cat "/ | ||
- | wan_tx2_bytes=`cat "/ | ||
- | wan_rx2_bytes=`cat "/ | ||
- | | ||
- | wan_tx_speed=$((($wan_tx2_bytes-$wan_tx1_bytes)/ | ||
- | wan_rx_speed=$((($wan_rx2_bytes-$wan_rx1_bytes)/ | ||
- | vpn_tx_speed=$((($vpn_tx2_bytes-$vpn_tx1_bytes)/ | ||
- | vpn_rx_speed=$((($vpn_rx2_bytes-$vpn_rx1_bytes)/ | ||
- | | ||
- | wan_tx_str=" | ||
- | wan_rx_str=" | ||
- | vpn_tx_str=" | ||
- | vpn_rx_str=" | ||
- | | ||
- | u=`uptime` | ||
- | load=" | ||
- | u=" | ||
- | uptime=" | ||
- | hdd=`df -h | grep '/ | ||
- | | ||
- | echo '< | ||
- | echo '< | ||
- | echo '< | ||
- | echo '< | ||
- | echo '</ | ||
- | echo '< | ||
- | | ||
- | echo '< | ||
- | echo '< | ||
- | echo '< | ||
- | echo '< | ||
- | echo '< | ||
- | echo '< | ||
- | echo '< | ||
- | echo '< | ||
- | echo '</ | ||
- | echo '< | ||
- | echo '< | ||
- | echo '< | ||
- | echo '< | ||
- | echo '< | ||
- | echo '< | ||
- | echo '</ | ||
- | echo '</ | ||
- | echo '</ | ||
- | echo '</ | ||
- | | ||
- | #move to final destination | ||
- | mv " | ||
- | | ||
- | exit 0 | ||
- | |||
- | Für die Statusseite werde zusätzlich die beiden Dateien {{: | ||
- | |||
- | cd / | ||
- | wget http:// | ||
- | wget http:// | ||
- | |||
- | Das obige Script generiert die Statusseite und soll alle zwei Minuten ausgeführt werden. | ||
- | Dafür wird ein Eintrag in die / | ||
- | |||
- | < | ||
- | |||
- | Natürlich muss das script auch ausführbar sein: | ||
- | |||
- | chmod a+x / | ||
- | |||
- | Das Verzeichnis für den Inhalt muss noch erstellt werden: | ||
- | |||
- | mkdir / | ||
- | |||
- | Bevor lighttpd gestartet wird wird dafür noch eine Nutzer und eine Gruppe angelegt: | ||
- | |||
- | groupadd www | ||
- | useradd -g www -d / | ||
- | | ||
- | chown -R www:www / | ||
- | chmod -R 775 / | ||
- | |||
- | Nun kann der Webserver gestartet werden. | ||
- | |||
- | / | ||
- | | ||
- | **vnStat** | ||
- | |||
- | [[http:// | ||
- | |||
- | apt-get install php5-cgi | ||
- | apt-get install vnstat | ||
- | vnstat -u -i fastd_bat | ||
- | vnstat -u -i tun0 | ||
- | vnstat -u -i icvpn | ||
- | | ||
- | In der / | ||
- | Interface " | ||
- | Interface " | ||
- | Interface " | ||
- | ergänzt werden\\ | ||
- | In / | ||
- | server.modules = (" | ||
- | fastcgi.server = ( " | ||
- | " | ||
- | " | ||
- | ))) | ||
- | |||
- | und | ||
- | index-file.names = ( " | ||
- | | ||
- | wird durch | ||
- | |||
- | index-file.names = ( " | ||
- | |||
- | ersetzt | ||
- | |||
- | Nun muss nur noch das php-frontend in den richtigen Pfad heruntergeladen und entpackt werden und die / | ||
- | |||
- | wget http:// | ||
- | tar -xvzf vnstat_php_frontend-1.5.1.tar.gz | ||
- | mv vnstat_php_frontend-1.5.1 / | ||
- | |||
- | Alle Interfaces müssen als array aufgeführt sein: | ||
- | $iface_list = array(' | ||
- | |||
- | und für jedes Interface wird noch ein Titel vergeben | ||
- | $iface_title[' | ||
- | $iface_title[' | ||
- | $iface_title[' | ||
- | $iface_title[' |