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

So richten Sie virtuelle Apache-Hosts unter CentOS 7 ein

Mit Apache Virtual Hosts können mehrere Websites auf einem Webserver ausgeführt werden. Mit virtuellen Hosts können Sie das Site Document Root (das Verzeichnis, das die Website-Dateien enthält) angeben, eine separate Sicherheitsrichtlinie für jede Site erstellen, verschiedene SSL-Zertifikate für jede Site verwenden und vieles mehr.

In diesem Tutorial geben wir eine Schritt-für-Schritt-Anleitung zum Einrichten von Apache Virtual Hosts auf einem CentOS 7-Server.

Voraussetzungen #

Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen, bevor Sie mit diesem Tutorial fortfahren:

  • Sie haben einen Domainnamen, der auf die IP Ihres öffentlichen Servers verweist. Wir werden example.com verwenden .
  • Sie haben Apache installiert, indem Sie How To Install Apache on CentOS 7 befolgen.
  • Sie sind als Benutzer mit sudo-Berechtigungen angemeldet.

Verzeichnisstruktur erstellen #

DocumentRoot ist das Verzeichnis, in dem die Websitedateien für einen Domainnamen gespeichert und als Antwort auf Anfragen bereitgestellt werden. Sie können den Dokumentenstamm an einem beliebigen Ort festlegen, in diesem Beispiel verwenden wir die folgende Verzeichnisstruktur:

/var/www/
├── example.com
│   └── public_html
├── example-1.com
│   └── public_html
├── example-2.com
│   └── public_html

Wir erstellen ein separates Verzeichnis für jede Domain, die wir auf unserem Server hosten möchten, innerhalb von /var/www Verzeichnis. In jedem dieser Verzeichnisse erstellen wir ein public_html Verzeichnis, in dem die Dateien der Domain-Website gespeichert werden.

Erstellen Sie das Stammverzeichnis für die Domäne example.com mit dem mkdir-Befehl:

sudo mkdir -p /var/www/example.com/public_html

Zu Testzwecken erstellen wir eine index.html Datei im Root-Verzeichnis des Domänendokuments. Öffnen Sie Ihren Editor und erstellen Sie eine HTML-Datei mit folgendem Inhalt:

/var/www/example.com/public_html/index.html
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to example.com</title>
  </head>
  <body>
    <h1>Success! example.com home page!</h1>
  </body>
</html>

Alle Befehle werden als sudo-Benutzer ausgeführt, sodass die neu erstellten Dateien und Verzeichnisse dem Root-Benutzer gehören. Um sicherzustellen, dass es keine Berechtigungsprobleme gibt, ändern Sie den Besitz des Dokumentenstammverzeichnisses der Domäne auf apache Benutzer :

sudo chown -R apache: /var/www/example.com

Virtuelle Hostdatei wird erstellt #

Es gibt verschiedene Möglichkeiten, einen virtuellen Host einzurichten. Sie können entweder alle Direktiven für virtuelle Hosts in einer einzigen Datei hinzufügen oder eine neue Konfigurationsdatei für jede Direktive für virtuelle Hosts erstellen. Ich persönlich bevorzuge den zweiten Ansatz, weil er einfacher wartbar ist.

Standardmäßig ist Apache so konfiguriert, dass alle Konfigurationsdateien geladen werden, die mit .conf enden aus /etc/httpd/conf.d/ Verzeichnis.

Um einen virtuellen Host für eine bestimmte Website zu erstellen, öffnen Sie den Editor Ihrer Wahl und erstellen Sie die folgende grundlegende Konfigurationsdatei für den virtuellen Host:

/etc/httpd/conf.d/example.com.conf
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog /var/log/httpd/example.com-error.log
    CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
  • ServerName :Die Domäne, die dieser Konfiguration des virtuellen Hosts entsprechen sollte. Dies sollte Ihr Domainname sein.
  • ServerAlias :Alle anderen Domains, die ebenfalls zu diesem virtuellen Host passen sollen, wie z. B. www Subdomain.
  • DocumentRoot :Das Verzeichnis, aus dem Apache die Domänendateien bereitstellt.
  • Options :Diese Direktive steuert, welche Serverfunktionen in einem bestimmten Verzeichnis verfügbar sind.
    • -Indexes :Verhindert Verzeichniseinträge.
    • FollowSymLinks :Diese Option weist Ihren Webserver an, den symbolischen Links zu folgen.
  • AllowOverride :Gibt an, welche Direktiven in der .htaccess deklariert sind Datei kann die Konfigurationsanweisungen überschreiben.
  • ErrorLog , CustomLog :Gibt den Speicherort für Protokolldateien an.

Bearbeiten Sie die Datei nach Ihren Wünschen und speichern Sie sie.

Wichtig ist, dass der Name der Konfigurationsdatei auf .conf endet . Sie können die Konfigurationsdatei beliebig benennen, aber am besten verwenden Sie den Domänennamen als Namen für die Konfigurationsdatei des virtuellen Hosts.

Testen Sie die Syntax der Konfigurationsdatei mit:

sudo apachectl configtest

Wenn es keine Fehler gibt, sehen Sie die folgende Ausgabe:

Syntax OK

Um einen neu erstellten virtuellen Host zu aktivieren, starten Sie den Apache-Dienst neu mit:

sudo systemctl restart httpd

Vergewissern Sie sich, dass alles wie erwartet funktioniert, indem Sie http://example.com öffnen :


Cent OS
  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 richten Sie virtuelle Apache-Hosts unter CentOS ein

  4. Konfigurieren Sie Apache Virtual Hosts auf CentOS 7

  5. Richten Sie virtuelle Hosts auf CentOS ein

So richten Sie WebDAV mit Apache unter CentOS 7 ein

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