Virtuelle Hosts (vhosts) werden verwendet, um mehrere Domänen zu bedienen, indem ein einziger Server oder eine IP-Adresse (Internet Protocol) verwendet wird. Je nachdem, was in der Hostdatei für diese bestimmte Site festgelegt wurde, werden verschiedene Seiten angezeigt. Sie können Ihrem Server beliebig viele virtuelle Hosts hinzufügen. Dieser Artikel enthält Anweisungen zum Erstellen von vhosts speziell unter CentOS®.
Hinweis: Ersetzen Sie alle Instanzen von domain.com
in diesem Artikel mit dem Domainnamen Ihrer Website.
Vhost-Konfigurationsvoraussetzungen für CentOS
In diesem Artikel wird davon ausgegangen, dass Sie die Domain Name Services (DNS) für Ihre Domain so konfiguriert haben, dass sie auf Ihre Website verweisen, oder dass Sie eine lokale Hosts-Datei auf Ihrem Computer verwenden, um die Domain zu Testzwecken auf den Server zu verweisen.
Auf Ihrem Server muss Apache® installiert sein, um vhosts konfigurieren zu können. Installieren Sie Apache, indem Sie den folgenden Befehl ausführen:
sudo yum install httpd
Hinweis: Stellen Sie sicher, dass die Firewall auf Ihrem Server so konfiguriert ist, dass HTTP-Datenverkehr auf Port 80 zugelassen wird.
Erstellen Sie ein vhost-Verzeichnis auf CentOS
-
Erstellen Sie mit dem folgenden Befehl ein neues Verzeichnis:
sudo mkdir -p /var/www/vhosts/domain.com/public_html
In diesem Verzeichnis werden die Webinhalte für Ihre Website gespeichert. Dies wird als Dokumentstamm bezeichnet Speicherort im Apache
vhost
Konfigurationsdatei. Mit-p
fügt automatisch die übergeordneten Elemente Ihres neuen Verzeichnisses hinzu. -
Legen Sie die erforderlichen Berechtigungen für das neue Verzeichnis fest, indem Sie den folgenden Befehl verwenden:
sudo chown -R username:vhostuser /var/www/vhosts/domain.com/public_html
Hinweis: Ersetzen Sie vhostuser
in username:vhostuser
mit dem Benutzer, der Zugriff auf das neue Verzeichnis haben soll.
Gewähren Sie allen Lesezugriff auf die Dateien in Ihrem vhosts-Verzeichnis, indem Sie Folgendes verwenden:
sudo chmod -R 755 /var/www/vhosts/
Konfigurieren Sie die virtuelle Hostdatei
-
Öffnen Sie die httpd.conf Datei im
vi
Texteditor mit dem folgenden Befehl:sudo vi /etc/httpd/conf/httpd.conf
-
Fügen Sie am Ende der Datei folgende Zeile ein:
Include vhost.d/*.conf
Diese Aktion setzt Apache so, dass er alle Dateien liest, die auf .conf enden innerhalb von /etc/httpd/vhost.d Verzeichnis.
-
Speichern und beenden Sie die Konfigurationsdatei.
-
Erstellen Sie das Verzeichnis für die vhost-Konfigurationsdateien mit dem folgenden Befehl:
sudo mkdir /etc/httpd/vhost.d/
-
Erstellen Sie eine vhost-Vorlage, aus der Sie zukünftige virtuelle Hosts erstellen können, indem Sie den folgenden Befehl verwenden:
touch /etc/httpd/vhost.d/default.template
-
Öffnen Sie die default.template Datei in
vi
indem Sie den folgenden Befehl verwenden:vi /etc/httpd/vhost.d/default.template
-
Fügen Sie den folgenden Code in /etc/httpd/vhost.d/default.template ein Datei:
<VirtualHost *:80> ServerName domain.com ServerAlias www.domain.com DocumentRoot /var/www/vhosts/domain.com/public_html <Directory /var/www/vhosts/domain.com/public_html> Options Indexes FollowSymLinks MultiViews AllowOverride All </Directory> CustomLog /var/log/httpd/domain.com-access.log combined ErrorLog /var/log/httpd/domain.com-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn </VirtualHost> #<VirtualHost _default_:443> # ServerName example.com # DocumentRoot /var/www/vhosts/domain.com/public_html # <Directory /var/www/vhosts/domain.com/public_html> # Options Indexes FollowSymLinks MultiViews # AllowOverride All # </Directory> # CustomLog /var/log/httpd/example.com-ssl-access.log combined # ErrorLog /var/log/httpd/example.com-ssl-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn # SSLEngine on # SSLCertificateFile /etc/ssl/certs/domain.crt # SSLCertificateKeyFile /etc/ssl/certs/domain.key #</VirtualHost>
-
Speichern Sie die Änderungen in der Datei und beenden Sie
vi
.
Erstellen Sie die vhost-Datei und starten Sie den Apache-Dienst neu
-
Erstellen Sie die vhost-Datei in /etc/httpd/vhost.d Verzeichnis mit dem folgenden Befehl:
sudo cp /etc/httpd/vhost.d/default.template /etc/httpd/vhost.d/domain.com.conf
-
Öffnen Sie die domain.com.conf Datei in
vi
indem Sie den folgenden Befehl verwenden:sudo vi /etc/httpd/vhost.d/domain.com.conf
-
Speichern Sie die Änderungen in der Datei und beenden Sie
vi
. -
Starten Sie Apache neu, indem Sie den folgenden Befehl ausführen:
sudo service httpd restart
Sie erhalten die folgende Meldung:
Stopping httpd: [OK] Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 0000:0000:0000:0000:0000:0000:0000:0000 for ServerName [OK]
Dies ist eine Standardwarnung, die Sie ignorieren können.
Ihr virtueller Host ist jetzt eingerichtet und einsatzbereit. Sie müssen Webinhalte in DocumentRoot hochladen Verzeichnis, das Sie auf Ihrem Server erstellt haben, damit Inhalte bereitgestellt werden, wenn Sie mit einem Browser zu Ihrem Domainnamen navigieren.