Paulemann: Apache auf Linux 9.1

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.

  1. 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.

    --
    Endlich online: http://fabis-site.net
    --> XHTML, CSS, PHP-Formmailer, Linux
    Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
    1. Sobald ich versuche den localhost im Browser zu öffnen die o.g. Meldung im Browser angezeigt
      Gruß
      Paul

      1. 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...)

        1. 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:

          forbid access to the entire filesystem by default

          <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.

          1. 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

            1. 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?

              1. 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