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

So richten Sie virtuelle Apache-Hosts unter Debian 9 ein

In diesem Tutorial führen wir Sie durch die Einrichtung von Apache Virtual Hosts unter Debian 9.

Mit Apache Virtual Hosts können Sie mehr als eine Domain auf einem einzigen Computer hosten. Wenn Sie virtuelle Hosts verwenden, können Sie für jede Domain oder Subdomain ein anderes Document Root (das Verzeichnis, das die Website-Dateien enthält) angeben, eine separate Sicherheitsrichtlinie erstellen, unterschiedliche SSL-Zertifikate verwenden und vieles mehr.

Obwohl dieses Tutorial für Debian 9 geschrieben wurde, gelten die gleichen Schritte für alle Debian-basierten Distributionen.

Voraussetzungen #

Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit diesem Lernprogramm fortfahren:

  • Haben Sie einen Domänennamen, der auf Ihre Server-IP-Adresse verweist. In diesem Tutorial verwenden wir example.com .
  • Lass Apache auf deinem Debian-Server installieren.
  • Als Benutzer mit sudo-Berechtigungen angemeldet.

Erstellen Sie die Verzeichnisstruktur #

Das Dokumentenstammverzeichnis ist ein Verzeichnis, in dem die Website-Dateien für einen Domänennamen gespeichert und als Antwort auf Anfragen bereitgestellt werden. Sie können den Dokumentenstamm an einem beliebigen Ort festlegen. In diesem Handbuch verwenden wir die folgende Verzeichnisstruktur:

/var/www/
├── domain1.com
│   └── public_html
├── domain2.com
│   └── public_html
├── domain3.com
│   └── public_html

Jede Domain, die auf unserem Server gehostet wird, hat ihren Dokumentenstammsatz auf /var/www/<domain_name>/public_html .

Beginnen wir mit der Erstellung des Dokumentenstammverzeichnisses für unsere erste Domain, example.com :

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

Außerdem erstellen wir eine index.html Datei im Root-Verzeichnis der Domain-Dokumente, die angezeigt wird, wenn Sie die Domain in Ihrem Browser besuchen.

Öffnen Sie Ihren bevorzugten Texteditor, erstellen Sie eine neue Datei und fügen Sie Folgendes ein:

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

Wir führen die Befehle als sudo-Benutzer aus und die neu erstellten Dateien und Verzeichnisse gehören dem Root-Benutzer.

Um Berechtigungsprobleme zu vermeiden, ändern wir den Besitz des Domain-Dokumentstammverzeichnisses und aller Dateien in diesem Verzeichnis auf den Apache-Benutzer (www-data ) :

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

Erstellen Sie einen virtuellen Host #

Auf Debian-Systemen befinden sich die Konfigurationsdateien von Apache Virtual Hosts in /etc/apache2/sites-available Verzeichnis und kann aktiviert werden, indem symbolische Links zu /etc/apache2/sites-enabled erstellt werden Verzeichnis.

Öffnen Sie den Texteditor Ihrer Wahl und erstellen Sie die folgende grundlegende Konfigurationsdatei für den virtuellen Host:

/etc/apache2/sites-available/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 ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/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 oder Subdomains, die ebenfalls zu diesem virtuellen Host passen sollen, normalerweise 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 :Wenn diese Option aktiviert ist, folgt Apache den symbolischen Links.
  • AllowOverride :Gibt an, welche Direktiven in der .htaccess deklariert sind Datei kann die Konfigurationsanweisungen überschreiben.
  • ErrorLog , CustomLog :Gibt den Speicherort für Protokolldateien an.

Sie können die Konfigurationsdatei des virtuellen Hosts beliebig benennen, es wird jedoch empfohlen, den Domänennamen als Namen der Konfigurationsdatei zu verwenden.

Um die neue virtuelle Hostdatei zu aktivieren, erstellen Sie einen symbolischen Link von der virtuellen Hostdatei zu sites-enabled Verzeichnis, das von Apache während des Starts gelesen wird.

In Debian-Systemen können Sie den virtuellen Host aktivieren, indem Sie ein Hilfsskript namens a2ensite verwenden :

sudo a2ensite example.com

Die andere Möglichkeit besteht darin, einen symbolischen Link wie unten gezeigt manuell zu erstellen:

sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/

Sobald die Konfiguration aktiviert ist, testen Sie, ob die Syntax korrekt ist, indem Sie Folgendes eingeben:

sudo apachectl configtest

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

Syntax OK

Starten Sie apache2 neu Service, damit die Änderungen wirksam werden:

sudo systemctl restart apache2

Um zu überprüfen, ob alles wie erwartet funktioniert, öffnen Sie http://example.com in Ihrem bevorzugten Browser, und Sie sehen etwa Folgendes:


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

  2. So richten Sie eine virtuelle Python-Umgebung unter Debian 10 Buster ein

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

  4. So richten Sie virtuelle Apache-Hosts unter CentOS ein

  5. Festlegen einer statischen IP auf Debian 11 - Wie geht das?

So legen Sie eine statische IP unter Debian 11 fest

So richten Sie den virtuellen Host Apache unter Debian 10 ein

So installieren Sie Apache Server und richten virtuelle Hosts unter Ubuntu 22.04 ein

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