Folgen Sie diesem Konfigurationsprozess und Ihre Reise wird reibungslos und sicher verlaufen.
Ich habe gestern ein PHP-Applet erstellt und wollte es lokal ausführen, um es zu testen, aber mein Arbeitscomputer hatte keine Installationsumgebung, also habe ich ein Wamp heruntergeladen und alles lief reibungslos, einschließlich Apache, MySQL und PHP. Starten Sie den Wamp-Dienst, geben Sie „http://localhost“ in den Browser ein, der Zugriff ist normal und die Wamp-Homepage wird angezeigt. Daher möchte ich meine eigene CrashServer-Website in Apache konfigurieren und sie testen, indem ich lokal über einen virtuellen Domänennamen darauf zugreife. Als Ergebnis bin ich heute auf viele Probleme gestoßen und habe schließlich herausgefunden, dass sowohl Ren als auch Du verbunden sind.
1. Die Konfigurationsdateien von Apache sind zunächst httpd.conf und httpd-vhosts.conf. Schauen wir uns zunächst die Standardkonfiguration von httpd.conf an, nachdem wamp installiert wurde.
<span>DocumentRoot "d:/wamp/www/" </span><span><</span><span>Directory </span><span>/></span><span> AllowOverride none Require all denied </span><span></</span><span>Directory</span><span>></span><span><</span><span>Directory </span><span>"d:/wamp/www/"</span><span>></span><span> Options Indexes FollowSymLinks AllowOverride all Require local </span><span></</span><span>Directory</span><span>><br></span>
# Virtuelle Hosts
#Include conf/extra/httpd-vhosts.conf
<span> </span>
Wenn Sie über a auf die Website zugreifen möchten virtueller Domänenname, Sie müssen lediglich httpd-vhosts.conf konfigurieren. Dann müssen Sie httpd-vhosts.conf starten, da es standardmäßig geschlossen ist. Entfernen Sie daher das # vor #Include conf/extra/httpd-vhosts.conf in der Konfigurationsdatei. Also ist httpd-vhosts.conf aktiviert, dann bearbeiten wir die Datei httpd-vhosts.conf.
2. Der Speicherort der Datei httpd-vhosts.conf befindet sich in conf/extra im Apache-Verzeichnis.
Fügen Sie in dieser Datei die Konfiguration für meine CrashServer-Website oben hinzu:
<span>NameVirtualHost *:80</span><span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span> DocumentRoot "D:/wamp/www/CrashServer" ServerName crash.com </span><span></</span><span>VirtualHost</span><span>></span>
Zuerst wird mein CrashServer unter wamp/www platziert, das ist The Zweitens möchte ich crash.com verwenden, um beim lokalen Testen auf CrashServer zuzugreifen, daher ist die Konfiguration wie oben.
Damit wir über crash.com auf die lokale Website zugreifen können, müssen wir die Hosts-Datei ändern und 127.0.0.1 crash.com hinzufügen.
An diesem Punkt ist die Konfiguration abgeschlossen, also habe ich Apache neu gestartet und crash.com eingegeben, um darauf zuzugreifen, und das Ergebnis war ein normaler Zugriff. Beim Zugriff mit localhost wurde jedoch ursprünglich die Homepage von wamp angezeigt, jetzt wird jedoch CrashServer angezeigt. Daher müssen wir 127.0.0.1 localhost zu hosts hinzufügen und die Site-Konfiguration von localhost zu httpd-vhosts.conf hinzufügen. Jetzt sieht es so aus Dies:
<span>NameVirtualHost *:80 </span><span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span> DocumentRoot "D:/wamp/www" ServerName localhost </span><span></</span><span>VirtualHost</span><span>></span><span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span> DocumentRoot "D:/wamp/www/CrashServer" ServerName crash.com </span><span></</span><span>VirtualHost</span><span>></span>
OK, das ist im Grunde das Ende. Die Website ist konfiguriert und sieht sehr, sehr einfach aus. Bei mir ist das aber nicht der Fall. Ich bin gestern auf folgendes Problem gestoßen.
Erst einmal war mein CrashServer zu Beginn nicht unter wamp/www, sondern unter E:360Downloads, also hatte ich folgende Konfiguration:
<span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span> DocumentRoot "E:/360Downloads/CrashServer" ServerName crash.com </span><span></</span><span>VirtualHost</span><span>></span>
Ist das nicht korrekt? Der Pfad ist korrekt und der virtuelle Domänenname ist korrekt. Beim Zugriff wird jedoch 403 Verboten, keine Berechtigung angezeigt. Google erkannte also, dass es notwendig war, dem CrashServer-Verzeichnis Berechtigungen hinzuzufügen, und änderte die Konfiguration wie folgt:
<span><</span><span>VirtualHost </span><span>*:80</span><span>></span><span> DocumentRoot "E:/360Downloads/CrashServer" ServerName crash.com </span><span><</span><span>Directory </span><span>E:/360Downloads/CrashServer</span><span>></span><span> Order Allow,Deny Allow from All Require all granted </span><span></</span><span>Directory</span><span>></span><span></</span><span>VirtualHost</span><span>></span>
Apache wurde neu gestartet und der Zugriff war normal. Erstens kann das neue Verzeichnis in httpd.conf oder httpd-vhosts.conf hinzugefügt werden. Der Konfigurationsinhalt ist klarer und die Projektverzeichnisberechtigungen folgen der Projekt-Site-Konfiguration. Im neu hinzugefügten Verzeichnis oben haben wir Berechtigungen für das CrashServer-Verzeichnis unter 360Downloads hinzugefügt und den Zugriff zugelassen, sodass wir nicht mehr 403 Forbidden melden.
Dieses Problem ist jetzt so einfach und leicht zu beschreiben, aber wenn das Problem auftritt, ist es sehr beunruhigend und deprimierend. Für Projekte außerhalb von wamp/www müssen Sie Berechtigungen für das Projektverzeichnis erteilen:
<span>Order Allow,Deny Allow from All Require all granted</span>
Diese drei Elemente sind unerlässlich, um externen Computern den Zugriff zu ermöglichen Server.
3. Nachdem ich das Problem heute gelöst hatte, dachte ich darüber nach, über andere Geräte im selben LAN auf meine Website zuzugreifen, also gab ich die IP-Adresse meines Computers in den Browser ein Ich habe nicht darauf zugegriffen. Ich habe erneut gegoogelt und festgestellt, dass die Konfiguration in httpd.conf geändert werden musste:
<span><</span><span>Directory </span><span>"d:/wamp/www/"</span><span>></span><span> Options Indexes FollowSymLinks AllowOverride all Require local </span><span></</span><span>Directory</span><span>></span>
Darunter ist „Require local“ nicht aufgeführt Google, aber ich weiß aus dem Namen, dass nur lokaler Zugriff erlaubt ist, also habe ich ihn in „Alle gewährten Zugriff erfordern“ geändert, damit das Telefon darauf zugreifen kann.
Referenz, http://roteg.iteye.com/blog/1465380, hier ist eine Erläuterung der Konfiguration der Zugriffsüberprüfung.
Hier gibt es einen Konfigurations-Blogbeitrag, der von einem Ausländer geschrieben wurde, der sehr gut ist: https://www.kristengrote.com/blog/articles/how-to-set-up-virtual-hosts- using-wamp#wamp -step-7, aber das Einzige ist, dass er in seinem Schritt 7 Berechtigungen zum Projektverzeichnis hinzugefügt hat:
<span><</span><span>Directory </span><span>C:/Users/Kristen/Documents/Projects</span><span>></span><span> Order Deny,Allow Allow from all </span><span></</span><span>Directory</span><span>></span>
, aber die Anforderung „Alles erforderlich“ wurde gewährt fehlt, also war es am Ende immer noch 403 Forbidden macht mich sehr deprimiert.
Diese Konfiguration wird in der folgenden Wamp-Umgebung durchgeführt:
Zu diesem Zeitpunkt ist die PHP-Site unter Apache konfiguriert und alles ist abgeschlossen.
Das Obige hat das Memorandum zur Konfiguration des Apache-Servers für die PHP-Entwicklung vorgestellt. Wenn Sie nicht alles gründlich verstehen möchten, werden Sie auf jeden Fall blind sein, wenn Sie auf Probleme stoßen. Ich hoffe, dass es für Freunde hilfreich ist Interesse an PHP-Tutorials haben.