Heim > Backend-Entwicklung > PHP-Tutorial > Wenn Sie nicht alles gründlich verstehen möchten, werden Sie blind sein, wenn etwas passiert – Memo zur Apache-Serverkonfiguration für die PHP-Entwicklung

Wenn Sie nicht alles gründlich verstehen möchten, werden Sie blind sein, wenn etwas passiert – Memo zur Apache-Serverkonfiguration für die PHP-Entwicklung

WBOY
Freigeben: 2016-08-08 09:21:11
Original
928 Leute haben es durchsucht

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>
Nach dem Login kopieren

# Virtuelle Hosts
#Include conf/extra/httpd-vhosts.conf

<span> </span>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage