Apache v1.3.34 Webserver für die FritzBox!

Hmm. Warum bin ich da nicht selber drauf gekommen - Hab immer auf ein Output in die Console gewartet...
Ich benutze die Version: Apache/1.3.37 (Unix), Jan 25 2007 00:37:18.

Das Problem war, dass Port 8080 ab Firmware 29.04.29 offensichtlich schon genutzt wird. Das erklärt auch warum bei http://fritz.box:8080 was mit einer Kindersicherung kommt. Mit Port 85 klappt das nun und der Apache läuft.

Wenn ich jedoch über meine externe IP drauf zugreifen will kommt: "Forbidden" und die error.log sagt: "Symbolic link not allowed: /var/media/ftp/Massstorage-Partition-0-1/"
Warum nun das?

Problem gelöst: In der Konfiguration war "-FollowSymLinks" eingetragen...
 
Apache Konfiguration nach Restart weg

Hallo,

"Ah! Marokko" schrieb:
-->
1.) In der Datei /etc/passwd einen weiteren Benutzer eintragen, z.B.
Code:
marokko:x:1:0:marokko:/var/marokko:/bin/sh
(habe hierfür den vi-editor genutzt)

2.) Evtl. noch das zugehörige Home-Verzeichnis erstellen: mkdir /var/marokko

3.) In der httpd.conf den Eintrag 'user anonymous' (Zeile 61) entsprechend zu
'user marokko' abändern. (wieder mit vi)

<---

das habe ich gemacht und alles funktioniert soweit. Bis zum nächsten Start der FritzBox. Danach ist sowohl das user-Verzeichnis, als auch der Eintrag in der /etc/passwd verschwunden. Kann mir da jemand weiter helfen ?

Ich habe eine FRITZ!Box Fon WLAN 7170 (UI), Firmware-Version 29.04.29
 
Guten Morgen!

Du musst einfach das Verzeichnis in die debug.cfg schreiben, sprich mkdir /var/blablabla, dann wird es bei jedem Neustart automatisch ausgeführt. Genauso mit der passwd, da kannst du mit dem echo-Befehl eine neue Zeile in das File beim Starten schreiben.

Alternativ kannst du diese Befehle auch in ein Script packen, und dieses rufst du dann beim Starten über die debug.cfg auf.

z.B. so:

Code:
mkdir /var/marokko
echo "marokko:x:1:0:marokko:/var/marokko:/bin/sh" >> /var/tmp/passwd

Sollte eigentlich so funktionieren! :rolleyes:
 
Danke,
jetzt funktioniert es.
Nachdem auch alles andere über die debug.cfg gesteuert wird, hätte ich aber selbst drauf kommen sollen. :D
 
Passwortschutz eines Webverzeichnisses

Hallo danisahne schrieb:

danisahne schrieb:
Da liegt doch schon das Problem! Aber ich würde das wie gesagt nicht ändern, da es keinen vernünftigen Grund gibt, warum du das nicht in eine <directory>-Direktive in die apache.conf schreiben kannst. Zitat von http://httpd.apache.org/docs/1.3/howto/htaccess.html

Bei läuft der Apache jetzt. Nun wollte ich ein Verzeichnis mit Passwortschutz versehen. Dazu habe ich in der httpd.conf folgendes eingefügt:

<Directory "/var/media/ftp/MassStorageDevice-Partition-0-1/apache/htdocs/fotos">
Options FollowSymLinks
AllowOverride All
AuthType Basic
AuthName [email protected]
AuthUserFile /var/media/ftp/MassStorageDevice-Partition-0-1/apache/passwoerter/.htpasswd
require valid-user
</Directory>

Beim Start des httpd wird sie Zeile mit AuthUserFile als fehlerhaft bezeichnet. Er behauptet, dass das Schlüsselwort 'AuthUserFile' nicht existiert oder falsch geschrieben ist.

Beim zweiten versuch habe ich die Zeilen ab AuthType Basic in eine .htaccess ausgelagert.
Die Verzeichnisangaben sind alle korrekt. Die .htpasswd habe ich gemäß Apache-Hilfe nicht in den htdocs-Tree gelegt. Dass sollte aber auch funktionieren. Das Ergebnis war das gleiche.
Kann mir einer von Euch weiter helfen, was hier nicht richtig ist ?
 
