Unabhängig davon, ob Sie eine einzelne Site oder Dutzende von Sites auf Ihrem neuen Linux® Apache® MySQL® PHP® (LAMP)-Server hosten, virtuelle Hosts (vhosts) helfen Ihnen, Ihre Sites effizient zu organisieren.
Im folgenden Beispiel ist der LAMP-Server bereits so konfiguriert, dass Inhalte direkt von /var/www/html bereitgestellt werden Verzeichnis im Beispiel unten:
/var/www
├── html
│ └── index.html
└── vhosts
Die vorhandene index.html Datei ist die Standard-Apache-Testseite. Sie können Inhalte sofort bereitstellen, indem Sie die vorhandene Datei durch Ihre eigenen Site-Dateien ersetzen. Alternativ können Sie eine oder mehrere Sites mithilfe von vhosts bedienen. Ihr LAMP-Stack enthält eine Vorlage, die Sie ändern können, um neue vhost-Konfigurationsdateien für jede Site zu erstellen, die Sie hosten müssen.
So konfigurieren Sie vhosts
Hinweis: Auf dem Ubuntu®-Betriebssystem hat jeder vhost seine eigene separate Konfigurationsdatei und wird dann in Apache aktiviert.
Verwenden Sie die folgenden Anweisungen, um Ihre vhosts zu konfigurieren:
Hinweis: Ersetzen Sie yoursitename.com in den Anweisungen unten mit Ihrem tatsächlichen Website- oder Domänennamen. Wir empfehlen, dass Sie die Top-Level-Domain wie .com, .net usw. auf einem Server verwenden.
-
Navigieren Sie zu den verfügbaren Websites Ordner mit dem folgenden Befehl:
$ cd /etc/apache2/sites-available
-
Suchen und ersetzen Sie den Standard-Site-Namen, example.com, in default.template Datei mit dem
sed
Stream-Editor und die folgenden Befehle:-
Testen Sie die Ausgabe mit dem folgenden Befehl:
$ sed -e 's/example.com/yoursitename.com/' default.template
-
Schreiben Sie die Änderungen in einen neuen vhost für diese Datei, indem Sie den folgenden Befehl verwenden:
$ sed -e 's/example.com/yoursitename.com/' default.template > yoursitename.com.conf
-
Überprüfen Sie, ob die Datei mit dem richtigen Projektnamen geschrieben wurde, indem Sie den folgenden Befehl verwenden:
$ cat yoursitename.com.conf
-
-
Fügen Sie das Projekt mit dem folgenden Befehl zur Liste der verfügbaren Sites in der Apache-Konfigurationsdatei hinzu:
$ a2ensite yoursitename.com.conf
-
Erstellen Sie das Verzeichnis für Ihre Site mit dem folgenden Befehl:
$ mkdir -p /var/www/vhosts/yoursitename.com
Hinweis: Der vhost, den Sie zuvor erstellt haben, ist so konfiguriert, dass er in diesem Verzeichnis sucht.
-
Wiederholen Sie die Schritte 1 bis 4, um weitere vhosts hinzuzufügen.
Testen Sie Ihre vhost-Konfiguration
Dieser Test sollte eine Antwort von Syntax OK
erzeugen . Testen Sie die Konfiguration mit dem folgenden Befehl:
`$ apache2ctl configtest`
Starten Sie Apache neu, um die Konfigurationsänderung abzuschließen, indem Sie den folgenden Befehl verwenden:
`$ apache2ctl restart`
Vhost-Konfigurationsbeispiel
In diesem Beispiel erstellen Sie Websites für drei Kunden, von denen einer eine völlig andere mobile Website ist.
Sie konfigurieren die vhosts für alle drei Kunden mit der folgenden Befehlsfolge:
$ cd /etc/apache2/sites-available
$ sed -e 's/example.com/site1.com/' default.template > site1.com.conf
$ sed -e 's/example.com/site2.com/' default.template > site2.com.conf
$ sed -e 's/example.com/site3.com/' default.template > site3.com.conf
$ sed -e 's/example.com/mobile.site3.com/' default.template > mobile.site3.com.conf
$ a2ensite site1.com.confsite2.com.confsite3.com.confmobile.site3.com.conf
$ mkdir -p /var/www/vhosts/site1.com /var/www/vhosts/site2.com /var/www/vhosts/site3.com /var/www/vhosts/mobile.site3.com
$ apache2ctl configtest
$ apache2ctl restart
/var/www/
├── html
│ └── index.html
└── vhosts
├── mobile.site3.com
├── site1.com
├── site2.com
├── site3.com
Jedes Verzeichnis unterhalb des vhosts-Verzeichnisses ist ein Dokumentenstammverzeichnis für die aufgeführte Seite. Ein Dokumentenstamm ist ein Verzeichnis, das auf den Servern Ihres Hosts gespeichert ist und das zum Speichern von Webseiten bestimmt ist. Wenn HTTP-Anforderungen beim Server eingehen, bestimmt Apache, für welche Domain die Anforderung bestimmt ist, und leitet die Anforderung dann an das entsprechende Dokumentstammverzeichnis weiter, wie in der vhosts-Konfigurationsdatei angegeben.