Der Begriff „virtueller Host“ bezieht sich auf die Praxis, mehr als eine Website (z. B. example1.com und example2.com) auf einem einzigen Rechner zu betreiben. Ein virtueller Host kann „IP-basiert“ sein, d. h. Sie haben eine andere IP-Adresse für jede Website, oder „namensbasiert“, d. h. Sie haben mehrere Namen, die unter jeder IP-Adresse laufen. Die Tatsache, dass sie auf demselben physischen Server laufen, ist für den Endbenutzer nicht sichtbar.
Apache war einer der ersten Server, der IP-basierte virtuelle Hosts unterstützte. Apache Version 1.1 und spätere Versionen unterstützen IP-basierte und namensbasierte virtuelle Hosts (vhosts). Die letzte Variante eines virtuellen Hosts wird manchmal auch als Host-basierter virtueller Host oder Non-IP bezeichnet.
Konfiguration eines virtuellen Hosts auf XAMPP
- Öffnen Sie die Apache Virtual Hosts-Konfigurationsdatei im XAMPP-Installationsverzeichnis (z. B. in „C:\xampp\apache\conf\extra\htpd-vhosts.conf“)
- Fügen Sie den folgenden Code am Ende der Datei ein
<VirtualHost *:80>
ServerName www.example1.com
DocumentRoot "C:\XAMPP\htdocs"
<Directory "C:\XAMPP\htdocs">
Options Indexes FollowSymLinks Includes ExecCGI
Order allow,deny
Allow from all
</Directory
</VirtualHost>
- Fügen Sie eine Einstellung am Ende einer Windows-Hostdatei in „C:\Windows\System32\drivers\etc\host“ hinzu.
127.0.0.1 www.example1.com
Virtuelle Konfiguration hostet mehrere Domains mit einer öffentlichen IP
- Wir haben zum Beispiel 2 Domänen mit den Namen www.example1.com und www.example2.com.
- Fügen Sie den folgenden Code am Ende der Datei httpd-vhosts.conf ein
<VirtualHost *:80>
ServerName www.example1.com
DocumentRoot "C:\XAMPP\htdocs\www.example1.com"
<Directory "C:XAMPP\htdocs\www.example1.com">
Options Indexes FollowSymLinks Includes ExecCGI
Order allow,deny
Allow from all
</Directory
</VirtualHost>
<VirtualHost *:80>
ServerName www.example2.com
DocumentRoot "C:\XAMPP\htdocs\www.example2.com"
<Directory "C:\XAMPP\htdocs\www.example2.com">
Options Indexes FollowSymLinks Includes ExecCGI
Order allow,deny
Allow from all
</Directory
</VirtualHost>
- Fügen Sie eine Einstellung am Ende einer Windows-Hostdatei in „C:\Windows\System32\drivers\etc\host“ hinzu.
127.0.0.1 www.example1.com
127.0.0.1 www.example2.com
Weitere interessante Artikel
Virtuelle Konfiguration von mehreren Domänen und IP-Hosts
- Zum Beispiel haben wir 2 Domains mit www.example1.com Namen, ip 172.20.30.40 und www.example2.com, ip 172.20.30.50.
- Fügen Sie den folgenden Code am Ende der Datei httpd-vhosts.conf ein
<VirtualHost 172.20.30.40:80>
ServerName www.example1.com
DocumentRoot "C:\XAMPP\htdocs\www.example1.com"
<Directory "C:XAMPP\htdocs\www.example1.com">
Options Indexes FollowSymLinks Includes ExecCGI
Order allow,deny
Allow from all
</Directory
</VirtualHost>
<VirtualHost 172.20.30.50:80>
ServerName www.example2.com
DocumentRoot "C:\XAMPP\htdocs\www.example2.com"
<Directory "C:\XAMPP\htdocs\www.example2.com">
Options Indexes FollowSymLinks Includes ExecCGI
Order allow,deny
Allow from all
</Directory
</VirtualHost>
- Fügen Sie eine Einstellung am Ende einer Windows-Hostdatei in „C:\Windows\System32\drivers\etc\host“ hinzu.
127.0.0.1 www.example1.com
127.0.0.1 www.example2.com
Konfiguration eines virtuellen Hosts mit verschiedenen Ports
- Zum Beispiel haben wir 2 Domains mit www.example1.com Namen, ip 172.20.30.40 und www.example2.com, ip 172.20.30.50, die auf Port 80 laufen und www.example3com, ip 172.20.30.50 mit Port 8080.
- Fügen Sie den folgenden Code am Ende der Datei httpd-vhosts.conf ein
<VirtualHost 172.20.30.40:80>
ServerName www.example1.com
DocumentRoot "C:\XAMPP\htdocs\www.example1.com"
<Directory "C:\XAMPP\htdocs\www.example1.com">
Options Indexes FollowSymLinks Includes ExecCGI
Order allow,deny
Allow from all
</Directory
</VirtualHost>
<VirtualHost 172.20.30.50:80>
ServerName www.example2.com
DocumentRoot "C:\XAMPP\htdocs\www.example2.com"
<Directory "C:\XAMPP\htdocs\www.example2.com">
Options Indexes FollowSymLinks Includes ExecCGI
Order allow,deny
Allow from all
</Directory
</VirtualHost>
<VirtualHost 172.20.30.50:8080>
ServerName www.example3.com
DocumentRoot "C:\XAMPP\htdocs\www.example3.com"
<Directory "C:\XAMPP\htdocs\www.example3.com">
Options Indexes FollowSymLinks Includes ExecCGI
Order allow,deny
Allow from all
</Directory
</VirtualHost>
- Fügen Sie eine Einstellung am Ende einer Windows-Hostdatei in „C:\Windows\System32\drivers\etc\host“ hinzu.
127.0.0.1 www.example1.com
127.0.0.1 www.example2.com
127.0.0.1 www.example3.com
Configure Virtual Host with SSL
Erstellen Sie ein SSL-Zertifikat, wie im nächsten Artikel beschrieben.
Zum Beispiel ein Zertifikat mit den Dateinamen „server.crt“, „server.key“- Legen Sie das SSL-Zertifikat in „C:\XAMPP\apache\conf“ ab.
- Fügen Sie den folgenden Code am Ende der Datei httpd-vhosts.conf ein
<virtualhost *:443>
ServerName www.example1.com
DocumentRoot "C:\XAMPP\htdocs\www.example1.com"
SSLEngine on
SSLCertificateFile "conf/ssl.crt/server.crt"
SSLCertificateKeyFile "conf/ssl.key/server.key"
<directory "c:\xampp\htdocs\www.example1.com">
Options Indexes FollowSymLinks Includes ExecCGI
Order allow,deny
Allow from all
</directory>
</virtualhost>