GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So richten Sie virtuelle Apache-Hosts unter Ubuntu 18.04 ein

Was ist Apache Virtual Host?

Virtueller Host ermöglicht es Ihnen, mehrere Websites von einem einzigen physischen Server oder Virtual Private Server aus auszuführen. Es gibt zwei Arten von virtuellen Hosts auf Apache:

  • IP-basiertes virtuelles Hosting – jede einzelne Website auf dem Apache-Server verwendet eine andere, eindeutige IP-Adresse.
  • Namensbasierte virtuelle Hosts – ermöglicht es Ihnen, mehrere Domains mit einer einzigen IP-Adresse hinzuzufügen.

Dieses Tutorial zeigt Ihnen, wie Sie Apache Virtual Hosts auf einem Ubuntu 18.04-System einrichten.

Voraussetzungen

  • Befehlszeilen-/Terminalfenster
  • Benutzer mit root oder sudo Privilegien
  • Eine Domain, die auf eine öffentliche Server-IP verweist
  • Apache-Webserver auf Ubuntu installiert, konfiguriert und aktiv
  • Firewall aktiviert

Mehrere Domains auf einer einzigen IP einrichten

Mit Apache Virtual Host können Sie Ihre Ressourcen beim Einrichten einer Website maximieren. Mit dieser leistungsstarken Software können Sie einen einzigen Server und eine einzige IP-Adresse verwenden, um eine Reihe verschiedener Domains zu hosten.

Bevor Sie Apache Virtual Hosts konfigurieren können, müssen Sie den Apache-Webserver installieren. Führen Sie dazu den folgenden Befehl aus:

sudo apt-get install apache2

Wenn Sie Probleme beim Einrichten des Webservers haben, lesen Sie unser ausführliches Tutorial zur Installation von Apache unter Ubuntu.

So richten Sie einen namensbasierten virtuellen Host ein

Namensbasiert Virtual Hosting ermöglicht es dem Client, den Hostnamen als Element des HTTP-Headers an den Server zu melden. Diese Funktion bedeutet, dass ein Computer mehrere Websites mit derselben IP-Adresse hosten kann.

Schritt 1:Erstellen Sie eine Verzeichnisstruktur

Jeder virtuelle Host muss über ein Verzeichnis zum Speichern von virtuellen Hostdaten verfügen. Erstellen Sie Verzeichnisse und eine Verzeichnisstruktur an folgendem Speicherort /var/www . In unserem Beispiel haben wir phxnap1.com erstellt und phxnap2.com Verzeichnisse, eines für jeden Domänennamen.

1. Geben Sie den folgenden Befehl ein und ersetzen Sie die Beispieldomäne durch Ihre Domänennamen:

sudo mkdir -p /var/www/phxnap1.com/public_html
sudo mkdir -p /var/www/phxnap2.com/public_html

Innerhalb der Verzeichnisse haben wir auch public_html erstellt . Diese Verzeichnisse werden Website-Dateien für die Domains speichern.

2. Erstellen Sie als Nächstes eine Beispiel-index.html Seite für jede Domain mit nano oder Ihren bevorzugten Texteditor. Beginnen Sie mit der ersten Domain:

nano /var/www/phxnap1.com/public_html/index.html

3. Fügen Sie das folgende Beispiel-HTML hinzu:

<html>
<head>
<title>Welcome to phoenixNAP 1!</title>
</head>
<body>
<h1>Well done! Everything seems to be working on your first domain!</h1>
</body>
</html>

4. Speichern und beenden Sie die Datei.

5. Erstellen Sie als Nächstes eine Beispielseite für die zweite Domain:

nano /var/www/phxnap2.com/public_html/index.html

6. Fügen Sie der Datei die folgenden Zeilen hinzu:

<html>
<head>
<title>Welcome to phoenixNAP 2!</title>
</head>
<body>
<h1>Well done! Everything seems to be working on your second domain!</h1>
</body>
</html>

7. Speichern und beenden Sie die zweite HTML-Datei.

8. Um Berechtigungsprobleme zu vermeiden, ändern Sie den Besitz des Stammverzeichnisses Ihres Dokuments in www-data . Der Befehl chown ist in diesem Fall nützlich:

sudo chown –R www-data:www-data /var/www/phxnap1.com
sudo chown –R www-data:www-data /var/www/phxnap2.com

Sie haben jetzt erfolgreich das Eigentum des Verzeichnisses auf den Apache-Benutzer geändert .

Schritt 2:Erstellen Sie eine Konfigurationsdatei für virtuelle Hosts

Konfigurationsdateien für Apache Virtual Host werden im Verzeichnis /etc/apache2/sites-available gespeichert Verzeichnis.

1. Um eine grundlegende Konfigurationsdatei für Ihre erste Domäne zu erstellen, geben Sie die Domäneninformationen in den Befehl ein:

sudo nano /etc/apache2/sites-available/phxnap1.com.conf

