Einführung

Dieses Tutorial führt Sie durch das Einrichten mehrerer Domänen und Websites mit virtuellen Apache-Hosts auf einem Ubuntu 18.04-Server. Bei diesem Prozess lernen Sie, wie Sie je nach Art der angeforderten Domäne verschiedenen Benutzern unterschiedlichen Inhalt bereitstellen können.

Eine ausführlichere Version dieses Tutorials mit besseren Erklärungen zu den einzelnen Schritten finden Sie unter So installieren Sie Apache Virtual Hosts unter Ubuntu 18.04.

Voraussetzungen

sie illustration for: Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie Zugriff auf Folgendes auf einem Ubuntu-18.04-Server:

  • Einen Sudo-Benutzer auf Ihrem Server
  • Einen Apache2-Webserver, den Sie mit sudo apt install apache2 installieren können

Schritt 1 – Verzeichnisstruktur erstellen

Zunächst erstellen wir eine Verzeichnisstruktur, in der die Site-Daten gespeichert werden, die wir den Besuchern in unserem Top-Level-Apache-Verzeichnis bereitstellen können. Wir verwenden Beispiele von Domänennamen, die nachstehend hervorgehoben sind. Sie müssen diese durch Ihre tatsächlichen Domänennamen ersetzen.

				
					
sudo mkdir -p /var/www/<^>example.com<^>/public_html

sudo mkdir -p /var/www/<^>test.com<^>/public_html

				
			

Schritt 2 – Berechtigungen erteilen

Jetzt müssen wir die Berechtigungen auf unseren aktuellen Benutzer ohne Rootberechtigung ändern, um diese Dateien ändern zu können.

				
					
sudo chown -R $USER:$USER /var/www/<^>example.com<^>/public_html

sudo chown -R $USER:$USER /var/www/<^>test.com<^>/public_html

				
			

Außerdem stellen wir sicher, dass der schreibgeschützte Zugriff auf das allgemeine Webverzeichnis und alle darin enthaltenen Dateien und Ordner gestattet ist, damit Seiten richtig bereitgestellt werden können.

				
					
sudo chmod -R 755 /var/www

				
			

Schritt 3 – Demo-Seiten für jeden virtuellen Host erstellen

Erstellen wir jetzt Inhalt, den wir bereitstellen können. Dazu erstellen wir eine index.html-Demo-Seite für jede Site. Wir können eine index.html-Datei in einem Textbearbeitungsprogramm für unsere erste Site öffnen, beispielsweise nano.

				
					
nano /var/www/<^>example.com<^>/public_html/index.html

				
			

In dieser Datei erstellen wir dann ein domänenspezifisches HTML-Dokument wie das folgende:

				
					
[label /var/www/example.com/public_html/index.html]

<html>

  <head>

    <title>Welcome to <^>Example.com<^>!</title>

  </head>

  <body>

    <h1>Success! The <^>example.com<^> virtual host is working!</h1>

  </body>

</html>

				
			

Speichern und schließen Sie die Datei und kopieren Sie dann diese Datei als Grundlage für unsere zweite Site:

				
					
cp /var/www/<^>example.com<^>/public_html/index.html /var/www/<^>test.com<^>/public_html/index.html

				
			

Öffnen Sie die Datei und ändern Sie die relevanten Informationen:

				
					
nano /var/www/<^>test.com<^>/public_html/index.html

				
			
				
					
[label /var/www/test.com/public_html/index.html]

<html>

  <head>

    <title>Welcome to <^>Test.com<^>!</title>

  </head>

  <body> <h1>Success! The <^>test.com<^> virtual host is working!</h1>

  </body>

</html>

				
			

Speichern und schließen Sie auch diese Datei.

Schritt 4 – Neue virtuelle Host-Dateien erstellen

Apache wird mit einer virtuellen Standard-Host-Datei namens 000-default.conf geliefert, die wir als Vorlage verwenden. Wir kopieren sie, um eine virtuelle Host-Datei für jede unserer Domänen zu erstellen.

Erste virtuelle Host-Datei erstellen

Kopieren Sie als Erstes die Datei für die erste Domäne:

				
					
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/<^>example.com<^>.conf

				
			

Öffnen Sie die neue Datei in Ihrem Textbearbeitungsprogramm (wir verwenden nano) mit Rootberechtigungen:

				
					
sudo nano /etc/apache2/sites-available/<^>example.com<^>.conf

				
			

Wir werden diese Datei für unsere eigene Domäne anpassen. Ändern Sie den nachstehend hervorgehobenen Text je nach Bedarf.

				
					
[label /etc/apache2/sites-available/example.com.conf]

