Einrichten von namensbasiertem Virtualhost Apache
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.