Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| apache:virtuelle-server [2008/03/02 21:20] – angelegt st | apache:virtuelle-server [2014/04/21 02:45] (aktuell) – [Namens-basierte virtuelle Hosts] st | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Virtuelle Webserver mit Apache2 ====== | ||
| + | [[http:// | ||
| + | |gute Übersichtsseite zu virtuellen servern mit Konfigurationsbeispielen]] | ||
| + | ===== Ziel und Zweck von virtuellen Webservern ===== | ||
| + | Man teilt einen physikalischen Server/ | ||
| + | |||
| + | ===== 3 unterschiedliche Möglichkeiten: | ||
| + | |||
| + | ==== IP-basierte virtuelle Hosts ==== | ||
| + | Der Server lauscht unter verschiedenen IPs. Die verschiedenen Ports laufen dann auf andere Verzeichnisse, | ||
| + | |||
| + | |||
| + | |||
| + | ==== Namens-basierte virtuelle Hosts ==== | ||
| + | Namens-basierte virtuelle Server werden am häufigsten verwendet, Apache entscheidet anhand der vom Browser gesendeten HTTP/ | ||
| + | |||
| + | Man kann leicht Subdomains anlegen, z.B. mail.server.de, | ||
| + | |||
| + | :!: [[apache: | ||
| + | |||
| + | Hier eine minimale Konfiguration: | ||
| + | < | ||
| + | Listen 80 | ||
| + | NameVirtualHost * | ||
| + | |||
| + | < | ||
| + | ServerName Domain1.tld | ||
| + | ServerAlias www.Domain1.tld | ||
| + | ... | ||
| + | </ | ||
| + | | ||
| + | < | ||
| + | ServerName Domain2.tld | ||
| + | ServerAlias www.Domain2.tld | ||
| + | ... | ||
| + | </ | ||
| + | </ | ||
| + | ==== Port-basierte virtuelle Hosts ==== | ||
| + | Auf einem Server/ | ||
| + | Die verschiedenen Ports laufen dann auf andere Verzeichnisse. | ||
| + | |||
| + | ===== Konfiguration ===== | ||
| + | ==== Wo kann man das einstellen? ==== | ||
| + | ...in der Apache2-Konfigurationsdatei, | ||
| + | |||
| + | Hier ist z.B. bei Debian und Ubuntu **das Unterzeichnis '' | ||
| + | |||
| + | |||
| + | Es ist eine einfache Textdatei die Direktiven (Anweisungen) enthalten. Diese wird beim starten von Apache eingelesen und ausgewertet. | ||
| + | |||
| + | ==== Wie kann man es einstellen? ==== | ||
| + | Man legt sog. < | ||
| + | |||
| + | Beispiel: | ||
| + | < | ||
| + | < | ||
| + | ServerName www1.mynet.de | ||
| + | ServerAdmin webguy@mynet.de | ||
| + | DocumentRoot / | ||
| + | ErrorLog logs/ | ||
| + | CustomLog logs/ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Es ist ein Ip-Basierter Virtueller Host\\ | ||
| + | '' | ||
| + | '' | ||
| + | **'' | ||
| + | ErrorLog oder CustomLog gibt andere Speicherort für die Logdateien (fehler- und normale Logdatei)\\ | ||
| + | Dann wird der Comtainer wieder mit ''</ | ||
| + | |||
| + | ===== Spezialfall lokaler Testserver ===== | ||
| + | Grundsätzlich wird man entweder für die 127.x.x.x-IPs in die hosts-Datei eintragen (schwer zu merken) oder Subdomänen von localhost anlegen (namensbasiert). | ||
| + | |||
| + | Allerdings bleibt immer der Nachteil alle virtuellen Hosts in die hosts-Datei einzutragen ('' | ||
| + | |||
| + | Eine elegante Lösung: [[http:// | ||
| + | |||
| + | ==== urspüngliche Lösung ==== | ||
| + | wenn man es nicht wie oben machen will, hier der umständlichere Weg: | ||
| + | < | ||
| + | Servername linux.intern | ||
| + | NameVirtualHost *:80 | ||
| + | |||
| + | < | ||
| + | ServerName virtuell1.linux.intern | ||
| + | ServerAdmin webmaster@localhost | ||
| + | DocumentRoot / | ||
| + | |||
| + | ErrorLog / | ||
| + | CustomLog / | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | < | ||
| + | ServerName virtuell2.linux.intern | ||
| + | ServerAdmin webmaster@localhost | ||
| + | DocumentRoot / | ||
| + | |||
| + | ErrorLog / | ||
| + | CustomLog / | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | in der /etc/hosts : | ||
| + | < | ||
| + | 127.0.0.1 linux.intern | ||
| + | 127.0.0.1 virtuell1.linux.intern | ||
| + | 127.0.0.1 virtuell2.linux.intern | ||
| + | </ | ||