Apache ist kostenlos, Open Source und der am weitesten verbreitete Webserver auf der ganzen Welt. Es ist nicht nur für seine Leistung bekannt, sondern auch für seine zahlreichen Komponenten mit spezifischen Funktionen. Apache Virtual Host ist eine solche Komponente; es ermöglicht uns, mehrere Websites auf einem einzigen Server zu hosten.
Wenn Sie einen großen Server mit umfangreichen Ressourcen wie viel Festplattenspeicher, RAM und CPU-Leistung haben, können Sie mehrere Websites mit virtuellem Hosting hosten. Sie können eine unbegrenzte Anzahl von Websites auf Ihrem Apache-Webserver hosten. Stellen Sie sicher, dass Ihr Server über genügend Ressourcen verfügt, um den Datenverkehr und die Anforderungen an den Speicherplatz zu bewältigen. Eines der besten Beispiele ist ein Webhosting-Anbieter, der virtuelles Hosting verwendet, um Hunderte und Tausende von Websites auf einem einzigen Server zu hosten.
Es gibt drei Möglichkeiten, mehrere Websites auf einem einzigen Server zu hosten:
- Namensbasiertes virtuelles Hosting.
- IP-basiertes virtuelles Hosting.
- Portbasiertes virtuelles Hosting.
In diesem Tutorial erklären wir den Vorgang zum Hosten von zwei Websites auf einem einzigen Server auf drei verschiedene Arten.
Voraussetzungen
- Ein frisches Ubuntu 18.04 VPS auf der Atlantic.Net Cloud Platform.
- Zwei gültige Domänennamen oder Subdomänennamen verweisen auf Ihre VPS-IP-Adresse. In diesem Tutorial verwenden wir site1.example.com und site2.example.com als Subdomains.
- Zwei statische IP-Adressen, 192.168.0.101 und 192.168.0.102, konfiguriert auf Ihrem VPS.
Schritt 1 – Erstellen Sie einen Atlantic.Net Cloud-Server
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 18.04 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Ubuntu 18.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
apt-get update -y
Schritt 2 – Apache-Webserver installieren
Installieren Sie zuerst den Apache-Webserver, indem Sie den folgenden Befehl ausführen:
apt-get install apache2 -y
Sobald die Installation abgeschlossen ist, starten Sie den Apache-Dienst mit dem folgenden Befehl:
systemctl startet Apache2
Namensbasiertes virtuelles Hosting
Namensbasiertes virtuelles Hosting ist die am häufigsten verwendete Methode, um mehrere Websites auf derselben IP-Adresse und demselben Port zu hosten. Sie benötigen gültige Domänennamen, um mehrere Websites mit namensbasiertem virtuellem Hosting zu hosten.
In diesem Abschnitt verwenden wir site1.example.com und site2.example.com, um zwei Websites auf einem einzigen Server zu hosten.
Schritt 3 – Erstellen Sie eine Verzeichnisstruktur
Erstellen Sie zunächst ein Dokumentstammverzeichnis für beide Websites:
mkdir /var/www/html/site1.example.commkdir /var/www/html/site2.example.com
Erstellen Sie als Nächstes eine index.html Seite für beide Websites.
Erstellen Sie zuerst eine index.html Seite für site1.example.com :
nano /var/www/html/site1.example.com/index.html
Fügen Sie die folgenden Zeilen hinzu:
site1.example.com Willkommen auf der Website site1.example.com
Dies ist meine erste Website, die mit namensbasiertem virtuellem Hosting gehostet wird
Erstellen Sie als Nächstes eine index.html Seite für site2.example.com :
nano /var/www/html/site2.example.com/index.html
Fügen Sie die folgenden Zeilen hinzu:
site2.example.com Willkommen auf der Website site2.example.com
Dies ist meine zweite Website, die mit namensbasiertem virtuellem Hosting gehostet wird
Ändern Sie als Nächstes den Eigentümer von site1.example.com und site2.example.com Verzeichnis zu www-data :
chown -R www-data:www-data /var/www/html/site1.example.comchown -R www-data:www-data /var/www/html/site2.example.com
Schritt 4 – Erstellen Sie eine virtuelle Host-Konfigurationsdatei
Als Nächstes müssen Sie eine Konfigurationsdatei für den virtuellen Apache-Host erstellen, um beide Websites zu bedienen.
Erstellen Sie zunächst eine Konfigurationsdatei für den virtuellen Apache-Host für site1.example.com :
nano /etc/apache2/sites-available/site1.example.com.conf
Fügen Sie die folgenden Zeilen hinzu:
ServerAdmin [email protected] site1.example.comDocumentRoot /var/www/html/site1.example.comDirectoryIndex index.htmlErrorLog ${APACHE_LOG_DIR}/site1.example.com_error.logCustomLog ${APACHE_LOG_DIR }/site1.example.com_access.log kombiniert
Speichern und schließen Sie die Datei.
Erstellen Sie als Nächstes eine Konfigurationsdatei für den virtuellen Apache-Host für site2.example.com :
nano /etc/apache2/sites-available/site2.example.com.conf
Fügen Sie die folgenden Zeilen hinzu:
ServerAdmin [email protected] site2.example.comDocumentRoot /var/www/html/site2.example.comDirectoryIndex index.htmlErrorLog ${APACHE_LOG_DIR}/site2.example.com_error.logCustomLog ${APACHE_LOG_DIR }/site2.example.com_access.log kombiniert
Speichern und schließen Sie die Datei. Aktivieren Sie dann die Konfigurationsdatei des virtuellen Hosts mit den folgenden Befehlen:
a2ensite site1.example.coma2ensite site2.example.com
Starten Sie als Nächstes den Apache-Webserver neu, um die Konfigurationsänderungen zu übernehmen:
systemctl startet Apache2 neu
Schritt 5 – Beide Websites testen
An diesem Punkt haben Sie den Apache-Webserver so konfiguriert, dass er zwei Websites bedient.
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://site1.example.com ein. Sie sollten Ihre erste Website auf dem folgenden Bildschirm sehen:
Öffnen Sie als Nächstes Ihren Webbrowser und geben Sie die URL http://site2.example.com ein. Sie sollten Ihre zweite Website auf dem folgenden Bildschirm sehen:
IP-basiertes virtuelles Hosting
IP-basiertes virtuelles Hosting ist eine Methode, um verschiedene Websites basierend auf IP-Adressen zu bedienen. Sie können jeder Website auf einem einzelnen Server eine separate IP-Adresse zuweisen.
In diesem Abschnitt verwenden wir die IP-Adressen 192.168.0.101 und 192.168.0.102, um zwei Websites auf einem einzigen Server zu hosten.
Schritt 3 – Erstellen Sie eine Verzeichnisstruktur
Erstellen Sie zunächst ein Dokumentstammverzeichnis für beide Websites:
mkdir /var/www/html/192.168.0.101mkdir /var/www/html/192.168.0.102
Erstellen Sie als Nächstes eine index.html Seite für beide Websites.
Erstellen Sie zuerst eine index.html Seite für die unter 192.168.0.101 gehostete Website :
nano /var/www/html/192.168.0.101/index.html
Fügen Sie die folgenden Zeilen hinzu:
192.168.0.101 Willkommen auf der 192.168.0.101-Website
Dies ist meine erste Website, die mit IP-basiertem virtuellem Hosting gehostet wird
Speichern und schließen Sie die Datei.
Erstellen Sie als Nächstes eine index.html Seite für die unter 192.168.0.102 gehostete Website :
nano /var/www/html/192.168.0.102/index.html
Fügen Sie die folgenden Zeilen hinzu:
192.168.0.102 Willkommen auf der 192.168.0.102-Website
Dies ist meine erste Website, die mit IP-basiertem virtuellem Hosting gehostet wird
Speichern und schließen Sie die Datei.
Ändern Sie als Nächstes den Eigentümer beider Websites in www-data:
chown -R www-data:www-data /var/www/html/192.168.0.101chown -R www-data:www-data /var/www/html/192.168.0.102
Schritt 4 – Erstellen Sie eine virtuelle Host-Konfigurationsdatei
Als Nächstes müssen Sie eine Konfigurationsdatei für den virtuellen Apache-Host erstellen, um beide Websites zu bedienen.
Erstellen Sie zunächst eine Konfigurationsdatei für den virtuellen Apache-Host für die unter 192.168.0.101 gehostete Website:
nano /etc/apache2/sites-available/192.168.0.101.conf
Fügen Sie die folgenden Zeilen hinzu:
ServerAdmin [email protected] 192.168.0.101DocumentRoot /var/www/html/192.168.0.101DirectoryIndex index.htmlErrorLog ${APACHE_LOG_DIR}/192.168.0.101_error.logCustomLog ${APACHE_LOG_DIR}/192.168 .0.101_access.log kombiniert
Speichern und schließen Sie die Datei.
Erstellen Sie als Nächstes eine Konfigurationsdatei für den virtuellen Apache-Host für die unter 192.168.0.102 gehostete Website:
nano /etc/apache2/sites-available/192.168.0.102.conf
Fügen Sie die folgenden Zeilen hinzu:
ServerAdmin [email protected] 192.168.0.102DocumentRoot /var/www/html/192.168.0.102DirectoryIndex index.htmlErrorLog ${APACHE_LOG_DIR}/192.168.0.102_error.logCustomLog ${APACHE_LOG_DIR}/192.168 .0.102_access.log kombiniert
Speichern und schließen Sie die Datei. Aktivieren Sie dann den virtuellen Host mit dem folgenden Befehl:
a2ensite 192.168.0.101a2ensite 192.168.0.102
Starten Sie abschließend den Apache-Webserver neu, um die Änderungen zu übernehmen:
systemctl startet Apache2 neu
Schritt 5 – Beide Websites testen
An diesem Punkt haben Sie den Apache-Webserver so konfiguriert, dass er zwei Websites bedient.
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://192.168.0.101 ein. Sie sollten Ihre erste Website auf dem folgenden Bildschirm sehen:
Öffnen Sie als Nächstes Ihren Webbrowser und geben Sie die URL http://192.168.0.102 ein. Sie sollten Ihre zweite Website auf dem folgenden Bildschirm sehen:
Portbasiertes virtuelles Hosting
Portbasiertes virtuelles Hosting ist eine Methode, um verschiedene Websites basierend auf der Portnummer zu bedienen. Sie können jeder Website auf einem einzelnen Server mit einer einzelnen IP-Adresse eine separate Portnummer zuweisen.
In diesem Abschnitt verwenden wir die Ports mit den Nummern 8080 und 8081, um zwei Websites auf einem einzigen Server mit der IP-Adresse 192.168.0.101 zu hosten.
Schritt 3 – Apache so konfigurieren, dass er auf Port 8080 und 8081 lauscht
Zuerst müssen Sie den Apache-Webserver so konfigurieren, dass er auf Port 8080 lauscht und 8081 . Sie können dies tun, indem Sie die Datei /etc/apache2/ports.conf bearbeiten :
nano /etc/apache2/ports.conf
Fügen Sie die folgenden Zeilen genau unter der Zeile Listen 80 hinzu :
Höre 8080Höre 8081
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Schritt 4 – Erstellen Sie eine Verzeichnisstruktur
Erstellen Sie zunächst ein Dokumentstammverzeichnis für beide Websites:
mkdir /var/www/html/8080mkdir /var/www/html/8081
Erstellen Sie als Nächstes eine index.html Seite für beide Websites.
Erstellen Sie zuerst eine index.html Seite für die auf Port 8080 gehostete Website :
nano /var/www/html/8080/index.html
Fügen Sie die folgenden Zeilen hinzu:
8080 Willkommen auf der 8080-Website
Dies ist meine erste Website, die mit Port-basiertem virtuellem Hosting gehostet wird
Speichern und schließen Sie die Datei.
Erstellen Sie als Nächstes eine index.html Seite für die auf Port 8081 gehostete Website :
nano /var/www/html/8081/index.htmlFügen Sie die folgenden Zeilen hinzu:
8081 Willkommen auf der 8081-Website
Dies ist meine erste Website, die mit Port-basiertem virtuellem Hosting gehostet wird
Speichern und schließen Sie die Datei.
Ändern Sie als Nächstes den Eigentümer beider Websites in www-data:
chown -R www-data:www-data /var/www/html/8080chown -R www-data:www-data /var/www/html/8081Schritt 5 – Erstellen Sie eine virtuelle Host-Konfigurationsdatei
Als Nächstes müssen Sie eine Konfigurationsdatei für den virtuellen Apache-Host erstellen, um beide Websites zu bedienen.
Erstellen Sie zunächst eine Konfigurationsdatei für den virtuellen Apache-Host für die Website, die auf Port 8080 gehostet wird :
nano /etc/apache2/sites-available/8080.confFügen Sie die folgenden Zeilen hinzu:
ServerAdmin [email protected] 192.168.0.101DocumentRoot /var/www/html/8080DirectoryIndex index.htmlErrorLog ${APACHE_LOG_DIR}/8080_error.logCustomLog ${APACHE_LOG_DIR}/8080_access.log kombiniert Speichern und schließen Sie die Datei.
Erstellen Sie als Nächstes eine Konfigurationsdatei für den virtuellen Apache-Host für die Website, die auf Port 8081 gehostet wird :
nano /etc/apache2/sites-available/8081.confFügen Sie die folgenden Zeilen hinzu:
ServerAdmin [email protected] 192.168.0.101DocumentRoot /var/www/html/8081DirectoryIndex index.htmlErrorLog ${APACHE_LOG_DIR}/8081_error.logCustomLog ${APACHE_LOG_DIR}/8081_access.log kombiniert Speichern und schließen Sie die Datei. Aktivieren Sie dann den virtuellen Host mit dem folgenden Befehl:
a2ensite 8080a2ensite 8081Starten Sie abschließend den Apache-Webserver neu, um die Änderungen zu übernehmen:
systemctl startet Apache2 neuSchritt 6 – Beide Websites testen
An diesem Punkt haben Sie den Apache-Webserver so konfiguriert, dass er zwei Websites bedient.
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://192.168.0.101:8080 ein. Sie sollten Ihre erste Website auf dem folgenden Bildschirm sehen:
Öffnen Sie als Nächstes Ihren Webbrowser und geben Sie die URL http://192.168.0.101:8081 ein. Sie sollten Ihre zweite Website auf dem folgenden Bildschirm sehen:
Schlussfolgerung
Herzliche Glückwünsche! Sie haben zwei Websites auf drei verschiedene Arten erfolgreich auf einem einzigen Server gehostet. Mit der virtuellen Apache-Hosting-Methode können Sie jetzt problemlos mehr Websites hosten. Wenn Sie bereit sind, mit der Konfiguration mehrerer Websites auf einem Apache VPS zu beginnen, sehen Sie sich die VPS-Hosting-Optionen von Atlantic.Net an.