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

Hosten Sie mehrere Websites auf einem einzigen Server mit Apache unter Ubuntu 18.04

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:

  1. Namensbasiertes virtuelles Hosting.
  2. IP-basiertes virtuelles Hosting.
  3. 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.html

Fü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/8081

Schritt 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.conf

Fü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.conf

Fü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 8081

Starten Sie abschließend den Apache-Webserver neu, um die Änderungen zu übernehmen:

systemctl startet Apache2 neu

Schritt 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.


Linux
  1. So konfigurieren Sie mehrere Websites mit dem Apache-Webserver

  2. Hosten Sie mehrere Websites in Docker-Containern

  3. So richten Sie eine Subdomain ein oder hosten mehrere Domains mit nginx auf einem Linux-Server

  4. Installieren Sie phpMyAdmin auf Ubuntu 20.04 mit Apache

  5. mehrere Websites auf Nginx &Sites verfügbar

So installieren Sie FileRun unter Ubuntu 20.04 mit Apache/Nginx

Installieren Sie Roundcube Webmail auf Ubuntu 18.04 mit Apache/Nginx

So installieren Sie Drupal auf einem Ubuntu 20.04-Server mit Apache

Hosten Sie mehrere Websites mit unterschiedlichen PHP-Versionen auf Ubuntu 18.04 VPS

So installieren und konfigurieren Sie ModEvasive mit Apache unter Ubuntu 18.04

So richten Sie die Passwortauthentifizierung mit Apache unter Ubuntu 18.04 ein