WAMP 403 Verbotene Nachricht unter Windows 7


101

Ich habe WAMP Version 2.1 auf meinem Windows 7-Computer installiert. Wenn ich in meinem Browser zu localhost navigiere, ist die WAMP-Serverseite sichtbar.

Wenn ich jedoch in meinem Browser zu meiner IP navigiere, wird die Nachricht angezeigt

403 Verboten: Sie haben keine Berechtigung, auf diesen Server zuzugreifen.

Irgendwelche Vorschläge?


Der Zugriff auf Ihren Apache-Server ist von anderen Adressen als 127.0.0.1in httpd.conf(Apaches Konfigurationsdatei) verboten
Nasreddine

Ich habe das korrigiert, jetzt bekomme ich 403 Forbidden in meinem phpMyAdmin, irgendwelche Vorschläge dafür?
Jake

Es gibt auch eine phpmyadmin.conf, die Anweisungen für den Alias ​​'localhost / phpmyadmin' enthält
Nasreddine

Wenn Sie für Windows 8 chk
schäbigen

Antworten:


126

Der Zugriff auf Ihren Apache-Server ist von anderen Adressen als 127.0.0.1in httpd.conf(Apaches Konfigurationsdatei) verboten :

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

Gleiches gilt für Ihren PHPMyAdmin-Zugriff. Die Konfigurationsdatei lautet phpmyadmin.conf:

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
</Directory>

Sie können sie so einstellen, dass Verbindungen von allen IP-Adressen wie folgt zugelassen werden:

AllowOverride All
Order allow,deny
Allow from all

7
Dies wird sicherlich den Zugriff von jeder IP-Adresse aus eröffnen, aber ist das nicht ein bisschen gefährlich? Die Regel, 'von 127.0.0.1' zuzulassen, sollte ausreichen, um den lokalen Zugriff zu ermöglichen. Wenn dies hier das Hauptziel ist, ist 127.0.0.1 im Grunde eine Schleife zurück zum Netzwerkadapter. Wenn Sie in die Adressleiste 'http': //127.0.0.1: {portNumber} / {folderOrFileName} 'eingeben, sollte dies problemlos funktionieren. Dies sollte genauso funktionieren wie die Verwendung von localhost, aber ich habe festgestellt, dass einige Browser aus irgendeinem Grund Probleme mit localhost haben.
Jeremy

Ich konnte meine Adresszeile in diesem letzten Kommentar nicht formatieren, daher enthält sie ein zusätzliches "'". Ignorieren Sie dies einfach, wenn es jemanden verwirrt.
Jeremy

Hinweis: In der Datei werden Standardeinstellungen festgelegt, die anschließend einzeln überschrieben werden. Stellen Sie daher sicher, dass diese Zeilen nach allen Überschreibungen angezeigt werden.
Treffen

3
Vergessen Sie nicht, "Alle Dienste neu starten" aus dem WAMP-Taskleistenmenü (oder wie auch immer Sie es tun)
Plummer

12
Für Apache - Version 2.4.x ersetzen Require localmit Require all grantedin httpd.conf innerhalb <Directory "c:/wamp/www/">Tag dann alle Dienste neu starten
Rakesh

62

Ich habe eine einfachere Lösung gefunden ...

Obwohl das Symbol grün war, muss WAMP immer noch "Online stellen" sein (letzter Menüpunkt, wenn Sie mit der linken Maustaste auf das Symbol klicken).

Danach hatte ich wie gewohnt Zugang.


3
Eigentlich sollte dies als akzeptierte Antwort gekennzeichnet werden. Danke Kumpel.
Ummahusla

Diese Lösung verdient eine positive Bewertung, da die Konfiguration aktualisiert wird, wenn Sie tatsächlich auf die Schaltfläche "Online stellen" klicken: forum.wampserver.com/read.php?1,119467,119546
Pierre-Yves Guillemet

Das hat es auch für mich behoben. In meinem Fall musste ich jedoch zuerst "Offline setzen", dann "Online setzen" und arbeitete ohne weitere Änderungen an meinen Konfigurationsdateien! Danke dir!!
Osmar

1
Eigentlich fing ich an, all diese Dinge in der ersten, akzeptierten Antwort zu machen. Und es hat nicht geholfen. Dann habe ich das hier gesehen und dachte 'Auf keinen Fall kann es so sein ...', aber es war das und es hat funktioniert.
Fusseldieb

Superkalifragilistischexpiallegetisch!
Vahid

25

