"Out-of-the-box" lief der Apache wie auf radislav's Seite
Apache Web-Server - Fritz!Box mit USB-Speicher beschrieben bei mir nicht.
Habe nur den String "Hitachi-HTS543216L9A300-01" mit meinem Stick (# ls /var/media/ftp/) und den "ftpuser" ersetzt (es muss nicht "boxusr80" sein, am besten via "# cat /etc/passwd" prüfen).
in Telnet:
# /var/media/ftp/../apache/bin/apache -f /var/media/ftp/../apache/conf/apache.conf
lieferte eine Fehlermeldung wegen Servername, nach Anpassung der apache.conf passierte gar nichts mehr: Befehl ausgeführt, er machte kurz was, dann wieder bei # ohne Meldung
# ps | grep apache
spuckte nur "grep apache" (den eben eingetippten Befehl aus)
unter /var/media/ftp/../apache/logs (insbesondere die error-Log) gab es aber glücklicher Weise nach jedem Versuch neue Einträge^^
Für alle die ähnliche Probleme haben - mögliche Ursachen&Lösungen:
1.) Server startet nicht, weil kein Servername angegeben war (apache/conf/apache.conf)..
apache.conf:
#ServerName
www.example.com --> ServerName fritz.box (oder private dyndns-Adresse z.B. blabla.dyndns.org oder localhost oder 127.0.0.1)
2.) Server startet ist, aber weder lokal noch über das Internet zu erreichen
"tcp 0.0.0.0:80 0.0.0.0:85 0 # apache",
diese Zeile bei "forwardrules =" in /var/flash/ar7.cfg hinzufügen (ist es die letzte Zeile vor } muss statt Komma (,) ein Semikolon (
3.) Server startet, ist aber nur lokal über fritz.box:85 erreichbar & #Listen 12.34.56.78:80 --> Listen 192.168.178.xxx:85 funktioniert nicht (blockierte oder unbindbare IP)
in Telnet ein virtuelles Interface erstellen:
# ifconfig eth0:1 192.168.178.xxx up
apache.conf:
#Listen .. kommentiert lassen
#BindAddress *
--> BindAddress 192.168.178.xxx
Im Fritz WebGUI unter Internet>Freigaben>Portfreigaben neue Regel erstellen
Code:
Portfreigabe aktiv für: Andere Anwendungen
Bezeichnung: Apache-Server
Protokoll: TCP
von Port: 80
bis Port: 80
an Computer: manuelle Eingabe der IP-Adresse
an IP-Adresse: 192.168.178.xxx (wie in apache.conf BindAddress ..)
an Port 85 (wie in apache.conf Port ..)
4.) Server läuft, doch wenn man radislav's Testseite ersetzt, ist der Server nicht mehr erreichbar und in der error-Log kommt es bei Zugriffen auf diese Seite zu Meldungen mit: ./apache: can't resolve symbol '__eqsf2' oder Ähnlichen
falls man die index.php durch eine index.html ersetzt hat (und diese behalten möchte)
apache.conf:
<IfModule mod_dir.c>
DirectoryIndex index.php
--> DirectoryIndex index.html
</IfModule>
oder einfach die eigene index.html als index.php speichern (eher zu empfehlen!! da es bei "DirectoryIndex index.html" zu can't resolve symbol-Fehlern kommt, wenn man php Sachen installieren will wie z.B. sqlitemanager)
PS: schade das der busybox-httpd Server scheinbar kein .htaccess kann - hätte mir heute ne Menge Arbeit erspart