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

So konfigurieren Sie virtuelle Apache-Hosts in Ubuntu 18.04 LTS

Was sind Apache Virtual Hosts?

Virtueller Host Der Begriff bezieht sich auf die Methode, mehr als eine Website wie host1.domain.com, host2.domain.com oder www.domain1.com, www.domain2.com usw. auf einem einzigen System zu betreiben. Es gibt zwei Arten von virtuellem Hosting in Apache, nämlich IP-basiert virtuelles Hosting und namensbasiert virtuelles Hosting. Mit IP-basiertem virtuellem Hosting können Sie mehrere Websites oder Domains auf demselben System hosten, aber jede Website/Domain hat eine andere IP-Adresse. Mit namensbasiertem virtuellem Hosting können Sie mehrere Websites/Domains unter derselben IP-Adresse hosten. Virtuelles Hosting kann nützlich sein, wenn Sie mehrere Websites und Domains von einem einzigen physischen Server oder VPS aus hosten möchten. Ich hoffe, Sie haben die Grundidee der virtuellen Apache-Hosts verstanden. Heute werden wir sehen, wie man virtuelle Apache-Hosts in Ubuntu 18.04 LTS konfiguriert.

Herunterladen - Kostenloses eBook:"Apache HTTP Server Cookbook"

Konfigurieren Sie virtuelle Apache-Hosts in Ubuntu 18.04 LTS

Die IP-Adresse meiner Testbox lautet 192.168.225.22 und der Hostname ist ubuntuserver .

Zuerst werden wir sehen, wie namensbasierte virtuelle Hosts im Apache-Webserver konfiguriert werden.

Namensbasierte virtuelle Hosts konfigurieren

1. Installieren Sie den Apache-Webserver 

Stellen Sie sicher, dass Sie den Apache-Webserver installiert haben. Um es unter Ubuntu zu installieren, führen Sie Folgendes aus:

$ sudo apt-get install apache2

Sobald Apache installiert ist, testen Sie, ob es funktioniert oder nicht, indem Sie die Apache-Testseite im Browser durchsuchen.

Öffnen Sie Ihren Webbrowser und verweisen Sie auf http://IP_Address oder http://localhost . Sie sollten eine Seite wie unten sehen.

Gut! Der Apache-Webserver ist hochgefahren und funktioniert!!

2. Webverzeichnis für jeden Host erstellen

Ich werde zwei virtuelle Hosts erstellen, nämlich ostechnix1.lan und ostechnix2.lan .

Lassen Sie uns ein Verzeichnis für den ersten virtuellen Host ostechnix1.lan erstellen. Dieses Verzeichnis wird zum Speichern der Daten unserer virtuellen Hosts benötigt.

Geben Sie dazu ein:

$ sudo mkdir -p /var/www/html/ostechnix1.lan/public_html

Erstellen Sie ebenso ein Verzeichnis für den zweiten virtuellen Host ostechnix2.lan, wie unten gezeigt.

$ sudo mkdir -p /var/www/html/ostechnix2.lan/public_html

Die beiden oben genannten Verzeichnisse gehören dem Root-Benutzer. Wir müssen den Besitz auf den regulären Benutzer ändern.

Führen Sie dazu Folgendes aus:

$ sudo chown -R $USER:$USER /var/www/html/ostechnix1.lan/public_html
$ sudo chown -R $USER:$USER /var/www/html/ostechnix2.lan/public_html

Hier, $USER bezieht sich auf den aktuell angemeldeten Benutzer.

Legen Sie als Nächstes Leseberechtigungen für das Apache-Stammverzeichnis fest, z. B. /var/www/html/, indem Sie den Befehl verwenden:

$ sudo chmod -R 755 /var/www/html/

Wir tun dies, weil wir bereits für jeden virtuellen Host ein separates Verzeichnis zum Speichern seiner Daten erstellt haben. Also haben wir das Apache-Root-Verzeichnis für alle Benutzer außer dem Root-Benutzer schreibgeschützt gemacht.