Für mich hat die Aufnahme von "Require local" zur Behebung von Fehler 403 beigetragen. Die Alias-Konfigurationsdatei sieht folgendermaßen aus:

Alias /mytest/ "C:/mytest/" 

<Directory "C:/mytest/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all
    Require local
</Directory>

3
Dies funktionierte auch bei mir mit Apache 2.4.9. Ich habe lange danach gesucht. Vielen Dank!
Jonathan Lidbeck

Options Indexes FollowSymLinks MultiViewsist auch erforderlich
Hammad Khan

Gibt es einen Grund, den Teil "C: / mytest /" hinzuzufügen? Es scheint keine Wirkung zu haben, und nur ein / am Ende so zu lassen, wie es als Standard ist, scheint genauso gut zu funktionieren
Squazz

Verwenden Sie besser "Alle erteilt" anstelle von "Lokal erforderlich", wenn Sie Ihre Site auf anderen Geräten Ihres lokalen Netzwerks öffnen möchten
Rakesh

Das Hinzufügen von "Von allen zulassen" hat es für mich getan.
Rex der Seltsame

10

Die Lösung zum Ändern der Berechtigungen in der httpd.conf funktioniert, wenn Sie den Zugriff auf den WAMP-Server von außen zulassen können.

Wenn Sie dies nicht möchten, müssen Sie Windows lediglich mitteilen, dass die Domäne "localhost" auf 127.0.0.1 verweist. Sie können dies tun, indem Sie die Hosts-Datei in Ihrem Systemverzeichnis bearbeiten.

Die Datei befindet sich unter: C: \ Windows \ System32 \ drivers \ etc \ hosts

Standardmäßig wird Windows 7 geliefert mit:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

Sie müssen die Zuordnung für localhost auskommentieren:

# localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
#   ::1         localhost

Hinweis: Sie können die Hosts-Datei nicht als schreibgeschützte Datei bearbeiten. Zum Bearbeiten müssen Sie der Administrator sein, die Datei an einen anderen Speicherort kopieren, bearbeiten und dann wieder in das Verzeichnis etc kopieren.

Ich empfehle die Änderung der Hosts-Datei nicht. Verwenden Sie die Berechtigungen der Datei httpd.conf. Verwenden Sie den Hosts-Dateiansatz nur, wenn Sie nicht möchten, dass auf den Server von außen zugegriffen wird.


8

Fügen Sie der Datei httpd-vhosts.conf die folgenden Codezeilen hinzu:

<VirtualHost *:80>
ServerAdmin serveradmin@host.com
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>

7

Eine andere Sache, die ich herausgefunden habe, ist, dass wenn Ihr Netzwerkadapter IPV6 verwendet, es nicht als 127.0.0.1 angezeigt wird, sondern als :: 1

Am Ende habe ich Folgendes gemacht:

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
</Directory>

Gleiches gilt für Ihren PHPMyAdmin-Zugriff. Die Konfigurationsdatei lautet phpmyadmin.conf:

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
        Allow from ::1
</Directory>

Ich denke, diese Antwort spricht wirklich das Wichtige an, das gefragt wird, nämlich dass, wenn IPv6 aktiviert ist, localhost in eine IPv6-Adresse (:: 1) aufgelöst wird, was wiederum bedeutet, dass die anfordernde Adresse auch eine IPv6-Adresse ist (auch :: 1) Dies ist NICHT dasselbe wie 127.0.0.1. Dies ist die einzige Adresse, von der aus Verbindungen zulässig sind. Außerdem wird localhost standardmäßig über den lokalen DNS-Server aufgelöst (nicht über die Hosts), und es sieht meiner Meinung nach besser aus, dies so zu belassen und stattdessen entweder IPv6 zu deaktivieren, sodass localhost wie oben beschrieben in 127.0.0.1 aufgelöst oder geändert / eingeschlossen wird.
schnelle Reflexe

Durch Hinzufügen von 'Allow from :: 1' zu "c: \ wamp \ alias \ phpmyadmin.conf file" wurde das Problem mit phpmyadmin 403 gelöst.
Ewroman

4

wenn Sie localhost / phpmyadmin / verwendet haben

einfach benutzen

127.0.0.1/phpmyadmin/ für PHPMyAdmin

127.0.0.1/sqlbuddy/ für SQLBuddy

oder wenn Sie localhost verwendet haben: 8080 / phpmyadmin / then

127.0.0.1:8080/phpmyadmin/ für PHPMyAdmin