<VirtualHost *:80>

    ServerAdmin <^>admin@example.com<^>

    ServerName <^>example.com<^>

    ServerAlias <^>www.example.com<^>

    DocumentRoot /var/www/<^>example.com<^>/public_html

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

				
			

Speichern und schließen Sie dann die Datei.

Ersten virtuellen Host kopieren und für die zweite Domäne anpassen

Jetzt haben wir unsere erste virtuelle Host-Datei eingerichtet und können dann unsere zweite Datei erstellen, indem wir diese Datei kopieren und je nach Bedarf anpassen.

Kopieren Sie zu diesem Zweck die Datei:

				
					
sudo cp /etc/apache2/sites-available/<^>example.com<^>.conf /etc/apache2/sites-available/<^>test.com<^>.conf

				
			

Öffnen Sie die neue Datei mit Rootberechtigungen in Ihrem Textbearbeitungsprogramm:

				
					
sudo nano /etc/apache2/sites-available/<^>test.com<^>.conf

				
			

Jetzt müssen Sie alle Informationen so ändern, dass sie auf Ihre zweite Domäne verweisen. Die endgültige Datei sollte in etwa wie folgt aussehen, wobei der hervorgehobene Text Ihren eigenen Domäneninformationen entsprechen sollte.

				
					
[label /etc/apache2/sites-available/test.com.conf]

<VirtualHost *:80>

    ServerAdmin <^>admin@test.com<^>

    ServerName <^>test.com<^>

    ServerAlias <^>www.test.com<^>

    DocumentRoot /var/www/<^>test.com<^>/public_html

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

				
			

Wenn Sie fertig sind, speichern und schließen Sie die Datei.

Schritt 5 – Neue virtuelle Host-Dateien aktivieren

Nach Erstellung unserer virtuellen Host-Dateien müssen diese aktiviert werden. Dazu verwenden wir das a2ensite-Tool.

				
					
sudo a2ensite <^>example.com<^>.conf

sudo a2ensite <^>test.com<^>.conf

				
			

Deaktivieren Sie als Nächstes die unter 000-default.conf definierte Standard-Site:

				
					
sudo a2dissite 000-default.conf

				
			

Wenn Sie fertig sind, müssen Sie Apache neu starten, damit diese Änderungen wirksam werden, und systemctl status verwenden, um den Erfolg des Neustarts zu verifizieren.

				
					
sudo systemctl restart apache2

				
			

Ihr Server sollte jetzt für zwei Websites eingerichtet sein.

Schritt 6 – Lokale Hosts-Datei einrichten (optional)

Wenn Sie keine tatsächlichen Domänen verwenden, die ihnen gehören, um dieses Verfahren zu testen, und stattdessen Beispielsdomänen benutzen, können Sie Ihre Arbeit testen, indem Sie die hosts-Datei auf Ihrem lokalen Computer kurzzeitig ändern.

Geben Sie auf einem lokalen Mac- oder Linux-Rechner Folgendes ein:

				
					
[environment local]

sudo nano /etc/hosts

				
			

Nach Verwenden der in diesem Leitfaden verwendeten Domänen und Ersetzen Ihrer Server IP im Text <^>your_server_IP<^> sollte Ihre Datei wie folgt aussehen:

				
					
[environment local]

[label /etc/hosts]

127.0.0.1   localhost

127.0.1.1   guest-desktop

&lt;^&gt;your_server_IP example.com&lt;^&gt;

&lt;^&gt;your_server_IP test.com&lt;^&gt;

				
			

Speichern und schließen Sie die Datei. Damit werden alle Anfragen z. B. example.com und test.com auf unseren Rechner weitergeleitet und auf unseren Server übertragen.

Schritt 7 – Ergebnisse testen

Nach der Konfiguration Ihrer virtuellen Hosts können Sie Ihr Setup testen, indem Sie zu den Domänen gehen, die Sie in Ihrem Web-Browser konfiguriert haben.

				
					
http://&lt;^&gt;example.com&lt;^&gt;

				
			

Sie sollten eine Seite sehen, die so aussieht:

Sie können auch Ihre zweite Seite besuchen und die Datei sehen, die Sie für Ihre zweite Site erstellt haben.

				
					
http://&lt;^&gt;test.com&lt;^&gt;

				
			

Wenn beide Sites wie erwartet funktionieren, haben Sie zwei virtuelle Hosts auf ein und demselben Server konfiguriert.

Wenn Sie die Host-Datei Ihres eigenen Rechners angepasst haben, löschen Sie die von Ihnen hinzugefügte Zeilen.

Relevante Tutorials

Hier sehen Sie Links zu detaillierteren Leitfäden, die im Zusammenhang zu diesem Tutorial stehen: