Virtuelles Hosting wird verwendet, um mehrere Websites auf einem einzigen Webserver zu hosten. Der Webserver kann ein beliebiger Apache-HTTP-Webserver sein , Microsoft IIS , Lighttpd , openLiteSpeed usw. Diese Anleitung zeigt Ihnen, wie Sie virtuelle Apache-Hosts unter Debian 9 einrichten / Ubuntu 16.04 /LinuxMint 18 .
Arten von virtuellem Hosting
Es gibt zwei Arten von virtuellem Hosting im Apache-Webserver,
1. Namensbasiertes virtuelles Hosting
2. IP-basiertes virtuelles Hosting
Mit dem namensbasierten virtuellen Hosting können wir mehrere Websites auf einer einzigen IP-Adresse konfigurieren, während bei IP-basiert; Wir können nur eine Website auf einer einzigen IP-Adresse konfigurieren.
Annahmen
Für eine Demo hosten wir zwei Websites mit dem Namen „www.itzgeek1.local und „www.itzgeek2.local ” auf einem einzigen Webserver.
Server-Hostname:server.itzgeek.local
IP-Adresse:192.168.12.3
Apache-Webserver installieren
Aktualisieren Sie vor der Installation von Apache den Repository-Index.
sudo apt-get update
Installieren Sie den Apache-Webserver mit dem folgenden Befehl.
sudo apt-get install apache2
Nach der Installation startet das System automatisch den Apache-Dienst.
Um Ihre Installation zu testen, öffnen Sie einen Webbrowser und zeigen Sie auf die URL.
http://localhostODER
http://ihre.ip.adresse.ress
Sie würden die Standardseite wie unten sehen. Das folgende Bild zeigt Ihnen die Standardseite von Apache2 auf Debian 9.
Virtuelle Apache-Hosts einrichten
Öffentliche Verzeichnisse erstellen
Jetzt erstellen wir ein Verzeichnis für unsere Webdokumente, dh .html-Dateien. Verwenden Sie den folgenden Befehl, um ein Verzeichnis für jede Website zu erstellen:„www.itzgeek1.local “ und „www.itzgeek2.local „.
sudo mkdir -p /var/www/html/www.itzgeek1.local sudo mkdir -p /var/www/html/www.itzgeek2.local
Demoseite für virtuelle Hosts erstellen
Jetzt legen wir eine index.html-Datei in beide Verzeichnisse, um zu prüfen, ob das namensbasierte virtuelle Hosting funktioniert oder nicht.
Erstellen Sie eine index.html für „www.itzgeek1.local ” Virtueller Host.
sudo nano /var/www/html/www.itzgeek1.local/index.html
Fügen Sie den folgenden Inhalt in die Datei ein.
<html> <head> <title>www.itzgeek1.local</title> </head> <body> <h1>Welcome To www.itzgeek1.local website</h1> </body> </html>
Erstellen Sie eine index.html für „www.itzgeek2.local ” Virtueller Host.
sudo nano /var/www/html/www.itzgeek2.local/index.html
Fügen Sie den folgenden Inhalt in die Datei ein.
<html> <head> <title>www.itzgeek2.local</title> </head> <body> <h1>Welcome To wwww.itzgeek2.local website</h1> </body> </html>
Verzeichnisbesitz und Berechtigungen einrichten
Standardmäßig wird der Apache-Dienst als www-data-Benutzer ausgeführt. Jetzt sind beide virtuellen Verzeichnisse, die wir zuvor erstellt haben, im Besitz von root, und wir müssen den Besitz auf www-data ändern damit dieser Apache-Server Daten hinein schreiben und lesen kann.
sudo chown -R www-data:www-data /var/www/html
Außerdem können Sie virtuelle Verzeichnisse weltweit lesbar machen.
sudo chmod 755 /var/www/html/
Jetzt sind wir bereit, eine Konfigurationsdatei für virtuelle Hosts zu erstellen.
Virtuelle Host-Dateien erstellen
Erstellen Sie nun eine virtuelle Hostdatei „www.itzgeek1.local.conf für den virtuellen Host „www.itzgeek1.local. Die Konfigurationsdatei des virtuellen Hosts sollte mit der Erweiterung .conf enden.
sudo nano /etc/apache2/sites-available/www.itzgeek1.local.conf
Fügen Sie der Datei den folgenden Inhalt hinzu.
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.itzgeek1.local DocumentRoot /var/www/html/www.itzgeek1.local ErrorLog ${APACHE_LOG_DIR}/www.itzgeek1.local_error.log CustomLog ${APACHE_LOG_DIR}/www.itzgeek1.local_ccess.log combined </VirtualHost>
Erstellen Sie auf die gleiche Weise eine zweite virtuelle Hostdatei.
sudo nano /etc/apache2/sites-available/www.itzgeek2.local.conf
Fügen Sie den folgenden Inhalt in die Datei ein.
<VirtualHost *:80> ServerAdmin [email protected] ServerName www.itzgeek2.local DocumentRoot /var/www/html/www.itzgeek2.local ErrorLog ${APACHE_LOG_DIR}/www.itzgeek2.local_error.log CustomLog ${APACHE_LOG_DIR}/www.itzgeek2.local_ccess.log combined </VirtualHost>
Aktivieren Sie nach dem Erstellen der virtuellen Hostdateien neue virtuelle Hosts, die wir gerade erstellt haben, indem Sie einen symbolischen Link zu sites-enabled erstellen Verzeichnis.
sudo ln -s /etc/apache2/sites-available/www.itzgeek1.local.conf /etc/apache2/sites-enabled/ sudo ln -s /etc/apache2/sites-available/www.itzgeek2.local.conf /etc/apache2/sites-enabled/
Starten Sie den Apache-Dienst neu.
sudo service apache2 restart
Virtuelle Hosts verifizieren
Wenn Sie keinen DNS-Server in Ihrer Umgebung haben, bearbeiten Sie „/etc/hosts ” Datei.
sudo nano /etc/hosts
Fügen Sie die folgenden Einträge hinzu.
192.168.12.3 www.itzgeek1.local 192.168.12.3 www.itzgeek2.local
Wenn Sie Windows-basierte Computer verwenden, bearbeiten Sie „hosts “-Datei in „C:\Windows\System32\drivers\etc ” Verzeichnis.
Öffnen Sie Ihren Browser und zeigen Sie auf die URL http://www.itzgeek1.local oder http://www.itzgeek2.local . Sie sollten die Demoseiten sehen, die wir zuvor erstellt haben.
www.itzgeek1.local Demoseite:
www.itzgeek2.local Demoseite:
Das ist alles.