Dieser Artikel ist Teil der Apache Server Guide-Reihe:

  • Sicherung von Apache auf Ubuntu - Teil 1
  • Sicherung von Apache auf Ubuntu - Teil 2
  • Apache-Performance optimieren - Teil 1
  • Apache Performance optimieren - Teil 2
  • Einrichten von namensbasiertem Virtualhost Apache
  • Einrichten von IP und Port-Based Virtualhost in Apache
  • So richten Sie das Kennwortschutz-Webverzeichnis in Apache ein
  • Einrichten von Apache Server mit SSL-Unterstützung unter Ubuntu
  • Einrichten von Fail2ban, um Apache vor einem DDOS-Angriff zu schützen
  • Wie man Webdav mit Apache auf Ubuntu einrichtet
  • Überwachen Sie Apache Web Server mit Mod_status
  • So schützen Sie sich gegen DDoS mit Mod_evasive auf Apache Server

Virtuelles Hosting ist eine Methode zum Hosten mehrerer Domänennamen auf einem einzelnen Server. Es gibt zwei Arten von virtuellem Hosting: "Namenbasiertes virtuelles Hosting" und "IP-basiertes virtuelles Hosting". Mit dem namensbasierten virtuellen Hosting können Sie mehrere Websites auf einem einzelnen Rechner mit einer einzigen IP-Adresse hosten.

Hier werden wir zwei Websites - nämlich "www.virtualhost1.com" und "www.virtualhost2.com" - auf einer einzigen IP-Adresse "192.168.1.227" auf dem Apache Web-Server, dem beliebtesten Webserver der Welt, hosten .

Hinweis: Während der Ubuntu 14.04 Server für dieses Tutorial verwendet wird, werden die Anweisungen für die meisten Linux Distributionen ähnlich sein.

Erste Schritte: Apache installieren

Zuerst müssen Sie Ihr System aktualisieren und dann Apache installieren.

Führen Sie dazu den folgenden Befehl aus:

 sudo apt-get Aktualisierung sudo apt-get install apache2 

Um zu überprüfen, ob der Webserver funktioniert oder nicht, öffnen Sie den Webbrowser und navigieren Sie zur URL http://192.168.1.227/ (vorausgesetzt, die IP-Adresse Ihres Servers ist 192.168.1.227).

Sie sollten sehen, dass der Apache-Webserver funktioniert.

Erstellen Sie virtuelle Verzeichnisse

Zunächst müssen Sie eine Verzeichnisstruktur erstellen, in der die Websitedaten gespeichert werden, die wir den Kunden zur Verfügung stellen.

Erstellen Sie zwei Verzeichnisse für die Websites "www.virtualhost1.com" und "www.virtualhost2.com".

 sudo mkdir -p /var/www/html/www.virtualhost1.com sudo mkdir -p /var/www/html/www.virtualhost2.com 

Hinweis : Der Standardordner für das Hosten Ihrer Dateien lautet "/ var / www / html". Wenn Sie einen alternativen Dateipfad verwenden, müssen Sie den obigen Code entsprechend ändern.

Jetzt müssen Sie eine "index.html" -Datei für beide Websites erstellen. Dies wird vom Apache Webserver bedient.

Erstellen Sie eine index.html-Datei für den virtuellen Host "www.virtualhost1.com":

 sudo nano /var/www/html/www.virtualhost1.com/index.html 

Fügen Sie den folgenden Inhalt hinzu:

 www.virtualhost1.com 

Speichern und schließen Sie die Datei.

Erstellen Sie auf ähnliche Weise eine index.html-Datei für den virtuellen Host "www.virtualhost2.com":

 sudo nano /var/www/html/www.virtualhost2.com/index.html 

Fügen Sie den folgenden Inhalt hinzu:

 www.virtualhost2.com 

Speichern und schließen Sie die Datei.

Eigentumsrechte und Berechtigungen einrichten