Wir haben die erforderlichen Verzeichnisse zum Speichern von Daten jedes virtuellen Hosts erstellt und die richtigen Berechtigungen eingerichtet. Jetzt ist es an der Zeit, einige Beispielseiten zu erstellen, die von jedem virtuellen Host bereitgestellt werden.

3. Demo-Webseiten für jeden Host erstellen

Lassen Sie uns eine Beispielseite für die Website ostechnix1.lan erstellen. Führen Sie dazu Folgendes aus:

$ sudo vi /var/www/html/ostechnix1.lan/public_html/index.html

Fügen Sie darin die folgenden Zeilen hinzu:

<html>
 <head>
 <title>www.ostechnix.lan</title>
 </head>
 <body>
 <h1>Hello, This is a test page for ostechnix1.lan website</h1>
 </body>
</html>

Speichern und schließen Sie die Datei.

Erstellen Sie auf ähnliche Weise eine Beispielseite für die Website ostechnix2.lan:

$ sudo vi /var/www/html/ostechnix2.lan/public_html/index.html

Fügen Sie darin die folgenden Zeilen hinzu:

<html>
 <head>
 <title>www.ostechnix.lan</title>
 </head>
 <body>
 <h1>Hello, This is a test page for ostechnix2.lan website</h1>
 </body>
</html>

Speichern und schließen Sie die Datei.

4. Konfigurationsdatei für jeden Host erstellen

Als nächstes müssen wir Konfigurationsdateien für jeden virtuellen Host erstellen. Lassen Sie uns dies zunächst für die Website ostechnix1.lan tun.

Kopieren Sie die standardmäßige virtuelle Hostdatei namens 000-default.conf Inhalte in die neuen virtuellen Hostdateien wie unten.

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/ostechnix1.lan.conf
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/ostechnix2.lan.conf

Bitte beachten Sie, dass Sie alle Konfigurationsdateien mit .conf speichern müssen Erweiterung am Ende, sonst funktioniert es nicht.

Ändern Sie nun die Konfigurationsdateien so, dass sie mit unseren virtuellen Hosts übereinstimmen.

Bearbeiten Sie ostechnix.lan1.conf Datei:

$ sudo vi /etc/apache2/sites-available/ostechnix1.lan.conf

Bearbeiten/ändern Sie die ServerAdmin-, ServerName-, ServerAlias- und DocumentRoot-Werte, die mit dem virtuellen Host übereinstimmen.

<VirtualHost *:80>
 # The ServerName directive sets the request scheme, hostname and port that
 # the server uses to identify itself. This is used when creating
 # redirection URLs. In the context of virtual hosts, the ServerName
 # specifies what hostname must appear in the request's Host: header to
 # match this virtual host. For the default virtual host (this file) this
 # value is not decisive as it is used as a last resort host regardless.
 # However, you must set it for any further virtual host explicitly.
 #ServerName www.example.com

   ServerAdmin [email protected]
   ServerName ostechnix1.lan
   ServerAlias www.ostechnix1.lan
   DocumentRoot /var/www/html/ostechnix1.lan/public_html

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
 # error, crit, alert, emerg.
 # It is also possible to configure the loglevel for particular
 # modules, e.g.
 #LogLevel info ssl:warn

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

# For most configuration files from conf-available/, which are
 # enabled or disabled at a global level, it is possible to
 # include a line for only one particular virtual host. For example the
 # following line enables the CGI configuration for this host only
 # after it has been globally disabled with "a2disconf".
 #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Speichern und schließen Sie die Datei.

Als nächstes bearbeiten Sie ostechnix2.lan.conf Datei:

$ sudo vi /etc/apache2/sites-available/ostechnix2.lan.conf

Nehmen Sie die erforderlichen Änderungen vor.