Womit hast du die Datei erstellt/editiert?
Sind da vielleicht DOS-/Windows-Zeilenende-Zeichen drin?
 
Apache auf Fritzbox (.htaccess-Probleme)

u.g schrieb:
Womit hast du die Datei erstellt/editiert?
Sind da vielleicht DOS-/Windows-Zeilenende-Zeichen drin?

Ich habe die Datei mit Notepad++ bearbeitet. Nach Kontrolle auf einem Linuxsystem konnte ich überprüfen, dass die Datei kein Windows-Steuerzeichen (^M) enthält. Somit ist die Datei auch in Ordnung.

die genaue Fehlermeldung lautet:
Invalid command 'AuthUserFile', perhaps mis-spelled or defined by a module not included in the server configuration
 
Zuletzt bearbeitet:
Mit dem Server von DEEFRAG habe ich ein Problem:
Ich habe alles installiert und getan, doch der Inhalt des USB-Speichers wird nicht gefunden.

Was ich getan habe:
- Stick an den Rechner dran
- Server drauf kopiert
- apache.conf habe ich wie folgt geändert:
Code:
# directive.
#
#Listen 3000
Listen [COLOR="Red"]192.168.178.253:85[/COLOR]
#
# BindAddress: You

und

Code:
# ports < 1023, you will need httpd to be run as root initially.
#
Port 85
#
# If
- Pfad zum Stick innerhalb der apache.conf geändert
- Stick an die Box dran


mit dem Commando "chmod +x apache" den Webserver ausführbar machen.
... habe ich so gemacht
Code:
cd var/media/ftp/USBStorage...
chmod +x apache
Darauf kam keine Fehlermeldung.

die debug.cfg musste ich neu erstellen und besteht nun nur aus dem Eintrag:
Code:
ifconfig eth0:192.168.178.253 netmask 255.255.255.0 up
/var/media/ftp/USBStorage/apache -f /var/media/ftp/USBStorage/apache/conf/apache.conf

- Portfreigabe habe ich gebaut
- neu gestartet habe ich auch

Version der Fritz!Box 7170: 29.04.37



Bitte helft mir!!!
 
push ... jemand Tipps?

EDIT:
In die debug.cfg hab ich das noch eingetragen:
Code:
sleep 60
ifconfig ...
... damit die Box erstmal hochfahren kann, die Festplatte mounten kann und dann erst der Apache startet
 
Zuletzt bearbeitet:
*push*
weiß da jemand was?

Im übrigens ... in der apache.conf hab ich die Pfade geädnert auf

/var/media/ftp/PLATTENNAME/apache/ etc. also auch am Anfang einen Schrägstrich.
 
Webserver startet nicht

Also ich bin auch nicht unbedingt der Linux Guru. Hatte zwar mal einen Apache Lokal laufen, aber das ist schon lange her. Mir nützt es also nichts hier kein kompliziertes Linuxdeutsch. Fakt ist das ich alles versucht habe nach der Anleitung einzurichten. Allerdings nach zwei Tagen keinen Schritt weitergekommen bin. Nun hoffe ich auf Eure Hilfe.
Habe den Apache auf den USB Stick kopiert. Alle Pfadangaben in der http.conf die da lauteten: /var/media/ftp/USB-Partition-0-5/apache/..... habe ich in:

/var/media/ftp/MassStorageDevice-Partition-0-1/apache geändert.

Port in der http.conf ist 85 und IP 192.168.178.21

Der Name: MassStorageDevice-Partition-0-1 wird mir so in der Weboberfläche meiner FB angezeigt. Am Anfang der debug.cfg habe ich:

while !(ping -c 1 www.avm.de); do
sleep 5
done

eingetragen. Die anderen zwei Zeilen habe ich als Screen angefügt. Wenn ich nun mit meiner Windose im Browser 192.168.178.21:85 eingebe passiert nichts. Es kommt halt Fehler: Verbindung fehlgeschlagen.