2. Fügen Sie den folgenden Konfigurationsblock hinzu, um eine grundlegende Konfigurationsdatei zu erstellen. Dieses Beispiel verwendet die erste Testdomäne, phxnap1.com . Achten Sie darauf, die richtige Domain für Ihre Website einzugeben:

<VirtualHost *:80>

ServerAdmin [email protected]
ServerName phxnap1.com
ServerAlias www.phxnap1.com
DocumentRoot /var/www/phxnap1.com/public_html

ErrorLog ${APACHE_LOG_DIR}/phxnap1.com-error.log
CustomLog ${APACHE_LOG_DIR}/phxnap1.com-access.log combined

</VirtualHost>
  • Servername – steht für die Domain
  • Serveralias – steht für alle anderen Domains wie Subdomains
  • DocumentRoot – das von Apache zum Bereitstellen von Domain-Dateien verwendete Verzeichnis
  • Fehlerprotokoll, benutzerdefiniertes Protokoll – bezeichnet den Speicherort der Protokolldateien

Es gibt kein etabliertes Format. Die Benennung Ihrer Konfigurationsdateien basierend auf dem Domänennamen ist jedoch eine „beste Vorgehensweise“.

4. Nachdem Sie die Konfigurationsdatei für die erste Domain bearbeitet haben, wiederholen Sie den Vorgang für die restlichen. In unserem Fall führen wir Folgendes aus:

sudo nano /etc/apache2/sites-available/phxnap2.com.conf

5. Fügen Sie dann den Konfigurationsblock wie im obigen Beispiel hinzu und stellen Sie sicher, dass Sie die Werte für phxnap2.com ändern :

<VirtualHost *:80>

ServerAdmin [email protected]
ServerName phxnap2.com
ServerAlias www.phxnap2.com
DocumentRoot /var/www/phxnap2.com/public_html

ErrorLog ${APACHE_LOG_DIR}/phxnap2.com-error.log
CustomLog ${APACHE_LOG_DIR}/phxnap2.com-access.log combined

</VirtualHost>

Schritt 3:Konfigurationsdateien für virtuelle Hosts aktivieren

Um die virtuelle Hostdatei zu aktivieren, erstellen Sie einen symbolischen Link von der virtuellen Hostdatei zum Verzeichnis „sites-enabled“. Apache2 liest diese Datei beim Starten.

1. Verwenden Sie den a2ensite-Helfer um die virtuelle Hostdatei mit dem Befehl zu aktivieren:

sudo a2ensite phxnap1.com

Die Ausgabe erscheint als:


2. Wiederholen Sie den Vorgang für die zweite Domain, indem Sie Folgendes eingeben:

sudo a2ensite phxnap2.com

3. Überprüfen Sie als Nächstes mit dem folgenden Befehl, ob die Syntax der Konfigurationsdatei korrekt ist:

sudo apachectl configtest

Die Meldung im Terminal bestätigt, dass die Syntax korrekt ist:„Syntax OK“

4. Starten Sie Apache2 neu, damit die Änderungen übernommen werden:

sudo systemctl restart apache2

5. Sie müssen nur noch zu einem Webbrowser gehen und auf Ihre Websites zugreifen. Basierend auf index.html Datei, die wir zuvor erstellt haben, sollte die entsprechende Meldung für jede Domain erscheinen.

phxnap1.com
phxnap2.com

Schritt 4:Firewall konfigurieren (optional)

Ändern Sie Ihre Firewall-Einstellungen, um die Sicherheit zu verbessern, indem Sie eine Regel erstellen, um SSH auf Ubuntu zu aktivieren:

sudo ufw allow OpenSSH

Fügen Sie die Regeln hinzu, um den Zugriff auf Apache zuzulassen.

sudo ufw allow in “Apache Full”

Als nächstes aktivieren Sie die Firewall.

sudo ufw enable

Wenn Sie eine Meldung sehen, die besagt:„Der Befehl kann bestehende SSH-Verbindungen unterbrechen.“ Drücken Sie y . Wenn die Firewall ordnungsgemäß funktioniert, sollten Sie „Firewall ist aktiv und beim Systemstart aktiviert.“ sehen


Ubuntu
  1. So richten Sie virtuelle Apache-Hosts unter CentOS ein

  2. Ubuntu – Wie stellt man eine statische IP in Ubuntu ein?

  3. So richten Sie Apache mit HTTP/2 unter Ubuntu 16.04 ein

  4. Wie richte ich die Apache-Passwortauthentifizierung unter Ubuntu 18.08 ein?

  5. Richten Sie virtuelle Apache-Hosts auf dem Ubuntu-Betriebssystem ein

So konfigurieren Sie virtuelle Apache-Hosts in Ubuntu 18.04 LTS

So richten Sie den virtuellen Host Apache unter Ubuntu 20.04 LTS ein

So installieren Sie Apache Server und richten virtuelle Hosts unter Ubuntu 22.04 ein

So richten Sie Apache Virtual Hosts unter Debian 11 ein

So richten Sie Apache Virtual Hosts unter Ubuntu 18.04 ein

So richten Sie virtuelle Apache-Hosts unter Ubuntu 20.04 ein