Apache2 Workshop VirtualHosts: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 19: | Zeile 19: | ||
* IP-based VirtualHosts sind sinnvoll, wenn verschiedene SSL-Zertifikate ohne SNI genutzt werden sollen. | * IP-based VirtualHosts sind sinnvoll, wenn verschiedene SSL-Zertifikate ohne SNI genutzt werden sollen. | ||
| + | =Namedbased Virtual Host== | ||
| − | =/etc/apache2/sites-available/000-default.conf= | + | ==/etc/apache2/sites-available/000-default.conf== |
| − | == Zweck == | + | === Zweck === |
* Diese Datei definiert einen Standard-VirtualHost für HTTP-Anfragen. | * Diese Datei definiert einen Standard-VirtualHost für HTTP-Anfragen. | ||
* Sie wird von Apache verwendet, wenn keine andere Konfiguration passt. | * Sie wird von Apache verwendet, wenn keine andere Konfiguration passt. | ||
| Zeile 29: | Zeile 30: | ||
* Änderungen an dieser Datei erfordern einen Neustart oder Reload von Apache. | * Änderungen an dieser Datei erfordern einen Neustart oder Reload von Apache. | ||
| − | == Inhalt == | + | === Inhalt === |
*cat /etc/apache2/sites-available/000-default.conf | *cat /etc/apache2/sites-available/000-default.conf | ||
| Zeile 53: | Zeile 54: | ||
</VirtualHost> | </VirtualHost> | ||
</pre> | </pre> | ||
| − | =Weitere Domain anlegen= | + | ==Weitere Domain anlegen== |
*Die Konfigurationsdatei sollte man unter '''/etc/apache2/sites-available''' ablegen. | *Die Konfigurationsdatei sollte man unter '''/etc/apache2/sites-available''' ablegen. | ||
*Danach wird sie mit a2ensite '''Dateiname''' aktiviert. | *Danach wird sie mit a2ensite '''Dateiname''' aktiviert. | ||
| − | ==Zuerst erstellen wie ein Verzeichnis und eine Webseite== | + | ===Zuerst erstellen wie ein Verzeichnis und eine Webseite=== |
*mkdir /var/www/html/porty | *mkdir /var/www/html/porty | ||
*cd /var/www/html/porty | *cd /var/www/html/porty | ||
| Zeile 62: | Zeile 63: | ||
*mv porty.html index.html | *mv porty.html index.html | ||
| − | ==Datei== | + | ===Datei=== |
*cat /etc/apache2/sites-available/02-porty.conf | *cat /etc/apache2/sites-available/02-porty.conf | ||
<pre> | <pre> | ||
| Zeile 74: | Zeile 75: | ||
</pre> | </pre> | ||
| − | ==Default Seite deaktiveren== | + | ===Default Seite deaktiveren=== |
*a2dissite 000-default.conf | *a2dissite 000-default.conf | ||
| − | ==Aktivieren der Seite== | + | ===Aktivieren der Seite=== |
*a2ensite 02-porty | *a2ensite 02-porty | ||
| − | ==Test ob alles in Ordnung ist== | + | ===Test ob alles in Ordnung ist=== |
*apachectl configtest | *apachectl configtest | ||
Syntax OK | Syntax OK | ||
| − | ==Apache restart== | + | ===Apache restart=== |
*apachectl restart | *apachectl restart | ||
=Aufgaben= | =Aufgaben= | ||
| Zeile 92: | Zeile 93: | ||
*Konfigure 2 Virtuelle Nameserver | *Konfigure 2 Virtuelle Nameserver | ||
*Aktivere sie. | *Aktivere sie. | ||
| − | =Warum geht das eigentlich?= | + | ==Warum geht das eigentlich?== |
*[[Warum können virtuelle Webserver über den Namen unterschieden werden?]] | *[[Warum können virtuelle Webserver über den Namen unterschieden werden?]] | ||
Version vom 14. März 2025, 18:28 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.
Namedbased Virtual Host=
/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.