Es wäre schön, wenn mir mal einer auf die Sprünge helfen könnte. Vielen Dank
 

Anhänge

  • debug.cfg.jpg
    debug.cfg.jpg
    9.9 KB · Aufrufe: 69
Moin Pixeltsv,

willkommen im Forum. Was sagen denn die Logfiles des Apache? Allen voran error.log; da sollten eigentlich einige Informationen drin stehen.

Grüße Dirk
 
Hi Dirk,

ich habe das gleiche Problem, wie PixelTSV.

Hier der Inhalt meiner "error_log" des apache:

Code:
[Mon Oct 22 09:22:14 2007] [crit] (126)Cannot assign requested address: make_sock: could not bind to address 192.168.178.15 port 85
Weitere logs im Apache habe ich nicht / finde ich nicht.

Das ist meine debug.cfg:

Code:
while !(ping -c 1 www.avm.de); do
sleep 5
done

sleep 20

ifconfig eth0 192.168.178.15 netmask 255.255.255.0 up
/var/media/ftp/ExternalHDD-Partition-0-1/apache/httpd -f /var/media/ftp/ExternalHDD-Partition-0-1/apache/conf/httpd.conf

Auszug aus meiner httpd.conf:

Code:
ServerType standalone

ServerRoot "/var/media/ftp/ExternalHDD-Partition-0-1/apache"

user ftpuser
group root

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
#Listen 3000
#Listen 12.34.56.78:80
Port 85
Listen 192.168.178.15:85


#
# BindAddress: You can support virtual hosts with this option. This directive
# is used to tell the server which IP address to listen to. It can either
# contain "*", an IP address, or a fully qualified Internet domain name.
# See also the <VirtualHost> and Listen directives.
#
#BindAddress *

#
# Port: The port to which the standalone server listens. For
# ports < 1023, you will need httpd to be run as root initially.
#
# Port 80

HIER ABSICHTLICH DIE RAUTE VOR DEM PORT GELASSEN, DA WEITER OBEN DEFINIERT.

Aktuellste Firmware 29.04.40 ohne Mods, Ohne Laborversionen etc.

Wenn ich "ps" Eingebe, kommen ja sämtliche Prozesse.
Da steht bei mir 4 x websrv (der Box-eigene Server???!!) aber nix von apache oder httpd.


Ich bin ja der Meinung, dass in der Box ein kleines Männchen sitzt und mich die ganze Zeit auslacht. Das liegt mit Sicherheit nur an einer Kleinigkeit, die ich nicht erkenne. ;-)


EDIT: die debug.cfg habe ich mit nvi geöffnet ... i gedrückt ... geschrieben ... esc und :wq gedrückt.
Dann sicherheitshalber nochmal mit nvi geöffnet (Änderungen waren ersichtlich). Danach reboot.
 
Die Fehlermeldung besagt, dass der Apache auf IP 192.168.178.15 / Port 85 keinen Listener aufmachen konnte. Sprich: Das entsprechende Interface ist noch nicht oben. Auch, wenn das in der debug.cfg vor dem Apache hochgefahren wird.

Falls der Apache mit der selben Konfiguration über telnet gestartet werden kann, ist beim automatischen Apache-Start das Interface definitiv noch nicht hochgefahren.
Primitive Lösung: sleep 30 zwischen ifconfig ... up und die Apache-Zeile packen.
Elegante Lösung: mittels while-Schleife abfragen, ob das Interface nicht(!) oben ist. In der while-Schleife sleep 5 ausführen. Nach der While-Schleife den Apache starten.

Ja, websrv ist der Box-eigene Server, über den "Normalnutzer" die ganzen Einstellungen vornimmst.

Grüße Dirk
 
Ich probier heute abend (sicher erst 22:00) das mit dem manuellen Start mal aus.

Kannst Du den Code mit der while-Schleife mal posten?! Soweit geht dann meine Programmierfähigkeit im Linux dann doch nicht.
Ansonsten ist der Tipp mit "sleep" sicher auch ausreichend.

