GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Konfigurieren Sie Apache Virtual Hosts auf CentOS 7

Mit dem Apache-Webserver können Sie Webinhalte im Internet bereitstellen. Grundsätzlich können Sie bei Verwendung des Apache-Webservers virtuelle Hosts verwenden, um mehr als eine Domain auf einem einzigen Server zu hosten. Apache zerlegt seine Funktionalität und Komponenten in einzelne Einheiten, sodass Sie diese unabhängig anpassen können. Die Grundeinheit, die eine einzelne Site oder Domäne beschreibt, wird als virtueller Host bezeichnet.

Hier bei LinuxAPT helfen wir unseren Kunden im Rahmen unserer Server Management Services regelmäßig bei der Durchführung verwandter Apache-Abfragen.

In diesem Zusammenhang werden wir untersuchen, wie Apache Virtual Hosts auf einem CentOS 7-Server eingerichtet werden.


Wie erstellt man virtuelle Apache-Hosts auf CentOS?

Bevor Sie mit diesem Verfahren fortfahren, müssen Sie sicherstellen, dass die folgenden Voraussetzungen erfüllt sind:

  • Ein CentOS 7-Server mit einem Nicht-Root-Benutzer mit sudo-Berechtigungen.
  • Apache sollte installiert und konfiguriert sein, wie unter How to Install Apache on CentOS 7 Server erwähnt.
  • Ein Domainname sollte auf Ihre Server-IP-Adresse verweisen.


1. Erstellen Sie die Verzeichnisstruktur

Zunächst erstellen wir ein Verzeichnis, in dem Website-Dateien für eine Domain gespeichert und Besuchern Antworten bereitgestellt werden. Im Allgemeinen heißt es DocumentRoot. Sie können das Dokumentstammverzeichnis auf einen beliebigen Speicherort festlegen, aber es empfiehlt sich, es in der Verzeichnisstruktur festzulegen. Generell in allen /var/www:

/var/www/
 ├── example1.com
 │   └── public_html
 ├── linuxapt.com
 │   └── public_html

Hier müssen wir für jede Domain, die wir auf unserem Server hosten möchten, ein separates Verzeichnis im /var/www-Verzeichnis erstellen:

$ sudo mkdir -p /var/www/example1.com/public_html

Um dies zu testen, erstellen wir eine index.html-Datei im Stammverzeichnis des Domänendokuments. Diese Seite wird standardmäßig angezeigt, wenn Besucher Ihre Website besuchen.

Um eine neue index.html-Datei mit Ihrem bevorzugten Texteditor zu erstellen, führen Sie den folgenden Befehl aus:

$ sudo vi /var/www/example1.com/public_html/index.html

Fügen Sie dann die folgenden Zeilen hinzu:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Welcome!!</title>
  </head>
  <body>
    <h1>Success! example1.com set up completed!</h1>
  </body>
</html>

Da alle Befehle als sudo-Benutzer ausgeführt werden, gehören neu erstellte Dateien und Verzeichnisse dem Root-Benutzer. Wir werden die Eigentümerschaft der Dokumentstammverzeichnisse ändern, um Berechtigungsprobleme für unseren regulären Benutzer zu vermeiden. Daher können normale Benutzer problemlos Dateien in unseren Webverzeichnissen ändern:

$ sudo chown -R apache: /var/www/example1.com


2. Virtuelle Hostdateien erstellen

Es gibt mehrere Möglichkeiten, einen virtuellen Host einzurichten. Sie können für jede Direktive für virtuelle Hosts eine separate Datei erstellen oder alle Direktiven für virtuelle Hosts in einer einzigen Datei hinzufügen. Aus Gründen der Wartbarkeit wird empfohlen, für jede Domain eine separate Datei zu erstellen.

Unter CentOS lädt Apache aufgrund seiner Standardkonfiguration alle .conf-Dateien aus dem Verzeichnis /etc/httpd/conf.d/. Also werden wir jetzt einen separaten virtuellen Host erstellen.

Erstellen Sie nun eine neue Datei mit dem Texteditor Ihrer Wahl, indem Sie Folgendes ausführen:

$ sudo vi /etc/httpd/conf.d/example1.com.conf
<VirtualHost *:80>
    ServerName example1.com
    ServerAlias www.example1.com
    DocumentRoot /var/www/example1.com/public_html
    <Directory /var/www/example1.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>
    ErrorLog /var/log/httpd/example1.com-error.log
    CustomLog /var/log/httpd/example1.com-access.log combined
</VirtualHost>

Beachten Sie Folgendes:

  • ServerName:Dies sollte Ihr Domänenname sein und mit der Konfiguration des virtuellen Hosts übereinstimmen.
  • ServerAlias:Alle anderen Domains oder Subdomains, die ebenfalls zu diesem virtuellen Host passen sollen, normalerweise die www-Subdomain.
  • DocumentRoot:Pfad des virtuellen Hostverzeichnisses, aus dem Apache die Domänendateien bereitstellt.
  • Optionen:Diese Direktive steuert, welche Serverfunktionen in einem bestimmten Verzeichnis verfügbar sind.
  • -Indizes:Verhindert Verzeichniseinträge.
  • FollowSymLinks:Apache folgt den symbolischen Links, wenn diese Option aktiviert ist.
  • AllowOverride:Gibt an, welche Anweisungen in der .htaccess-Datei die Konfigurationsanweisungen überschreiben können.
  • ErrorLog, CustomLog:Gibt den Speicherort für Protokolldateien an.


Hier können Sie Ihrer Konfigurationsdatei beliebige Namen geben, es wird jedoch empfohlen, den Dateinamen mit dem Domänennamen zu verwenden.

Prüfen Sie nun die Syntax nach Typ :

$ sudo apachectl configtest

Sie sehen eine Ausgabe wie diese:

Output
Syntax OK

Sie müssen den Apache2-Dienst neu starten, um neu erstellte virtuelle Hosts zu aktivieren:

$ sudo systemctl restart httpd

Schließlich können Sie dies überprüfen, indem Sie in einem Webbrowser auf Ihre Domain (http://example1.com) zugreifen, und es wird etwa Folgendes angezeigt:

Success! example1.com set up completed!



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

  2. Installieren Sie den Apache-Webserver CentOS 6 / RHEL 6

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

  4. Installieren und konfigurieren Sie Apache Cassandra 4.0 in Centos 8

  5. So konfigurieren Sie OpenSSH unter CentOS 7

So konfigurieren Sie virtuelle Apache-Hosts in Ubuntu 18.04 LTS

Installieren Sie Apache OpenOffice auf CentOS 8

So konfigurieren Sie virtuelle Apache-Hosts unter Rocky Linux

So richten Sie den virtuellen Host Apache unter CentOS 8 ein

So installieren Sie Apache mit virtuellem Host unter CentOS 8

So richten Sie Apache Virtual Hosts unter Ubuntu 18.04 ein