Da ich ich den Statistiken entnehmen konnte, das reges Interesse am
WL-500g und der Einrichtung eines Webservers hierauf besteht, möchte ich auch mal mein Wissen hierzu preis geben. Ich habe nirgendwo ein deutsches HowTo gefunden, also habe ich mal ein kleines geschrieben, keine Ahnung ob alles so stimmt, ich übernehme für nix Garantie...
Was ihr braucht?
- Den WL500g-Router
- Eine USB-Medium
- Geringe Linux-Kenntnisse (u.a. für VI)
Also los gehts...
1. Aktuelle Oleg-Firmware installieren. Einfach die Zip-Datei runterladen, entpacken und über das Router-Interface aktualisieren. Aktuell ist die Version 1.9.2.7-7c die ihr
hier runterladen könnt. Für den WL500g benötigt ihr die "WL500g-1.9.2.7-7c.zip". Ich habe einen WL500g Deluxe, deshalb nutze ich die "WL500gx-1.9.2.7-7c.zip"
2. Nach dem Updaten der Firmware, geht ins Webinterface, stellt eure Einstellungen wieder her und aktiviert den Telnet-Zugang (sofern dieser nicht aktiv ist).
3. Nun aktivieren wir den SSH-Zugang, finde ich komfortabler als Telnet. Loggt euch über die Konsole auf dem Router ein (mein Router hat die IP 192.168.1.1) - Username und Passwort wie beim Webinterface
telnet 192.168.1.1
und tippt dann
mkdir -p /usr/local/etc/dropbear
dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key
dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key
dropbear
4. Nun ist der SSH-Deamon gestartet (trägt hier den Namen
Dropbear). Nun solltet ihr euch über SSH auf dem Router einloggen können. (
Nachtrag: Nicht als root einloggen, sondern mit den Logindaten die ihr auch im Webinterface nutzt)
5. Damit der SSH-Deamon immer startet wenn der Router startet, tragen wir ihn sozusagen in ein Init-Script ein (Die datei post-boot):
mkdir -p /usr/local/sbin/
echo "#!/bin/sh" >> /usr/local/sbin/post-boot
chmod +x /usr/local/sbin/post-boot
echo "dropbear" >> /usr/local/sbin/post-boot
6. Danach müssen wir das Ganze nur noch in den Speicher comitten
flashfs save && flashfs commit && flashfs enable
So.. nun haben wir Linux und SSH auf dem Router.. juhu! Nun widmen wir uns dem Webserver.
Da bereits ein Webserver für das Webinterface auf Port 80 läuft, müssen wir einen alternativen Port wählen, ich nehme hier 8080. Als nächstes brauchen wir einen USB-Stick oder ein anderes USB-Speichermedium, auf dem wir die Daten die der Webserver anzeigen soll, ablegen.
1. Speichermedium einstecken.
2. Die Datei "
/usr/local/sbin/post-boot" editieren, um den USB-Stick zu mounten und der Webserver zu starten:
vi /usr/local/sbin/post-boot
Dort fügen wir folgende Zeilen hinzu
mount /dev/scsi/host0/bus0/target0/lun0/part1 /mnt
busybox_httpd -p 8080 -h /mnt
3. Datei speichern und die Änderungen comitten:
flashfs save && flashfs commit && flashfs enable
4. Nun führt die beiden Zeilen noch einmal in der Konsole aus, um den Stick zu mounten und den Webserver zu starten (der startet ja sonst erst beim nächsten Reboot der Routers). Danach könnt ihr die Daten des USB-Mediums schon über den Browser auslesen:
http://192.168.1.1:8080. Nicht wundern, wenn ihr eine 404-Meldung bekommt, es gibt keine Directory-Listings

Wenn ihr jedoch eine Datei anlegt, könnt ihr diese auch aufrufen. (Das Dateisystem des Speichermediums befindet sich jetzt unter
/mnt/... wehr hätte das gedacht...)
5. Um den Webserver von Extern (vom Internet aus) standargemäß über den http-Port (80) aufrufen zu können müsst ihr im Webinterface ein paar Einstellungen vornehmen. Geht zu
NAT Setting und wählt
Virtual Server. Dort tragt ihr, wie auf dem Bild zu sehen, den Router als HTTP-Webserver ein, und leitet alle Anfragen von Extern an Port 80 auf den Router mit Port 8080 weiter. Add drücken um den Eintrag hinzuzufügen und Finish um die Einstellungen zu speichern und den Router neu zu starten. Sobald der Router wieder da ist und sich ins Internet eingewählt hat, könnt ihr euren Webserver über die externe IP aufrufen.
6. Der Router unterstützt auch Bash-Scripte. dazu einfach im Root-Ordner des Werbservers ein
cgi-bin-Verzeichnis anlegen und dann die Bash-Scripte dort hinein legen. Wenn diese nicht ausführbar sind, bekommt ihr ebenfalls einen 404-Fehler. Oder den Hinweis auf einen Fehler im Script

Um Perl benutzen zu können, muss microperl installiert sein, wie das geht, erfahrt ihr im
nächsten HowTo
So, das wars, ich wünsche euch viel Spaß beim Ausprobieren, Fehler machen, Spaß haben, Routen und Servern...
Und nächstes Mal lernen wir, wie man ein auf dem USB-Stick befindeliches Betriebsystem startet
Kommentare