Apache auf Linux 9.1
Paulemann
- webserver
0 Fabian St.
Ich habe Apache auf Suse Linux 9.1 installiert. Alles funzt soweit, es kommt im Browser jedoch immer wieder die Meldung:
Access forbidden!
You don't have permission to access the requested object. It is either read-protected or not readable by the server.
If you think this is a server error, please contact the webmaster.
Error 403
127.0.0.1
Wed Dec 15 17:37:22 2004
Apache/2.0.49 (Linux/SuSE)
Wo ist mein Problem? Wer kann helfen?
Alles wurde unter root konfiguriert.
Hi!
Ich habe Apache auf Suse Linux 9.1 installiert. Alles funzt soweit, es kommt im Browser jedoch immer wieder die Meldung:
Access forbidden!
You don't have permission to access the requested object. It is either read-protected or not readable by the server.
If you think this is a server error, please contact the webmaster.
Error 403
127.0.0.1
Wed Dec 15 17:37:22 2004
Apache/2.0.49 (Linux/SuSE)
Es wäre hilfreich zu wissen, wann genau dieses Problem auftritt, d.h. was du aufrufst (CGI-Skript/normales HTML-Dokument, etc.).
Grüße,
Fabian St.
Sobald ich versuche den localhost im Browser zu öffnen die o.g. Meldung im Browser angezeigt
Gruß
Paul
Hi,
in deiner /etc/apache2/conf/commonapache2.conf [0] steht vermutlich
<Directory />
Options -All -Multiviews
AllowOverride None
<IfModule mod_access.c>
Order deny,allow
Deny from all
</IfModule>
</Directory>
und das wird dann nirgendwo überlagert.
Vermutlich möchtest du da
<Directory />
Options +Indexes -Multiviews
AllowOverride All
<IfModule mod_access.c>
Order deny,allow
Deny from all
Allow from localhost
</IfModule>
</Directory>
stehen haben.
Dann kannst du lokal auf den Webserver zugreifen.
Wenn du mehr willst [1] solltest du die Doku konsumieren.
Ein Einstieg dafür könnte z.B.:
http://aktuell.de.selfhtml.org/artikel/server/apacheconf/index.htm
sein.
Gruß,
Carsten
[0] k.a. ob der Pfad inziwschen 'überall' so ist ... locate hilft sonst weiter.
[1] das ganze richtig konfigurieren zum Beispiel ... (so gehen u.a. redirekts eher nicht...)
hallo Carsten,
in deiner /etc/apache2/conf/commonapache2.conf
Nein. Eine solche Datei existiert auf einer SuSE nicht, es sei denn, man habe sich den Indianer mit einer entsprechenden Option selber kompiliert. Die "zuständige" Konfigurationsdatei ist bei SuSE 9.1 /etc/apache2/httpd.conf
steht vermutlich
<Directory />
Options -All -Multiviews
Das ist sehr wenig wahrscheinlich. "default" steht dort:
<Directory />
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>
Vermutlich möchtest du da
[...]
stehen haben.
Nein, möchte er nicht. _diese_ Restriktion geht schon in Ordnung.
Es gibt mehrere andere Möglichkeiten, den "Fehler" zu suchen. Zuerst muß natürlich abgeklärt werden, ob der Apache tatsächlich läuft (tut er ja nicht von alleine). Dann muß man schauen, ob der grade angemeldete user ihn auch aufrufen darf. Und dann sollte das DocumentRoot auch korrekt gesetzt sein.
Über alle diese Dinge gibt übrigens das syslog Auskunft. Das sollte man schon erst auswerten.
Ein Einstieg dafür könnte z.B.:
http://aktuell.de.selfhtml.org/artikel/server/apacheconf/index.htm
sein.
Ach ... kommt mir irgendwie bekannt vor ...
Grüße aus Berlin
Christoph S.
Hi Christoph,
in deiner /etc/apache2/conf/commonapache2.conf
Nein. Eine solche Datei existiert auf einer SuSE nicht
...deswegen meine [0] Anmerkung ...
Nein, möchte er nicht. _diese_ Restriktion geht schon in Ordnung.
ähm... wo wird das dann sinnvollerweise auf einem 'Heim'-Apache ohne Virtual Hosts (...) gemacht?
Es gibt mehrere andere Möglichkeiten, den "Fehler" zu suchen.
Ja, mein Hinweis ist mehr ein Schuß ins Blaue.
Was wettest du das ich nicht getroffen habe?
Zuerst muß natürlich abgeklärt werden, ob der Apache tatsächlich läuft (tut er ja nicht von alleine).
Es wäre der erste Apache, der 403 Fehler liefert, wenn er nicht läuft.
Dann muß man schauen, ob der grade angemeldete user ihn auch aufrufen darf.
Das gäbe eine Fehlermeldung beim Versuch ihn zu starten, keinen 403 im Browser.
Und dann sollte das DocumentRoot auch korrekt gesetzt sein.
Ist bei einer Suse eher wahrscheinlich o.k.
Über alle diese Dinge gibt übrigens das syslog Auskunft.
Wenn der Apache läuft ist es doch eher das (Apache) error_log?
(locate error_log sollte hier rausbekommen wo das liegt)
Das sollte man schon erst auswerten.
Stimmt, das ist i.a. recht hilfreich.
Gruß,
Carsten
hallo Carsten,
Nein, möchte er nicht. _diese_ Restriktion geht schon in Ordnung.
ähm... wo wird das dann sinnvollerweise auf einem 'Heim'-Apache ohne Virtual Hosts (...) gemacht?
Es geht in dem "Initial-Container" <Directory /> darum, daß ein Apache-user nicht aus Versehen auf die gesamte Apachewurzel zugreifen und damit beispielsweise auch alle cgi-bin-Verzeichnisse ansprechen darf (siehe http://aktuell.de.selfhtml.org/artikel/server/apacheconf/scripts/linux_2_0_04.htm etwa zu Beginn des dritten Drittels). Du hast selbst angegeben, daß mit jedem weiteren <Directory>-Container diese Angaben wieder überschrieben werden. Wir hatten diese Debatte übrigens schonmal vor längerer Zeit, als Michael Schröpl noch hier aktiv war, ich finde das jetzt bloß nicht im Archiv.
Es gibt mehrere andere Möglichkeiten, den "Fehler" zu suchen.
Ja, mein Hinweis ist mehr ein Schuß ins Blaue.
Was wettest du das ich nicht getroffen habe?
Ich schicke dir meine Kontonummer, damit du die Wettschuld bereits vorab überweisen kannst *g*
Aber ernsthaft: ich hatte genau den angegebenen Fehler auch schon, und auch mit SuSE 9.1, aber er schien mir zu marginal, um ihn als Hinweis in meinen Artikel aufzunehmen.
Zuerst muß natürlich abgeklärt werden, ob der Apache tatsächlich läuft (tut er ja nicht von alleine).
Es wäre der erste Apache, der 403 Fehler liefert, wenn er nicht läuft.
Ups. Du darfst von deiner Wettschuld 20% einbehalten.
Und dann sollte das DocumentRoot auch korrekt gesetzt sein.
Ist bei einer Suse eher wahrscheinlich o.k.
Nein. Bei SuSE 9.1 ist das DocumentRoot "default" /srv/www. Man kann es sich selbstverständlich anders einstellen. Und wenn da keine Dateien drinliegen, kriegt man auf das _leere_ Verzeichnis auch keinen Zugriff. Es muß bei der Apache-Installation über YaST darauf geachtet werden, daß auch die "example pages" installiert werden, damit überhaupt etwas zum Anzeigen vorgefunden werden kann, sofern man noch keine eigenen Dateien dort angelegt hat. Die _vollständige_ Anzeige lautet bei einem absolut leeren DocumentRoot:
Access forbidden!
You don't have permission to access the requested directory. There ist either no index
document or the directory is read-protected.
If you think, this is a server error [...]
Also genau das, was angefragt worden ist. Im DocumentRoot muß schon irgendwas herumliegen, was der Apache an den Browser schicken kann (ich habs eben nachgeprüft).
Grüße aus Berlin
Christoph S.
PS: kommts mir nur so vor, oder hast du dich tatsächlich längere Zeit nicht hier im Forum blicken laasen?
Hallo Leutz
vielen Dank für eure Hilfe, hab das Problem knacken können.
In der /etc/apache2/httpd.conf mußte Zeile 146 Allow from localhost eingefügt werden. Voila mein localhost funzt. Das GAnze unter Suse Linux 9.1.
Mir geht es jetzt wieder gut
Grüße von der Nahe
Paul