Apache2 und Virtuelle Hosts

  • Hallo zusammen
    Heute möchte ich euch zeigen, wie man mit einem Apachen, mehrere Webseiten auf einen Server packen kann.

    Normalerweise haben Root Server nur eine IP Adresse. Mit einem Apachen kann man auf zwei verschiedene Arten Virtuelle Hosts ( Webseiten) erstellen. Eine ist die namensbasierten und einmal die IP basierten Vhosts. Bei der letzten Möglichkeit brauchen wir, für einen Host, eine IP Adresse. Sowas haben wir aber nicht, also doch die Namensbasierten Vhosts. Ich beschreibe das mal für einen Apachen der Version 2:

    Es gibt im Verzeichniss des Apachen, normalerweise dieses Verzeichniss /etc/apache2, noch weitere Verzeichnisse, die nennen sich einmal sites-available und sites-enabled. Diese Verzeichnisse benutzen wir um dem Apachen die Konfiguration der einzelnen Webseiten mitzuteilen. Wir wechseln in das Verzeichniss sites-available und finden dort eine Datei die sich default nennt. Mit dem Befehl:

    cp default neuerName

    erzeugen wir noch eine Kopie dieser Datei in dem Verzeichniss. Die Datei kann heissen wie ihr es wollt, sinnigerweise sollte man einfach den Namen der Webseite nehmen, dann weiss man wo man rumbastelt. Doch nun weiter im Text.
    Nun editieren wir die kopierte Datei, mit unserem Lieblingseditor, ich nehme meine Hassliebe den vi.

    vi neuerName

    und können dort, den Pfad, die Logdatei und einiges andere einstellen ( Am Ende des Beitrags kommt eine Beispieldatei). Speichern nicht vergessen!

    So nun müssen wir dem Apachen, das auch bekannt geben, welche Webseiten wir denn nun haben. Wir erzeugen einen Link. Wechselt dazu in den Ordner sites-enabled und führen den Befehl

    ln -s /etc/apache2/sites-available/neuerName 00x-default

    aus. Das x steht für eine Zahl. Diese "Verknüpfungen" liest der Apache beim Start ein und erzeugt daraus seine VHosts.

    Hier noch eine Bespieldatei mit Anmerkungen von mir:

    So nach einem Neustart des Apachen mit dem Befehl

    apache2 -k restart

    lesen wir die neuen Konfigs ein und haben zwei Webseiten. Die Meldung können wir ignorieren, sie besagt nur, das wir zwei Webseiten auf dem selben Port ( 80) betreiben.

    Etwas wichtiges noch: Die Domains müssen registriert sein und bei eurem Provider im DNS bekannt sein, sonst geht es nicht.

    Viel Spass und
    Gruss Karsten

    Einmal editiert, zuletzt von karsten (9. Juli 2008 um 20:10)