Howto/Webserver auf Gluon Router: Unterschied zwischen den Versionen

Aus Freifunk MWU Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Die meisten Router mit USB Anschluss und 8Mbyte Flash eigenen sich dazu direkt einen kleinen Webserver auf dem Gluon-Router zu betreiben. In dieser Anleitung w…“)
 
 
(4 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
Die meisten Router mit USB Anschluss und 8Mbyte Flash eigenen sich dazu direkt einen kleinen Webserver auf dem Gluon-Router zu betreiben. In dieser Anleitung wird erklaert, wie man ein stock Gluon umbaut, dass der eingebaute Webserver (uhttpd) die Daten eines eingesteckten USB-Sticksper http freigibt. Dies eigenet sich dazu seine eigenen kleine Seite auf dem Gluon Router zu hosten. Es laesst sich jedoch auch php und sqlite integrieren sodass man die ein oder andere Webanwendung auf dem Knoten laufen lassen kann.
+
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.
  
Standartmaessig laueft die gluon info-page auf Port 80 wo spaeter unsere Webseite liegen soll, also muessen wir diese auf einen anderen Port z.B. 81 legen.
+
== 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 12: Zeile 13:
 
         list listen_http '[::]:81'
 
         list listen_http '[::]:81'
  
Als naechstes konfigurieren wir ein neue Webserverinstanz auf Port 80 mit einem wwwdocs Verzeichniss auf /mnt/share :
+
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'
 
         list listen_http '[::]:80'
 
         list listen_http '[::]:80'
Zeile 19: Zeile 20:
 
         list interpreter ".php=/usr/bin/php-cgi"
 
         list interpreter ".php=/usr/bin/php-cgi"
  
 
+
Nun muss der Ordner /mnt/share angelegt werden:
Als naechstes muss der Ordner /mnt/share angelegt werden
 
 
         mkdir -p /mnt/share
 
         mkdir -p /mnt/share
  
Jetzt koennen wir den uhttpd server neu starten:
+
Jetzt können wir den uhttpd server neu starten:
 
         /etc/init.d/uhttpd restart
 
         /etc/init.d/uhttpd restart
  
Jetzt sollte ein leeres verzeichniss unter http://node-name.nodes.ffmz.org erreichbar sein die Info-Page von Gluon ist ab jetzt unter http://node-name.nodes.ffmz.org:81 erreichbar.
+
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.
  
Damit der USB-Stick gemounted werden kann muessen noch einige Pakete insalliert werden:
+
 
 +
== Konfigurieren des Automounts ==
 +
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 erkannt werden koennen die entsprechenden Pakette zusaetzlich installiert werden:
+
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 38: Zeile 40:
 
         ...
 
         ...
  
Nun aktivieren wir noch das automounten des USB-Sticks. Dazu fuegen wir folgenden Eintrag in die /etc/config/fstab ein:
+
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'
 
       option enabled '1'
 
       option enabled '1'
 
       option device '/dev/sda1'
 
       option device '/dev/sda1'
Zeile 48: Zeile 50:
 
       option  anon_mount      '1'
 
       option  anon_mount      '1'
  
Nach einem neustart sollte ein eingestecker FAT-Formatierter USB-Stick nach /mnt/share gemounted werden und so unter http://node-name.nodes.ffmz.org aus dem Freifunk Netz erreichbar sein.
+
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 ==
 
         opkg install php php5-cgi
 
         opkg install php php5-cgi
  
danach fuegen wir in unseren share-Block in der /etc/conf/uhttpd folgende Zeilen mit ein:
+
Danach fuegen in der /etc/conf/uhttpd folgende Zeilen in den "Share"-Block ein:
 
         list interpreter ".php=/usr/bin/php-cgi"
 
         list interpreter ".php=/usr/bin/php-cgi"
 
         list index_file "index.php"
 
         list index_file "index.php"
  
In der /etc/php.ini muss man unter "Paths and Directives" dasDocumentRoot anpassen:
+
In der /etc/php.ini muss man unter "Paths and Directives" das DocumentRoot anpassen:
 
         doc_root = "/mnt/share"
 
         doc_root = "/mnt/share"
  
Nach einem neustart von uhttpd sollte die php-Unterstuetzung laufen:
+
Nach einem Neustart von uhttpd sollte die php-Unterstützung laufen:
 
         /etc/init.d/uhttpd restart
 
         /etc/init.d/uhttpd restart
  
Man kann dies testen in dem man ein folgende Datei auf dem USB-Stickablegt:
+
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.
 +
 
 +
== Aktivieren von SSL ==
  
/mnt/share/index.php
+
== Vorgehen nach dem Autoupdate ==
<?php
 
// Zeigt alle Informationen
 
phpinfo();
 
?>
 

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.

Aktivieren von SSL

Vorgehen nach dem Autoupdate