Apache2 Workshop VirtualHosts: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 2: | Zeile 2: | ||
* Apache unterstützt VirtualHosts, um mehrere Webseiten auf einer Maschine zu hosten. | * Apache unterstützt VirtualHosts, um mehrere Webseiten auf einer Maschine zu hosten. | ||
* Es gibt zwei Arten: ''Named-based'' (mehrere Domains auf einer IP) und ''IP-based'' (jede Seite hat eine eigene IP). | * Es gibt zwei Arten: ''Named-based'' (mehrere Domains auf einer IP) und ''IP-based'' (jede Seite hat eine eigene IP). | ||
| + | * Named-based VirtualHosts sind die Standardmethode, da sie weniger IP-Adressen benötigen. | ||
* Die Konfigurationsdateien für VirtualHosts liegen in ''/etc/apache2/sites-available/''. | * Die Konfigurationsdateien für VirtualHosts liegen in ''/etc/apache2/sites-available/''. | ||
* Aktivierte VirtualHosts werden als Symlink in ''/etc/apache2/sites-enabled/'' hinterlegt. | * Aktivierte VirtualHosts werden als Symlink in ''/etc/apache2/sites-enabled/'' hinterlegt. | ||
* Ein VirtualHost wird mit '''a2ensite meine-seite.conf''' aktiviert. | * Ein VirtualHost wird mit '''a2ensite meine-seite.conf''' aktiviert. | ||
* Ein VirtualHost wird mit '''a2dissite meine-seite.conf''' deaktiviert. | * Ein VirtualHost wird mit '''a2dissite meine-seite.conf''' deaktiviert. | ||
| − | * Nach Änderungen muss Apache neu geladen werden: '''systemctl reload apache2'''. | + | * Nach Änderungen muss Apache neu geladen werden: '''systemctl reload apache2'''. |
| + | * Standardmäßig verarbeitet Apache Anfragen an die erste aktivierte VirtualHost-Datei. | ||
| + | * Falls keine passende Domain gefunden wird, antwortet Apache mit dem ''Default VirtualHost''. | ||
| + | * Um HTTPS für VirtualHosts zu nutzen, muss ein Zertifikat und SNI (Server Name Indication) verwendet werden. | ||
| + | |||
| + | = IP- vs. Name-based VirtualHosts = | ||
| + | * Bei ''IP-based VirtualHosts'' benötigt jede Webseite eine eigene IP-Adresse. | ||
| + | * Diese Methode wird meist in älteren Systemen oder besonderen Netzwerkkonfigurationen genutzt. | ||
| + | * ''Named-based VirtualHosts'' sind flexibler, da mehrere Domains eine einzelne IP teilen können. | ||
| + | * Named-based VirtualHosts funktionieren mit HTTPS dank ''SNI'' (Server Name Indication). | ||
| + | * IP-based VirtualHosts sind sinnvoll, wenn verschiedene SSL-Zertifikate ohne SNI genutzt werden sollen. | ||
| + | |||
| + | |||
=/etc/apache2/sites-available/000-default.conf= | =/etc/apache2/sites-available/000-default.conf= | ||
Version vom 14. März 2025, 18:26 Uhr
Grundlagen
- Apache unterstützt VirtualHosts, um mehrere Webseiten auf einer Maschine zu hosten.
- Es gibt zwei Arten: Named-based (mehrere Domains auf einer IP) und IP-based (jede Seite hat eine eigene IP).
- Named-based VirtualHosts sind die Standardmethode, da sie weniger IP-Adressen benötigen.
- Die Konfigurationsdateien für VirtualHosts liegen in /etc/apache2/sites-available/.
- Aktivierte VirtualHosts werden als Symlink in /etc/apache2/sites-enabled/ hinterlegt.
- Ein VirtualHost wird mit a2ensite meine-seite.conf aktiviert.
- Ein VirtualHost wird mit a2dissite meine-seite.conf deaktiviert.
- Nach Änderungen muss Apache neu geladen werden: systemctl reload apache2.
- Standardmäßig verarbeitet Apache Anfragen an die erste aktivierte VirtualHost-Datei.
- Falls keine passende Domain gefunden wird, antwortet Apache mit dem Default VirtualHost.
- Um HTTPS für VirtualHosts zu nutzen, muss ein Zertifikat und SNI (Server Name Indication) verwendet werden.
IP- vs. Name-based VirtualHosts
- Bei IP-based VirtualHosts benötigt jede Webseite eine eigene IP-Adresse.
- Diese Methode wird meist in älteren Systemen oder besonderen Netzwerkkonfigurationen genutzt.
- Named-based VirtualHosts sind flexibler, da mehrere Domains eine einzelne IP teilen können.
- Named-based VirtualHosts funktionieren mit HTTPS dank SNI (Server Name Indication).
- IP-based VirtualHosts sind sinnvoll, wenn verschiedene SSL-Zertifikate ohne SNI genutzt werden sollen.
/etc/apache2/sites-available/000-default.conf
Zweck
- Diese Datei definiert einen Standard-VirtualHost für HTTP-Anfragen.
- Sie wird von Apache verwendet, wenn keine andere Konfiguration passt.
- Standardmäßig lauscht dieser VirtualHost auf Port 80.
- Die Datei kann als Vorlage für weitere VirtualHosts genutzt werden.
- Änderungen an dieser Datei erfordern einen Neustart oder Reload von Apache.
Inhalt
- cat /etc/apache2/sites-available/000-default.conf
# Standard-VirtualHost für HTTP (Port 80)
<VirtualHost *:80>
# Hauptdomain des VirtualHosts
ServerName www.example.com
# E-Mail-Adresse des Administrators (wird in Fehlerseiten angezeigt)
ServerAdmin webmaster@localhost
# Wurzelverzeichnis der Webseite
DocumentRoot /var/www/html
# Fehlerprotokoll für diesen VirtualHost
ErrorLog ${APACHE_LOG_DIR}/error.log
# Zugriffprotokoll mit vordefiniertem Log-Format
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Weitere Domain anlegen
- Die Konfigurationsdatei sollte man unter /etc/apache2/sites-available ablegen.
- Danach wird sie mit a2ensite Dateiname aktiviert.
Zuerst erstellen wie ein Verzeichnis und eine Webseite
- mkdir /var/www/html/porty
- cd /var/www/html/porty
- wget https://xinux.de/downloads/html/porty.html
- mv porty.html index.html
Datei
- cat /etc/apache2/sites-available/02-porty.conf
<VirtualHost *:80>
ServerName porty.it113.int
ServerAdmin technik@it113.int
DocumentRoot /var/www/html/porty
ErrorLog ${APACHE_LOG_DIR}/porty-error.log
CustomLog ${APACHE_LOG_DIR}/porty-access.log combined
</VirtualHost>
Default Seite deaktiveren
- a2dissite 000-default.conf
Aktivieren der Seite
- a2ensite 02-porty
Test ob alles in Ordnung ist
- apachectl configtest
Syntax OK
Apache restart
- apachectl restart
Aufgaben
- Lege im Nameser 2 Weitere Domains an.
- kalle.it1XX.int und babsi.it1XX.in
- Lege wie oben Unterverzeichnisse an
- Erstelle je eine index.html deine Wahl
- Konfigure 2 Virtuelle Nameserver
- Aktivere sie.