Woran erkenne ich, dass der Apache erfolgreich gestartet ist? Mal abgesehen davon, dass eine webseite angezeigt wird.
Wird mit dem starten des Apache ein neuer Prozess gestartet und ist somit mit "ps" sichtbar?

Dank Dir für Deinen Beitrag. Hilft mir zumindest seelisch weiter, dass ich bis jetzt richtig rumgefrickelt habe.
 
Wenn der Apache sauber gestartet ist, wird mindestens ein neuer Prozess angelegt. Der ist dann mit ps (spätestens mit ps -aux) sichtbar, klar.

Die Bedingung für die While-Schleife kann ich Dir leider nicht sagen, so gut sind meine shell-Kenntnisse dann doch nicht. Hier müsste mal ein Linux-Experte einspringen.

Grüße Dirk
 
Hallo Gostwriter entschuldige das ich mich jetzt erst melde, bin gerade von der Arbeit gekommen. Also eine Error.log habe ich gar nicht unter logs. Da ist nur eine http.pid .
Ich habe den Apache-1.3.34 so wie es in der Anleitung war. Sollte ich mal einen anderen probieren ?

Habe nun mal den Apache von Hand mit dem Befehl:
/var/media/ftp/MassStorageDevice-Partition-0-1/apache/httpd -f /var/media/ftp/MassStorageDevice-Partition-0-1/apache/conf/httpd.conf

gestartet. Kein Erfolg. In der Debug.cfg habe ich nicht die 192.168.178.15:85 genommen sondern 192.168.178.21:85. Kurioser Weise komme ich beim Aufruf der IP ohne Port auf meine FB Startbildschirm (da wo ich das Passwort eingeben muss) Icxh dachte das geht nur bei 192.168.178.1

Vielleicht ist noch interessant, das ich mit WinXP das ganze mache. Also cmd nutze. Aber lenet habe ich ja damit auch hinbekommen.

Ich hoffe nicht das der Traum vom Apache auf meinem USB Stick nur ein Traum bleibt. :confused:
 
Zuletzt bearbeitet:
Kurioser Weise komme ich beim Aufruf der IP ohne Port auf meine FB Startbildschirm (da wo ich das Passwort eingeben muss) Icxh dachte das geht nur bei 192.168.178.1
Das heißt schon mal, dass das virtuelle Interface, auf das sich der Apache binden soll, sauber hochgefahren wird.

In der Debug.cfg habe ich nicht die 192.168.178.15:85 genommen sondern 192.168.178.21:85
Ähh, in der Debug.cfg sollte eigentlich nur die IP-Adresse 192.168.1.78.15 bzw .21 angegeben werden. NICHT der Port 85. Halt so, wie Du das hier im Forum gepostet hast. Und selbstverständlich muss diese IP mit der in der Apache-Config übereinstimmen. Sonst wird das nichts.

Grüße Dirk

P.S. Mein Nick ist Ghostwalker, nicht Ghostwriter oder gar Ghostrider. Ein Ghostwriter bin ich nicht. Und vom Fahrverhalten von "Bikern" wie dem Ghostrider distanziere ich mich ausdrücklich. Sowas ist einfach nur gemeingefährlich.
 
Es ist wie verhext ... man man man.

nach manueller Eingabe von
Code:
ifconfig eth0:192.168.178.15 netmask 255.255.255.0 up
(man beachte "eth0:19..." ... richtig geschrieben??)
kommt:
Code:
SIOCSIFNETMASK: No such device
SIOCGIFFLAGS: No such device
nehme ich "eth0:1 192..." kommt das gleiche

Das webinterface kommt bei mir nicht, wenn ich die IP über den Browser eingebe.
 
@dackel: es kann sein, dass Du keine eth0 hast, sondern lan, cpmac0 oder irgendwas anderes. Versuch mal mit ifconfig (ohne Parameter) zu sehen, wie die Schnittstelle heißt. Du müsstest dann ggf. cpmac0:192.... angeben anstelle von eth0.

(bei mir gibt es cpmac0 und keine eth0, ich denke, dass es an der Hardware-Version liegt: ich habe eine 7170 v1 mit dem "doofen" Switch (kein Internet über LAN1 usw.))
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.