Standardmäßig wird der Apache-Dienst in Ubuntu als "www-data" -Benutzer ausgeführt. Beide virtuellen Verzeichnisse, die wir zuvor erstellt haben, gehören zu root. Sie müssen den Besitz dieser zwei virtuellen Verzeichnisse in "www-data" ändern, damit Apache Daten lesen und schreiben kann.

Führen Sie dazu aus

 sudo chown -R www-daten: www-data /var/www/html/www.virtualhost1.com/ sudo chown -R www-daten: www-data /var/www/html/www.virtualhost2.com/ 

Außerdem müssen Sie das Apache-Webstammverzeichnis (/ var / www / html) für alle lesbar machen, damit alle Dateien aus diesem Verzeichnis lesen können.

 sudo chmod -R 755 / var / www / html 

Erstellen Sie virtuelle Host-Dateien:

Standardmäßig wird Apache mit einer Standarddatei für den virtuellen Host namens "000-default.conf" ausgeliefert. Sie müssen diese Datei zuerst deaktivieren.

Führen Sie dazu den folgenden Befehl aus:

 sudo a2dissite 000-default.conf 

Erstellen Sie nun eine virtuelle Host-Datei "www.virtualhost1.com.conf" für den virtuellen Host "www.virtualhost1.com".

 sudo nano /etc/apache2/sites-available/www.virtualhost1.com.conf 

Fügen Sie den folgenden Inhalt hinzu:

 ServerAdmin [email protected] ServerName www.virtualhost1.com DocumentRoot /var/www/html/www.virtualhost1.com ErrorLog $ {APACHE_LOG_DIR} /www.virtualhost1.com_error.log CustomLog $ {APACHE_LOG_DIR} /www.virtualhost1.com_access. Protokoll kombiniert 

Speichern und schließen Sie die Datei.

Erstellen Sie auf ähnliche Weise eine virtuelle Host-Datei "www.virtualhost2.com.conf" für den virtuellen Host "www.virtualhost2.com".

 sudo nano /etc/apache2/sites-available/www.virtualhost2.com.conf 

Fügen Sie den folgenden Inhalt hinzu:

 ServerAdmin [email protected] ServerName www.virtualhost2.com DocumentRoot /var/www/html/www.virtualhost2.com ErrorLog $ {APACHE_LOG_DIR} /www.virtualhost2.com_error.log CustomLog $ {APACHE_LOG_DIR} /www.virtualhost2.com_access. Protokoll kombiniert 

Speichern und schließen Sie die Datei.

Nach dem Erstellen der virtuellen Host-Dateien müssen Sie einen neuen virtuellen Host aktivieren.

Sie können dies tun, indem Sie ausführen

 sudo a2ensite www.virtualhost1.com.conf sudo a2ensite www.virtualhost2.com.conf 

Starten Sie den Apache-Dienst neu.

 sudo /etc/init.d/apache2 neustarten 

Virtuelle Hosts testen:

Sie müssen auf jedem Remote- oder lokalen System einen Hosteintrag hinzufügen, um die Website nach Namen aufzulösen.

Sie können dies tun, indem Sie die Datei "/ etc / hosts" bearbeiten.

 sudo nano / etc / hosts 

Fügen Sie die folgenden Zeilen hinzu:

 192.168.1.227 www.virtualhost1.com 192.168.1.227 www.virtualhost2.com 

Speichern und schließen Sie die Datei.

Öffnen Sie Ihren Webbrowser und navigieren Sie zu den URLs "http://www.virtualhost1.com" und "http://www.virtualhost2.com".

Sie sollten die Beispieldemoseiten sehen, die wir zuvor erstellt haben.

www.virtualhost1.com Demoseite:

www.virtualhost2.com Demoseite:

Fazit

Ich hoffe, dass dieser Beitrag Ihnen helfen wird, einen virtuellen Host in Ubuntu einzurichten. Es gibt keine Begrenzung für die Anzahl der virtuellen Hosts, mit denen Apache umgehen kann, sodass Sie beliebig viele Websites erstellen und hosten können.