Apache2 Workshop VirtualHosts: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 86: | Zeile 86: | ||
===Apache restart=== | ===Apache restart=== | ||
*apachectl restart | *apachectl restart | ||
| − | =Aufgaben= | + | ==Aufgaben== |
*Lege im Nameser 2 Weitere Domains an. | *Lege im Nameser 2 Weitere Domains an. | ||
*kalle.it1XX.int und babsi.it1XX.in | *kalle.it1XX.int und babsi.it1XX.in | ||
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.