csmeedy: "403 Forbidden"-Meldung bei Apache

Hallihallo an alle,

ich habe heute den Apache-Server auf meinem PC installiert (WindowsXP). in der datei httpd.conf hab ich alles wie beschrieben konfiguriert, ich möchte den server nur zum ausprobieren meiner hp benutzen.

aber immer wenn ich http://localhost aufrufen möchte wird mir die "403 Forbidden"-Meldung angezeigt. ich habe aber eigentlich nichts an den zugriffsrechten verändert.

Hier ein auszug aus der error.log -datei:
[Sun Jan 11 15:59:49 2004] [error] [client 127.0.0.1] Directory index forbidden by rule: d:/web/

"d:/web/" ist bei mir die DocumentRoot.

wäre toll, wenn mir einer helfen könnte!

grüssle,
csmeedy

  1. hallo,

    warscheinlich hast du erst einmal alle verzeichnisse und dateien gesperrt. nun must du explizit angeben, auf welche dateien und verzeichnisse und von wo zugegriffen werden kann.

    mit freundlichen grüßen
       dimitri rettig

    1. hallo dimitri,

      wow, das ging ja schnell :-)

      die zugriffsrechte vergeb ich doch in "directory", oder?
      das sieht bei mir bisher so aus:

      <Directory D:/Web/>
          AllowOverride All
          Order allow,deny
          Allow from all
      </Directory>

      oder bin ich da gerade auf dem holzweg?

      grüssle,
      csmeedy

      hallo,

      warscheinlich hast du erst einmal alle verzeichnisse und dateien gesperrt. nun must du explizit angeben, auf welche dateien und verzeichnisse und von wo zugegriffen werden kann.

      mit freundlichen grüßen
         dimitri rettig

      1. hallo,

        <Directory D:/Web/>

        Versuch mal bitte <Directory "D:/Web">

        AllowOverride All

        Oh. Das soll bestimmt AllowOverride None sein.

        oder bin ich da gerade auf dem holzweg?

        Das läßt sich noch nicht genau sagen, du müßtest noch die anderen relevanten Teile deiner httpd.conf mal angeben (bitte nicht die ganze Datei)

        Grüße aus Berlin

        Christoph S.

        1. ok, geändert, geht leider immer noch nicht.
          dann schick ich euch mal die wichtigsten teile der httpd.conf:

          Port 80

          ServerName 127.0.0.1

          DocumentRoot "D:/Web"

          <Directory "D:/Web">
              Options Indexes FollowSymLinks MultiViews
              AllowOverride None
              Order allow,deny
              Allow from all
          </Directory>

          <VirtualHost 127.0.0.1>
          ServerName localhost
          ServerAlias 127.0.0.1
          DocumentRoot c:/apache/htdocs
          ErrorLog c:/apache/logs/error.log
          TransferLog c:/apache/logs/access.log
          ScriptAlias /cgi-bin/ c:/apache/cgi-bin/
          </VirtualHost>

          <VirtualHost 127.0.0.1>
          ServerName homepage
          ServerAlias 127.0.0.1
          DocumentRoot d:\Web
          ErrorLog d:\Web\homepage.log
          TransferLog d:\Web\homepage_access.log
          </VirtualHost>

          so, ich hoff ich hab alles wichtige angegeben.

          grüssle,
          csmeedy

          hallo,

          <Directory D:/Web/>

          Versuch mal bitte <Directory "D:/Web">

          AllowOverride All

          Oh. Das soll bestimmt AllowOverride None sein.

          oder bin ich da gerade auf dem holzweg?

          Das läßt sich noch nicht genau sagen, du müßtest noch die anderen relevanten Teile deiner httpd.conf mal angeben (bitte nicht die ganze Datei)

          Grüße aus Berlin

          Christoph S.

          1. hallo,

            auch wenn dein apache unter windows läuft, musst du das unix-verzeichnistrennzeichen '/' verwenden.

            mit freundlichen grüßen
               dimitri rettig

          2. hallo,

            kleine Bitte vorerst: lies mal in der </faq> nach, was du beim Schreiben von postings beachten solltest.

            ServerName 127.0.0.1

            Wenn du weder eine eigene IP noch einen eigenen Servernamen hast, kannst du bei "ServerName" einen solche Angabe weglassen.

            DocumentRoot "D:/Web"
            <Directory "D:/Web">
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                Allow from all
            </Directory>

            Hm. Das sollte eigentlich ausreichen.

            <VirtualHost 127.0.0.1>
            ServerName localhost
            ServerAlias 127.0.0.1

            Und das ist überflüssig. "localhost" ist dein "main"-Server, der benötigt keinen virtual host. Und wie kommst du hier auf den "ServerAlias"?

            DocumentRoot c:/apache/htdocs

            Oh. Das bedeutet wohl, daß dein Apache auf einem anderen Laufwerk als "D:" installiert ist, demzufolge liegt sicherlich auch "ServerRoot" auf C:.
            Das ist durchaus möglich. Aber wahrscheinlich brauchst du dann, wenn du außerdem noch ein anderes Laufwerk ansprechen möchtest, für "D:" noch einen eigenen Alias.

            <VirtualHost 127.0.0.1>
            ServerName homepage
            ServerAlias 127.0.0.1

            Wenn du hier einen virtual host einrichtest, mußt du kurz darüber auch angegeben haben:
            NameVirtualHost 127.0.0.1
            Und den "ServerAlias" nimmst du bitte wieder raus (vorläufig, bis dir klar ist, wozu du so etwas benutzen kannst).

            DocumentRoot d:\Web

            Diese "Pfade" haben durchgängig so auszusehen:
            DocumentRoot "d:/Web"

            so, ich hoff ich hab alles wichtige angegeben.

            Bitte immer mit ping und ifconfig prüfen, ob sich alles wie gewünscht ansprechen bzw. darstellen läßt.

            Grüße aus Berlin

            Christoph S.

      2. hallo,

        versuch' mal die ordnernamen in zu "quoten". hast du womöglich irgendwoe eine verstaubte .htaccess herumlungern?

        mit freundlichen grüßen
           dimitri rettig

        1. äh, ich versteh nicht so recht, was du mit "quoten" meinst. zur ht.access, da ahb ich schon eine, aber nur in einem unterverzeichnis.

          grüssle, caro

          hallo,
          versuch' mal die ordnernamen in zu "quoten". hast du womöglich irgendwoe eine verstaubte .htaccess herumlungern?
          mit freundlichen grüßen
             dimitri rettig

          1. hallo,

            bitte gewöhne dich daran, ein posting mit einer Anrede zu beginnen und laß vor allem das "fullquoting" weg.

            äh, ich versteh nicht so recht, was du mit "quoten" meinst.

            Das bedeutet, bestimmte Angaben in Anführungszeichen zu setzen, wie ich es dir auch vorgeschlagen habe.

            zur ht.access, da ahb ich schon eine, aber nur in einem unterverzeichnis.

            Solange du mit deinem Server noch nicht zurechtkommst, kannst du .htaccess erstmal weglassen. Brauchst du auf deinem lokalen Apache zuhause sowieso nicht, weil du da natürlich vollen Zugriff auf alles hast.

            Christoph S.

  2. Hi,

    aber immer wenn ich http://localhost aufrufen möchte wird mir die "403 Forbidden"-Meldung angezeigt. ich habe aber eigentlich nichts an den zugriffsrechten verändert.
    [Sun Jan 11 15:59:49 2004] [error] [client 127.0.0.1] Directory index forbidden by rule: d:/web/
    "d:/web/" ist bei mir die DocumentRoot.

    Gibt es darin eine index.html (oder was auch immer du unter DirectoryIndex konfiguriert hast)?
    Dürfte eigentlich nicht sein.
    Außerdem ist vermutlich "indexes" bei den Options nicht erlaubt...

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.mud-guard.de/