Sie können virtuelle Hosts (vhosts) verwenden, um mehrere Domänen zu bedienen, ohne dass zusätzliche IP-Adressen (Internet Protocol) erforderlich sind. Bei vhosts werden die verschiedenen Seiten gemäß den Einstellungen in der Hostdatei für die jeweilige angeforderte Site angezeigt. Dieser Artikel beschreibt, wie man einen vhost auf Ubuntu® 20.04 und Debian® 10 erstellt.
Hinweis: In diesem Artikel können Sie den Platzhalter von example.com ersetzen mit der Domain, für die Sie den vhost einrichten.
Voraussetzungen
- Ein Linux®-Server, auf dem die Distribution Ubuntu Version 20.04 oder Debian Version 10 ausgeführt wird
- Apache installiert. Installieren Sie es mit dem folgenden Befehl:
sudo apt install apache2
- DNS, das die Website auf die IP des Servers verweist
- Ein Benutzer mit SSH-Administratorrechten
- Firewall so konfiguriert, dass Datenverkehr auf Port 80 zugelassen wird
Einen vhost einrichten
Verwenden Sie die folgenden Schritte, um einen Apache®-vhost einzurichten:
-
Erstellen Sie ein neues Verzeichnis, um den Inhalt der Website zu speichern. Dieses Verzeichnis wird als Stammdokument bezeichnet Ordner in Ihrer Apache vhost-Konfigurationsdatei.
sudo mkdir -p /var/www/vhosts/example.com/public_html
-
Legen Sie die Berechtigungen für das neue Verzeichnis fest. Ersetzen Sie
vhostuser
im username:vhostuser Parameter mit einem Benutzer auf dem Server, der Zugriff auf das Verzeichnis hat.sudo chown -R username:vhostuser /var/www/vhosts/example.com/public_html
-
Legen Sie allen Benutzern Leseberechtigungen für das Verzeichnis fest.
sudo chmod -R 755 /var/www/vhosts/
-
Erstellen Sie die Konfigurationsdatei für die vhost-Site.
vi /etc/apache2/sites-available/example.com.conf
-
Fügen Sie den folgenden Text in die erstellte Datei ein. Ersetzen Sie example.com mit Ihrem eigenen Site-Hostnamen.
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/vhosts/example.com/public_html <Directory /var/www/vhosts/example.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
Hinweis: Nachdem Sie die Änderungen vorgenommen haben, speichern Sie die Datei mit Esc Taste, um in den Befehlsmodus zu wechseln und
:xq
einzugeben zum Beenden und Speichern der Änderungen. -
Erstellen Sie einen symbolischen Link von der virtuellen Hostdatei zum Verzeichnis „sites-enabled“, um die neue virtuelle Hostdatei mit dem Befehl a2ensite zu aktivieren.
sudo a2ensite domain.com
-
Auf Probleme prüfen. Sie sollten ein Syntax OK erhalten Antwort.
sudo apachectl configtest
-
Starten Sie Apache neu.
sudo systemctl restart apache2
-
Wenn Sie eine Testseite sehen möchten, können Sie eine Datei mit dem Namen index.html erstellen in Ihrem Stammordner.
vi index.html
-
Fügen Sie den folgenden Text ein.
<html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title>vhost test for example.com</title> </head> <body> <h1>Success! example.com vhost!</h1> </body> </html>
-
Speichern und beenden Sie die Datei.
:xq
-
Navigieren Sie zu http://example.com/index.html um die Testseite anzuzeigen.