Tja, dann versuche ich es nochmal. Allerdings aus dem Kopf, weil ich derzeit nicht zuhause bin.
Also: Du willst dass ein HTTP-Server auf der Box läuft welcher anhand eines in der URL mit übergebenen Rechnernamens den jeweiligen Rechner per Wake-On-LAN aufweckt.
Die URL könnte so aussehen:
http://fritz.box:83/cgi-bin/cg_wol.cgi?macmini1
Das bedeutet dass Dein Browser einen HTTP-Server auf der Fritzbox ansprechen will welcher auf TCP Port 83 reagiert. Dieser Server soll die Anfrage mit dem Skript 'cg_wol.cgi' verarbeiten, welches in dem Verzeichnis 'cgi-bin' zu finden ist. Der Parameter heißt in diesem Beispiel 'macmini1' (Parameter stehen hinter einem Fragezeichen). Soweit klar?
Damit das funktioniert muss dieser HTTP-Server auf der Box gestartet werden und er muss gesagt bekommen auf was er wie reagieren soll. Zunächst muss man muss also irgendwo den Befehl zum Starten des 'httpd' aufrufen. Das 'wie' bestimmt diese Skript-Datei, die bei mir 'cg_wol.cgi' heißt. Die muss man ebenfalls anlegen. Und damit man sich nicht die Hardware-MAC-Adressen der einzelnen Rechner merken oder in der URL hinterlegen muss gibt es noch eine Datei in der die Kombinationen aus MAC-Adressen und Rechnernamen stehen. So kann man dann eben 'macmini1' schreiben und braucht nicht '03:9A:45:13:76:1F' zu verwenden. Diese Datei steht im Verzeichnis /var/tmp/ stehen und sie heißt 'ethers'. Das ist allerdings eine die es auf der Fritzbox standardmäßig gibt, man muss evtl. manuell dafür sorgen dass die Einträge die man braucht vorhanden sind.
So. Leider gibt es bei Fritzboxen eine Besonderheit. Die allermeisten im internen Flash-Speicher stehenden Verzeichnisse werden bei jedem Neustart neu aufgebaut. Wenn man also eine Datei manuell neu anlegt, ist sie nach dem Neustart meistens wieder weg. Zum Glück bleibt wenigstens /var/tmp/ethers erhalten, aber das dauerhafte Anlegen der 'cg_wol.cgi' oder der Eintrag zum Starten des httpd ist so nicht möglich. Aber es gibt einen Trick: Die Dateien unter /var/flash lassen sich manuell ändern und die darin gemachten Änderungen bleiben auch nach einem Neustart der Box erhalten. Und eine bestimmte Datei namens 'debug.cfg' wird bei jedem Start der Box als Kommandodatei ausgeführt. Deswegen verwendet man die gerne für solche Erweiterungen. In dieser 'debug.cfg' kann man nicht nur den httpd starten, sondern man kann auch Kommandos hinterlegen, welche ein Verzeichnis und eine Datei anlegen und Inhalt in diese Datei schreiben. Allerdings ist die debug.cfg keine gewöhnliche Datei, sondern als 'character-device' angelegt. Man kann sie nicht mit einem normalen Editor wie z.B. 'vi' oder 'nano' bearbeiten, sondern muss dazu das Skript 'nvi' verwenden. Das startet aber den 'vi' und man kann dann darin mit den normalen vi-Kommandos arbeiten. (Die werde ich Dir aber hier nicht rezitieren, das musst Du googlen).
Was musst Du also tun?
1. telnet auf der Fritzbox aktivieren (geht über eine Tastenkombination auf dem Telefon).
2. von einem Rechner aus anmelden auf der Box, also 'telnet 192.168.xxx.xxx'. Soweit ich mich erinnere ist das Standard-root-Passwort für eine gefreetzte Box 'freetz', aber das sollte man ja sowieso geändert haben. Ich glaube für eine Standard AVM-Box ist es 'avm'. Bitte googlen.
3. in das Verzeichnis /var/flash gehen und dort 'nvi debug.cfg' starten. Dann in der debug.cfg die Zeilen die ich Dir geschrieben habe ergänzen und die debug.cfg speichern
4. in der Datei /var/tmp/ethers die Kombinationen aus MAC-Adressen und Rechnernamen eintragen (wieder per vi o.ä.)
5. die fritzbox neu starten
6. nochmals per telnet auf der Box einloggen
7. per 'ps'-Kommando kontrollieren, ob es ein httpd-Prozess gibt der auf dem von Dir eingestellen Port 'lauscht'
8. kontrollieren, ob es in dem von Dir angegebenen Verzeichnis das Unterverzeichnis 'cgi-bin' und darin Deine Skript-Datei gibt. Diese vielleicht mal anschauen ob sie vernünftig aussieht
9. mal den Test im Browser machen mit der URL. Dann sollte im Browser eine dürre Zeile 'Rechner xxx aufgeweckt' erscheinen und der Rechner sollte starten.
So, und wenn das alles geht, müssen wir uns mal damit beschäftigen wie man diese URL auch aus dem Internet erreichen kann. Ich selber mache das ja nicht, aber das soll durchaus gehen, wie man liest.
Viel Glück,
Christoph