127.0.0.1:8080/sqlbuddy/ für SQLBuddy


4

Denken Sie daran, Dummy-Elemente in zu entfernen httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

Vielen Dank! Dies hat es behoben.
Steve

4

Für Apache - Version 2.4.x einfach ersetzen Require localmit Require all grantedin httpd.conf - Datei im <Directory "c:/wamp/www/">Tag dann Starten Sie alle Dienste


1
Das hat den Trick für mich getan. Seltsam ist, dass 2 andere VirtualHosts (in httpd-vhosts.conf) nicht über "Lokal erforderlich" oder "Alle erforderlich erfordern" verfügen und dennoch einwandfrei funktionieren. ¯_ (ツ) _ / ¯
kmdsax

3

Für Wamp 3.1.3 und Apache 2.4 musste ich einfach 1 Zeile in meiner Datei httpd-vhosts.conf ändern.

  1. Öffnen Sie httpd-vhosts.conf
  2. Ändern Sie "Require local" in "Require all grant".
  3. Starten Sie alle Dienste neu

Ich konnte dann von anderen Computern zu meinem Apache-Server gelangen.

Geben Sie diesem Video eine Gutschrift: https://www.youtube.com/watch?v=Sy_f6wBGnjI


2

Diese Probleme können viele Ursachen haben

Was ich erlebt habe, sind:
1) 127.0.0.1 localhostEintrag wurde in Hosts-Datei dupliziert
2) Apache mod_rewritewurde nicht aktiviert

Unabhängig von der Ursache hilft das Sichern Ihres wwwOrdners, der vhost-Konfigurationsdatei (und der httpd-Konfigurationsdatei). Und ein solcher Vorgang dauert einige Minuten.

Viel Glück


2

Ich habe alle Korrekturen gelesen und ausprobiert, aber keine hat funktioniert. Endlich stellte ich fest, dass das Wamp Server-Logo grün ist, aber "ONLINE PUT" sein muss. So einfach und schnell nach dem Überprüfen PHPMyAdmin.Cofgund HttPD.cofgKlicken Sie einfach auf ONLINE PUT


1

Ich habe die obigen Konfigurationen ausprobiert und nur dies funktionierte für meine WAMP Apache 2.4.2-Konfiguration. Verwenden Sie für mehrere Stammwebsites ohne benannte Domänen in Ihrer Windows-Hostsdatei die folgende http://locahost:8080, http://localhost:8081, http://localhost:8082Konfiguration:

#ServerName localhost:80
ServerName localhost

Listen 8080
Listen 8081
Listen 8082
#..... 
<VirtualHost *:8080>
    DocumentRoot "c:\www"
    ServerName localhost
    <Directory "c:/www/">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
<VirtualHost *:8081>
    DocumentRoot "C:\www\directory abc\svn_abc\trunk\httpdocs"
    ServerName localhost
    <Directory "C:\www\directory abc\svn_abc\trunk\httpdocs">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
#<VirtualHost *:8082></VirtualHost>.......

1

Ich hatte dieses Problem mit wamp unter Windows 7. Das Hinzufügen des folgenden Codes zu httpd-vhosts.conf löste das Problem für mich.

<VirtualHost *:80>
  DocumentRoot "F:/wamp_server/www/"
  ServerName localhost
</VirtualHost>

1

Danke für deine Frage. Ich benutze jetzt Wamp 3. Und ich finde eine einfache Antwort darauf unter Ihrer Frage. Diese Antwort sollte sich jedoch in Wamp 3 ein wenig ändern. Die Schritte sind wie folgt:

  1. Klicken Sie mit der rechten Maustaste auf das Wamp-Symbol
  2. Wählen Sie Wamp Setting
  3. Klicken Sie auf den Menüpunkt: online / offline
  4. Klicken Sie mit der linken Maustaste auf das Wamp-Symbol
  5. Sie werden feststellen, dass es einen neuen Artikel namens "Online stellen" gibt.

Vielen Dank, @ miltonb.
Smart Du

1

Ich habe ewig gebraucht, um das herauszufinden.

C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-vhosts.conf

In dieser Datei finden Sie einige Beispiele für virtuelle Hostdateien, die wie folgt aussehen:

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

Löschen Sie einfach diese Einträge und ersetzen Sie sie durch:

<VirtualHost *:80>
    ServerAdmin serveradmin@host.com
    DocumentRoot "C:\wamp\www"
    ServerName localhost
</VirtualHost>

