Grundlegende Konfiguration virtueller Hosts
Richten Sie virtuelle Hosts (oder Server-Blöcke) ein, um mehrere Websites mit unterschiedlichen Domainnamen auf einem einzigen Server zu hosten.
Grundlegende Konfiguration virtueller Hosts ist eine kostenlose Linux Server Deployment & SSH Mastery-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Linux Server Deployment & SSH Mastery-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Linux Server Deployment & SSH Mastery-Kurs umfasst insgesamt 4 Lektionen.
Mehrere Websites hosten
Stellen Sie sich vor, Sie haben einen leistungsstarken Server, möchten aber mehrere verschiedene Websites hosten, jeweils mit einem eigenen Domainnamen (z. B. myshop.com und myblog.com).
Wie kann ein Server dies effizient bewältigen, ohne dass Sie für jede Website einen eigenen Rechner benötigen?
Was sind Virtual Hosts
Hier kommen Virtual Hosts (Apache) beziehungsweise Server-Blöcke (Nginx) ins Spiel!
- Dies sind Konfigurationseinheiten, mit denen ein einzelner Webserver mehrere Domainnamen hosten kann.
- Jede Domain kann ein eigenes Dokumentenstammverzeichnis (in dem ihre Dateien liegen), eigene Protokolle und spezifische Einstellungen haben.
- Das spart Ressourcen und vereinfacht die Serververwaltung.
Apache: Virtual Hosts einrichten
In Apache werden Konfigurationen für Virtual Hosts normalerweise in .conf-Dateien innerhalb bestimmter Verzeichnisse gespeichert:
/etc/apache2/sites-available/: Enthält alle verfügbaren Konfigurationen für Virtual Hosts./etc/apache2/sites-enabled/: Enthält symbolische Links zu den derzeit aktiven Konfigurationen.
Zum Aktivieren verwenden wir Befehle wie a2ensite.
Apache: Einfacher virtueller Host
Hier ist eine einfache Konfiguration für einen virtuellen Apache-Host. Diese Datei würde in sites-available erstellt.
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName myfirstsite.com
ServerAlias www.myfirstsite.com
DocumentRoot /var/www/myfirstsite
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>Apache: Konfigurationsschritte
So richten Sie einen virtuellen Apache-Host für myfirstsite.com ein:
- Erstellen Sie ein Verzeichnis für die Dateien Ihrer Website.
- Erstellen Sie die Konfigurationsdatei für den virtuellen Host.
- Aktivieren Sie die Website und laden Sie Apache neu.
Sehen wir uns die Befehle für die ersten beiden Schritte an:
sudo mkdir -p /var/www/myfirstsite/html
sudo chown -R $USER:$USER /var/www/myfirstsite/html
sudo nano /etc/apache2/sites-available/myfirstsite.confApache: Aktivieren und neu laden
Nachdem Sie Ihre .conf-Datei erstellt und gespeichert haben, verwenden Sie diese Befehle, um sie zu aktivieren und die Änderungen anzuwenden:
sudo a2ensite myfirstsite.conf: Erstellt einen symbolischen Link insites-enabled.sudo apache2ctl configtest: Prüft Ihre Apache-Konfiguration auf Syntaxfehler.sudo systemctl reload apache2: Wendet die neue Konfiguration an, ohne den Server neu zu starten.
sudo a2ensite myfirstsite.conf
sudo apache2ctl configtest
sudo systemctl reload apache2Einrichtung von Serverblöcken in Nginx
Nginx verwendet Serverblöcke, die den virtuellen Hosts von Apache sehr ähnlich sind. Auch sie verwenden eine ähnliche Verzeichnisstruktur:
/etc/nginx/sites-available/: Speichert alle Konfigurationen der Serverblöcke./etc/nginx/sites-enabled/: Enthält symbolische Links zu den aktiven Serverblöcken.
Statt eines Hilfsbefehls erstellen wir die symbolischen Links manuell.
Nginx: Einfacher Serverblock
Hier ist eine grundlegende Konfiguration für einen Nginx-Serverblock für mysecondsite.com. Diese Datei würde in sites-available erstellt.
server {
listen 80;
listen [::]:80;
root /var/www/mysecondsite/html;
index index.html index.htm;
server_name mysecondsite.com www.mysecondsite.com;
location / {
try_files $uri $uri/ =404;
}
}Nginx: Konfigurationsschritte
So richten Sie einen Nginx-Serverblock für mysecondsite.com ein:
- Erstellen Sie ein Verzeichnis für die Dateien Ihrer Website.
- Erstellen Sie die Konfigurationsdatei für den Serverblock.
- Erstellen Sie einen symbolischen Link und laden Sie Nginx neu.
Hier sind die Befehle für die ersten beiden Schritte:
sudo mkdir -p /var/www/mysecondsite/html
sudo chown -R $USER:$USER /var/www/mysecondsite/html
sudo nano /etc/nginx/sites-available/mysecondsiteNginx: Aktivieren und neu laden
Nachdem Sie Ihre Serverblock-Datei erstellt und gespeichert haben, verwenden Sie diese Befehle, um sie zu aktivieren und die Änderungen anzuwenden:
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/: Erstellt den symbolischen Link.sudo nginx -t: Prüft die Nginx-Konfiguration auf Syntaxfehler.sudo systemctl reload nginx: Wendet die neue Konfiguration an, ohne Nginx neu zu starten.
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxÜberprüfung virtueller Hosts
Sie haben gelernt, wie Sie Webserver so konfigurieren, dass sie mehrere Websites hosten. Überprüfen wir nun Ihr Verständnis.
Zusammenfassung: Mehrere Websites, ein Server
Sehr gut! Sie haben die Grundlagen der Konfiguration virtueller Hosts (Apache) und von Serverblöcken (Nginx) gelernt.
- Mit diesen Konfigurationen können Sie mehrere Websites effizient auf einem einzigen Server hosten.
- Sie wissen nun, wie Sie für verschiedene Domainnamen separate Konfigurationen einrichten.
- Dies ist eine grundlegende Fähigkeit für die Administration von Webservern und die Bereitstellung mehrerer Anwendungen.
Häufig gestellte Fragen
Ist die Lektion „Grundlegende Konfiguration virtueller Hosts“ kostenlos?
Ja — der vollständige Text von „Grundlegende Konfiguration virtueller Hosts“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Linux Server Deployment & SSH Mastery-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Linux Server Deployment & SSH Mastery-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Grundlegende Konfiguration virtueller Hosts“?
Richten Sie virtuelle Hosts (oder Server-Blöcke) ein, um mehrere Websites mit unterschiedlichen Domainnamen auf einem einzigen Server zu hosten. Du übst Linux Server Deployment & SSH Mastery mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Linux Server Deployment & SSH Mastery zu starten?
Keine Vorkenntnisse erforderlich. Linux Server Deployment & SSH Mastery auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Grundlegende Konfiguration virtueller Hosts“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Linux Server Deployment & SSH Mastery-Lektion Code schreiben und ausführen?
Ja. Jede Linux Server Deployment & SSH Mastery-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Nginx/Apache installieren
- Statische Websites hosten
- Grundlegende Konfiguration virtueller Hosts
- HTTPS mit Let's Encrypt aktivieren