Der Apache HTTP-Server, früher bekannt als Apache Web Server, ist eine kostenlose Open-Source-Software, die von der Apache Software Foundation entwickelt und gepflegt wird. Es ist ein leistungsstarker und einer der beliebtesten Webserver weltweit.
In diesem Tutorial führen wir Sie durch die Einrichtung von Apache Virtual Hosts unter Ubuntu 18.10. Im Allgemeinen wird Virtual Host zum Hosten mehrerer Websites auf demselben Webserver verwendet. Wenn Sie an der Einrichtung des Apache HTTP-Servers interessiert sind, lesen Sie unsere Schritt-für-Schritt-Anleitung zur Einrichtung des Apache HTTP-Webservers unter Ubuntu.
Einrichten von Apache Virtual Hosts auf Ubuntu
Es gibt zwei Arten von virtuellen Hosts, die wir auf Apache konfigurieren können.
- Einzelner Apache-Server, eine IP und mehrere Websites => namensbasierte virtuelle Hosts
- Einzelner Apache-Server und eindeutige IP für jede Website => IP-basiertes virtuelles Hosting
IP-basierter virtueller Host können wir nur eine Website auf einer IP-Adresse konfigurieren. Wenn Sie mehrere Websites hosten müssen, sollten Sie mehrere IPs für diesen Webserver haben. Der namensbasierte virtuelle Host wird häufig verwendet, um mehrere Websites auf einem einzigen Server zu hosten.
In diesem Tutorial besprechen wir hier, wie man namensbasierte virtuelle Hosts erstellt.
Namensbasierte virtuelle Apache-Hosts konfigurieren
Das Dokumentenstammverzeichnis ist ein Verzeichnis zum Speichern von Websitedateien für einen Domainnamen, die als Antwort auf Anfragen bereitgestellt werden.
1. Verzeichnisstruktur einstellen
In unserem Leitfaden verwenden wir die folgende Verzeichnisstruktur, aber Sie können sie an einen beliebigen Ort ändern, den Sie möchten.
/var/www/
├── fosslinuxexample1.com
│ └── public_html
├── fosslinuxexample2.com
│ └── public_html
Da wir zwei Websites hosten werden, müssen wir zwei Verzeichnisse unter /var/www erstellen Verzeichnis.
Starten Sie das Terminal und beginnen Sie mit der Erstellung eines Verzeichnisses für fosslinuxexample1.com
sudo mkdir -p /var/www/html/fosslinuxexample1.com/public_html
Erstellen Sie ein Verzeichnis für fosslinuxexample2.com
sudo mkdir -p /var/www/html/fosslinuxexample2.com/public_html
Ändern Sie die Eigentümerschaft des Verzeichnisses auf den Apache-Nutzer (www-data)
sudo chown -R www-data: /var/www/html/fosslinuxexample1.com/public_html sudo chown -R www-data: /var/www/html/fosslinuxexample2.com/public_html
2. Ordnerberechtigungen festlegen
sudo chmod -R 755 /var/www/html/fosslinuxexample1.com/public_html sudo chmod -R 755 /var/www/html/fosslinuxexample2.com/public_html
3. Webseiten erstellen
Lassen Sie uns nun Webseiten für jeden Host erstellen. In meinem Beispiel erstelle ich eine Webseite für fosslinuxexample1.com
sudo vim /var/www/html/fosslinuxexample1.com/public_html/index.html
Fügen Sie folgende Inhalte zu der index.html hinzu Datei. Dies ist im Grunde ein HTML-Inhalt.
<html> <head> <title>fosslinuxexample1.com Test Page</title> </head> <body> <h1>Hello, This is a test page for fosslinuxexample1.com website</h1> </body> </html>
Zeit zum Speichern und Schließen der Datei.
Auf ähnliche Weise erstellen wir eine Webseite für fosslinuxexample2.com.
sudo vim /var/www/html/fosslinuxexample2.com/public_html/index.html
Fügen Sie der Datei folgenden Inhalt hinzu.
<html> <head> <title>fosslinuxexample2.com Test Page</title> </head> <body> <h1>Hello, This is a test page for fosslinuxexample2.com website</h1> </body> </html>
Speichern und schließen Sie die Datei.
4. Virtuelle Hosts erstellen
Im Allgemeinen werden die Konfigurationsdateien von Apache Virtual Hosts in /etc/apache2/sites-available gespeichert Verzeichnis und /etc/apache2/sites-enabled Verzeichnis. Beginnen Sie mit der Erstellung eines virtuellen Hosts für fosslinuxexample1.com.
sudo vim /etc/apache2/sites-available/fosslinuxexample1.com.conf
Fügen Sie der Datei den folgenden Inhalt hinzu.
<VirtualHost *:80> ServerName fosslinuxexample1.com ServerAlias www.fosslinuxexample1.com ServerAdmin [email protected] DocumentRoot /var/www/html/fosslinuxexample1.com/public_html <Directory /var/www/html/fosslinuxexample1.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/fosslinuxexample1.com-error.log CustomLog ${APACHE_LOG_DIR}/fosslinuxexample1.com-access.log combined </VirtualHost>
Speichern und beenden Sie die Datei. Erstellen Sie in den ähnlichen Zeilen einen virtuellen Host für fosslinuxexample2.com
sudo vim /etc/apache2/sites-available/fosslinuxexample2.com.conf
Fügen Sie der zweiten Website die folgenden Inhalte hinzu.
<VirtualHost *:80> ServerName fosslinuxexample2.com ServerAlias www.fosslinuxexample2.com ServerAdmin [email protected] DocumentRoot /var/www/html/fosslinuxexample2.com/public_html <Directory /var/www/html/fosslinuxexample2.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/fosslinuxexample2.com-error.log CustomLog ${APACHE_LOG_DIR}/fosslinuxexample2.com-access.log combined </VirtualHost>
Speichern und beenden Sie die Datei.
5. Aktivieren von Konfigurationsdateien für virtuelle Hosts
Es gibt verschiedene Möglichkeiten, virtuelle Hosts zu aktivieren. Der einfachste Weg, den virtuellen Host zu aktivieren, ist die Verwendung von a2ensite Befehl. Alternativ können Sie es aktivieren, indem Sie symbolische Links zum Verzeichnis /etc/apache2/sites-enabled erstellen.
Jetzt sollten wir 000-default.conf deaktivieren und aktivieren Sie neu erstellte virtuelle Hostdateien
Verwenden Sie diese Befehlszeile, um den standardmäßigen virtuellen Host zu deaktivieren.
sudo a2dissite 000-default.conf
Die folgenden Befehle aktivieren neue virtuelle Hosts.
sudo a2ensite fosslinuxexample1.com.conf sudo a2ensite fosslinuxexample2.com.conf
Aktivieren Sie den virtuellen Host, der symbolische Links erstellt.
Wenn Sie den virtuellen Host mit a2ensite aktiviert haben Befehl Sie müssen die folgenden Befehle nicht ausführen:
sudo ln -s /etc/apache2/sites-available/fosslinuxexample1.com.conf /etc/apache2/sites-enabled/ sudo ln -s /etc/apache2/sites-available/fosslinuxexample2.com.conf /etc/apache2/sites-enabled/
Überprüfen Sie die Syntax der Konfigurationsdateien.
sudo apachectl configtest
Starten Sie Apache neu, um die neue Konfiguration zu aktivieren.
sudo systemctl restart apache2
6. Testen virtueller Hosts
Vor dem Testen der Webseiten müssen wir /etc/hosts ändern Datei zum Konfigurieren der Server-IP.
sudo vim /etc/hosts
Fügen Sie der hosts-Datei die folgende Zeile hinzu. Denken Sie daran, 10.94.12.217 in den folgenden Befehlszeilen durch Ihre Server-IP zu ersetzen. Wenn Sie fertig sind, speichern und schließen Sie die Datei.
10.94.12.217 fosslinuxexample1.com 10.94.12.217 fosslinuxexample2.com
Starten Sie schließlich Ihren bevorzugten Webbrowser und fangen Sie an, die Websites zu durchsuchen!
fosslinuxexample1.com
fosslinuxexample2.com
Wenn Sie die von Ihnen erstellten Webseiten sehen können, herzlichen Glückwunsch, dass Sie die virtuellen Hosts erfolgreich erstellt haben. Haben Sie Fragen? Wie hat es für Sie funktioniert?