Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Vorhergehende Überarbeitung | |||
| — | statusseite_aufsetzen [2023/06/04 11:32] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| 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[' | ||