Sie müssen auf jeden Fall sicherstellen, dass Ihre anderen Enten in einer Reihe sind, aber dies für mich mit der Lösung, die funktioniert hat.


0

Hallo, es gibt 2 Lösungen:

  1. Ändern Sie den Port 80 in der Textdatei (httpd.conf) auf 81 und klicken Sie auf 127.0.0.1:81

  2. Ändern Sie die Einstellung des Netzwerks. Gehen Sie zu Systemsteuerung - Netzwerk und Internet - Netzwerk und Freigabecenter

Klicken Sie auf -> LAN-Verbindung auswählen -> Eigenschaften prüfen, ob die Option -allow other ..... und --- allo other .....


0

Ich hatte auch dieses Problem. Die Route meines Problems war, dass ich einen Fehler in meiner Datei vhosts.conf gemacht hatte. Wenn Sie vhosts verwenden, müssen Sie dies ebenfalls überprüfen


0

Diese Konfiguration in httpd.conf funktioniert gut für mich.

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 ::1
</Directory>

0

Stellen Sie sicher, dass Sie in Ihren Pfadnamen in Ihrer .conf-Datei kein Windows-Verzeichnistrennzeichen (Backslash) verwenden, auch wenn Sie unter Windows arbeiten. Apache versteht sie nicht, startet aber trotzdem und gibt dann a aus403 Forbidden Message .

falsch:

<Directory "c:\websites\my-website\">

richtig:

<Directory "c:/websites/my-website/">

0

Überraschenderweise können eckige Klammern in DocumentRoot-Pfaden (und verwandten Pfaden wie <Directory>) auch Fehler 403 verursachen:

  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master[bang]" scheiterte mit 403, während
  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master" hat gut funktioniert.

(Ich habe mich nicht darum gekümmert, herauszufinden, ob der Apache-Pfad, falls vorhanden, entkommen ist, sondern nur den Pfad umbenannt. Wenn jemand weiß, sind Kommentare willkommen.)


0

Meine Lösung bestand darin, die Codierung für codierte Dateien zu deaktivieren (diese Dateien sind in Windows grün). Ich habe diese Dateien vom MAC-Computer erhalten und sie wurden standardmäßig verschlüsselt.

Ive select these files > right click > properities > general tab > andvanced > uncheck encrypt files...

Und voila es funktioniert.


0

Ich habe alles versucht, außer das Chaos in der .htaccess-Datei zu beseitigen.

Gehen Sie zu www / directory und erstellen Sie eine Kopie der .htaccess- Datei in einem anderen Ordner. Löschen Sie dann alle Zeilen in .htaccess Originaldatei. Und füge diese Zeile hinzu,

RewriteEngine On

Starten Sie dann den Server neu. Dies hat mein Problem gelöst und Zugriff auf alle meine lokalen Host-Sites erhalten. Hoffe, es würde auch deine lösen.


0

Unter Apache 2,4 müssen Sie dies möglicherweise zur Verzeichnisanweisung in conf hinzufügen, falls Sie sich für die Aufnahme von httpd-vhosts.conf entschieden haben.

Standardmäßig können Sie wamp in C: \ installieren, Ihre Webentwicklung jedoch weiterhin an einem anderen Speicherort bereitstellen.

Um dies in der vhosts.conf zu tun, können Sie diese Direktive hinzufügen:

<Directory "e:/websites">
    Options Indexes FollowSymLinks MultiViews
    DirectoryIndex index.php
    AllowOverride All
  <IfDefine APACHE24>
    Require local
  </IfDefine>
  <IfDefine !APACHE24>
    Order Deny,Allow
    Allow from all
    Allow from localhost ::1 127.0.0.1
  </IfDefine>
</Directory>

0

Stellen Sie sicher, dass der Name der Datei im Verzeichnis c:/wamp/apps/phpmyadmin3.1.3.1/mit dem Namen (oder der Version) in der phpMyAdmin.conf ( Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/") übereinstimmt.


0

Ich habe festgestellt, dass wenn Sie Verstärker verwenden, dies aus irgendeinem Grund immer verboten ist, wenn es sich in Ihrem Stammordner befindet. Deshalb habe ich es in das Verzeichnis über meinem Stammordner gelegt und einen Alias ​​für die httpd.conf Verwendung dieses Ordners erstellt

Alias /phpmyadmin "C:/Program Files (x86)/Ampps/phpMyAdmin"

Bitte beachte, dass ich Verstärker benutze und nicht sicher weiß, ob es für andere funktioniert, aber es ist einen Versuch wert;)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.