<VirtualHost *:80>
 # The ServerName directive sets the request scheme, hostname and port that
 # the server uses to identify itself. This is used when creating
 # redirection URLs. In the context of virtual hosts, the ServerName
 # specifies what hostname must appear in the request's Host: header to
 # match this virtual host. For the default virtual host (this file) this
 # value is not decisive as it is used as a last resort host regardless.
 # However, you must set it for any further virtual host explicitly.
 #ServerName www.example.com

    ServerAdmin [email protected]
    ServerName ostechnix2.lan
    ServerAlias www.ostechnix2.lan
    DocumentRoot /var/www/html/ostechnix2.lan/public_html

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
 # error, crit, alert, emerg.
 # It is also possible to configure the loglevel for particular
 # modules, e.g.
 #LogLevel info ssl:warn

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

# For most configuration files from conf-available/, which are
 # enabled or disabled at a global level, it is possible to
 # include a line for only one particular virtual host. For example the
 # following line enables the CGI configuration for this host only
 # after it has been globally disabled with "a2disconf".
 #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Datei speichern/schließen.

5. Konfigurationsdateien für virtuelle Hosts aktivieren

Nachdem Sie die erforderlichen Änderungen vorgenommen haben, deaktivieren Sie die standardmäßige Konfigurationsdatei des virtuellen Hosts, d. h. 000.default.conf , und aktivieren Sie alle neu erstellten Konfigurationsdateien für virtuelle Hosts wie unten gezeigt.

$ sudo a2dissite 000-default.conf
$ sudo a2ensite ostechnix1.lan.conf
$ sudo a2ensite ostechnix2.lan.conf

Starten Sie den Apache-Webserver neu, um die Änderungen zu übernehmen.

$ sudo systemctl restart apache2

Das ist es. Wir haben erfolgreich virtuelle Hosts in Apache konfiguriert. Lassen Sie uns weitermachen und prüfen, ob sie funktionieren oder nicht.

6. Virtuelle Hosts testen

Öffnen Sie die /etc/hosts-Datei in einem beliebigen Editor:

$ sudo vi /etc/hosts

Fügen Sie alle Ihre virtuellen Websites/Domains nacheinander wie unten beschrieben hinzu.

[...]
192.168.225.22   ostechnix1.lan
192.168.225.22   ostechnix2.lan
[...]

Bitte beachten Sie, dass Sie, wenn Sie von entfernten Systemen auf die virtuellen Hosts zugreifen möchten, die obigen Zeilen in die Datei /etc/hosts jedes entfernten Systems einfügen müssen.

Speichern und schließen Sie die Datei.

Öffnen Sie Ihren Webbrowser und zeigen Sie ihn auf http://ostechnix1.lan oder http://ostechnix2.lan .

ostechnix1.lan Testseite:

ostechnix2.lan Testseite:

Herzliche Glückwünsche! Sie können jetzt auf alle Ihre Websites zugreifen. Von nun an können Sie die Daten hochladen und von verschiedenen Websites aus bedienen.

Wie Sie bemerkt haben, haben wir dieselbe IP-Adresse (z. B. 192.168.225.22) zum Hosten von zwei verschiedenen Websites (http://ostechnix1.lan und http://ostechnix2.lan) verwendet. Das nennen wir namensbasiertes virtuelles Hosting. Hoffe das hilft. Ich werde Ihnen in der nächsten Anleitung zeigen, wie Sie IP-basiertes virtuelles Hosting konfigurieren. Bleiben Sie bis dahin dran!


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

  2. So richten Sie virtuelle Apache-Hosts unter Ubuntu 20.04 ein

  3. So installieren Sie Apache Cordova unter Ubuntu 18.04 LTS

  4. Apache Virtual Hosts auf Ubuntu 18.04 konfigurieren – Schritt-für-Schritt-Prozess?

  5. So konfigurieren Sie den virtuellen Apache-Host auf Ubuntu

So konfigurieren Sie die IP-Adresse in Ubuntu 18.04 LTS

So konfigurieren Sie virtuelle Apache-Hosts unter Rocky Linux

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 Ubuntu 18.04 ein

So richten Sie virtuelle Apache-Hosts unter Ubuntu 20.04 ein