Howto/Webserver auf Gluon Router: Unterschied zwischen den Versionen
Knirps (Diskussion | Beiträge) |
Sven (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
− | Die meisten Router mit USB Anschluss und 8Mbyte Flash eigenen sich dazu, direkt einen kleinen Webserver auf ihnen | + | Die meisten Router mit USB Anschluss und 8Mbyte Flash eigenen sich dazu, direkt einen kleinen Webserver auf ihnen zu betreiben. In dieser Anleitung wird erklärt, wie man ein stock Gluon umbaut, sodass der eingebaute Webserver (uhttpd) die Daten eines eingesteckten USB-Sticks per HTTP freigibt. Man kann die Installation jedoch auch erweitern um ein komplettes LAMP-System zu erhalten, um z.B. einfache WEB-Anwendungen zu betreiben. |
== Konfigurieren des Webservers == | == Konfigurieren des Webservers == | ||
− | + | Standardmäßig läuft die Gluon-Infopage auf Port 80. Hier soll später jedoch unsere Webseite liegen, also müssen wir diese auf einen anderen Port z.B. 81 legen. | |
Dazu editieren wir in der /etc/config/uhttpd folgende Zeilen des Main-Blocks: | Dazu editieren wir in der /etc/config/uhttpd folgende Zeilen des Main-Blocks: | ||
Zeile 13: | Zeile 13: | ||
list listen_http '[::]:81' | list listen_http '[::]:81' | ||
− | Als | + | Als nächstes konfigurieren wir ein neue Webserverinstanz auf Port 80: |
config 'uhttpd' 'share' | config 'uhttpd' 'share' | ||
option 'listen_http' '0.0.0.0:80' | option 'listen_http' '0.0.0.0:80' | ||
Zeile 23: | Zeile 23: | ||
mkdir -p /mnt/share | mkdir -p /mnt/share | ||
− | Jetzt | + | Jetzt können wir den uhttpd server neu starten: |
/etc/init.d/uhttpd restart | /etc/init.d/uhttpd restart | ||
Zeile 30: | Zeile 30: | ||
== Konfigurieren des Automounts == | == Konfigurieren des Automounts == | ||
− | Damit der USB-Stick | + | Damit der USB-Stick gemountet werden kann müssen noch einige Pakete installiert werden: |
opkg update | opkg update | ||
opkg install kmod-usb-storage block-mount block-hotplug kmod-fs-ext4 kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 | opkg install kmod-usb-storage block-mount block-hotplug kmod-fs-ext4 kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 | ||
− | Sollen neben FAT-Formatierten Sticks auch andere Dateisysteme | + | Sollen neben FAT-Formatierten Sticks auch andere Dateisysteme eingehängt werden, so müssen die entsprechenden Pakete zusätzlich installiert werden: |
kmod-fs-ext3 | kmod-fs-ext3 | ||
kmod-fs-ext4 | kmod-fs-ext4 | ||
Zeile 40: | Zeile 40: | ||
... | ... | ||
− | Jetzt aktivieren wir noch das automounten des USB-Sticks. Dazu | + | Jetzt aktivieren wir noch das automounten des USB-Sticks. Dazu fügen wir folgenden Eintrag in die /etc/config/fstab ein: |
config mount 'share' | config mount 'share' | ||
Zeile 50: | Zeile 50: | ||
option anon_mount '1' | option anon_mount '1' | ||
− | Nach einem Neustart sollte ein | + | Nach einem Neustart sollte ein eingesteckter USB-Stick nach /mnt/share gemountet werden und so unter http://node-name.nodes.ffmz.org aus dem Freifunk Netz erreichbar sein. |
== Installieren und aktivieren von PHP == | == Installieren und aktivieren von PHP == | ||
Zeile 62: | Zeile 62: | ||
doc_root = "/mnt/share" | doc_root = "/mnt/share" | ||
− | Nach einem Neustart von uhttpd sollte die php- | + | Nach einem Neustart von uhttpd sollte die php-Unterstützung laufen: |
/etc/init.d/uhttpd restart | /etc/init.d/uhttpd restart | ||
Aktuelle Version vom 13. Mai 2016, 18:28 Uhr
Die meisten Router mit USB Anschluss und 8Mbyte Flash eigenen sich dazu, direkt einen kleinen Webserver auf ihnen zu betreiben. In dieser Anleitung wird erklärt, wie man ein stock Gluon umbaut, sodass der eingebaute Webserver (uhttpd) die Daten eines eingesteckten USB-Sticks per HTTP freigibt. Man kann die Installation jedoch auch erweitern um ein komplettes LAMP-System zu erhalten, um z.B. einfache WEB-Anwendungen zu betreiben.
Konfigurieren des Webservers
Standardmäßig läuft die Gluon-Infopage auf Port 80. Hier soll später jedoch unsere Webseite liegen, also müssen wir diese auf einen anderen Port z.B. 81 legen.
Dazu editieren wir in der /etc/config/uhttpd folgende Zeilen des Main-Blocks:
list listen_http '0.0.0.0:80' list listen_http '[::]:80'
zu
list listen_http '0.0.0.0:81' list listen_http '[::]:81'
Als nächstes konfigurieren wir ein neue Webserverinstanz auf Port 80:
config 'uhttpd' 'share' option 'listen_http' '0.0.0.0:80' list listen_http '[::]:80' option 'home' '/mnt/share' list interpreter ".php=/usr/bin/php-cgi"
Nun muss der Ordner /mnt/share angelegt werden:
mkdir -p /mnt/share
Jetzt können wir den uhttpd server neu starten:
/etc/init.d/uhttpd restart
Unter http://node-name.nodes.ffmz.org sollte der Knoten dann im Freifunk erreichbar sein. Die Gluon-Infopage ist jetzt unter http://node-name.nodes.ffmz.org:81 erreichbar.
Konfigurieren des Automounts
Damit der USB-Stick gemountet werden kann müssen noch einige Pakete installiert werden:
opkg update opkg install kmod-usb-storage block-mount block-hotplug kmod-fs-ext4 kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1
Sollen neben FAT-Formatierten Sticks auch andere Dateisysteme eingehängt werden, so müssen die entsprechenden Pakete zusätzlich installiert werden:
kmod-fs-ext3 kmod-fs-ext4 kmod-fs-<file_system> ...
Jetzt aktivieren wir noch das automounten des USB-Sticks. Dazu fügen wir folgenden Eintrag in die /etc/config/fstab ein:
config mount 'share' option enabled '1' option device '/dev/sda1' option target '/mnt/share'
Zudem setzen wir anon_mount auf 1:
option anon_mount '1'
Nach einem Neustart sollte ein eingesteckter USB-Stick nach /mnt/share gemountet werden und so unter http://node-name.nodes.ffmz.org aus dem Freifunk Netz erreichbar sein.
Installieren und aktivieren von PHP
opkg install php php5-cgi
Danach fuegen in der /etc/conf/uhttpd folgende Zeilen in den "Share"-Block ein:
list interpreter ".php=/usr/bin/php-cgi" list index_file "index.php"
In der /etc/php.ini muss man unter "Paths and Directives" das DocumentRoot anpassen:
doc_root = "/mnt/share"
Nach einem Neustart von uhttpd sollte die php-Unterstützung laufen:
/etc/init.d/uhttpd restart
Man kann dies testen in dem man ein folgende Datei auf dem USB-Stick ablegt:
/mnt/share/index.php <?php // Zeigt alle Informationen phpinfo(); ?>
Ruft man jetzt die Adresse des Routers auf, so erscheint die PHP-Info Ausgabe.