Webserver/Lokale Spiegelungen von Webseiten

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche
Hinweis:
Dieser Artikel ist eine Textübertragung aus dem aktuell.de.selfHTML-Bereich. Seine Inhalte sind möglicherweise veraltet.
  • zuerst erschienen: 15.08.2005

Bei häufig genutzten Webseiten ist es eventuell sinnvoll, diese lokal zu spiegeln, um Bandbreite, Übertragungsvolumen und Zeit zu sparen. Unter häufig genutzten Webseiten verstehe ich hier z. B. Dokumentationen wie SELFHTML, quakenet:#php Tutorial oder die PHP-Dokumentation. Solche Dokumentationen ändern sich nicht ständig und sind daher im Gegensatz zu z. B. Newstickern für eine lokale Spiegelung geeignet.

In diesem Artikel wird anhand der Domänen de.selfhtml.org und src.selfhtml.org exemplarisch beschrieben, wie solch eine Spiegelung erstellt werden kann.

Benötigte Software

Man braucht nur einen Webserver, ich verwende Apache Version 2.0.54, die Vorgehensweise ist bei einem Apachen der 1.3er-Generation aber die gleiche. Außerdem benötigt man die Inhalte von src.selfhtml.org (ZIP-Archiv) und SELFHTML. Wie man einen Apachen installiert, beschreibt Christoph Schnauß in seinem Artikel über die Konfigurationsdatei des Apachen ganz hervorragend, deshalb gehe ich hier nicht darauf ein.

Konfiguration des Apachen

Zunächst muss man die heruntergeladen ZIP-Archive in eigene Ordner entpacken. Ich habe dafür /home/alexander/www/self/src und /home/alexander/www/self/html genommen, die Wahl ist aber nicht eingeschränkt.

Beispiel für eine mögliche Konfiguration
NameVirtualHost 127.0.0.2:80 <VirtualHost 127.0.0.2:80> ServerName src.selfhtml.org DocumentRoot "/home/alexander/www/self/src" </VirtualHost> <VirtualHost 127.0.0.2:80> ServerName de.selfhtml.org DocumentRoot "/home/alexander/www/self/html" </VirtualHost>

Erläuterung der Konfiguration

Diese Zeilen müssen der Konfigurations-Datei des Apachen (normalerweise httpd.conf) an deren Ende hinzugefügt werden, um den Server dazu zu veranlassen, bei Anfragen an src.selfhtml.org den Inhalt des Verzeichnisses /src und bei Anfragen an de.selfhtml.org den Inhalt des Verzeichnisses /html auszuliefern.

Die Zeile NameVirtualHost 127.0.0.2:80 sagt dem Apachen, dass er virtuelle Hosts an der IP-Adresse 127.0.0.2 an Port 80 anbieten soll (unter jeder IP des Adress-Bereiches 127.x.x.x (0<x<256) ist normalerweise das eigene System erreichbar). Diese Zeile muss dabei über den <VirtualHost>-Containern stehen, die die Einstellungen für die unterschiedlichen Domänen enthalten. ServerName de.selfhtml.org sorgt dafür, dass dieser Host auch über die Domäne de.selfhtml.org erreicht werden kann, und mit DocumentRoot "<verzeichnis>" gibt man das Verzeichnis an, in das man das ZIP-Archiv entpackt hat. Hierbei ist darauf zu achten, dass hinter dem letzten Verzeichnis-Namen kein Slash stehen darf.

Nachdem man die Konfiguration angepasst hat, muss man den Server mit /pfad/zum/apache2/bin/apachectl restart (bzw. Laufwerk:\pfad\zum\apache2\bin\apache -k restart unter Windows) neu starten, um die Änderungen zu übernehmen.

Anpassung der hosts-Datei
127.0.0.2 src.selfhtml.org 127.0.0.2 de.selfhtml.org

Zuletzt muss man die hosts-Datei anpassen. Sie befindet sich bei Unix-Systemen im Verzeichnis /etc, bei Windows 95/98-Systemen direkt im Windows-Verzeichnis (%windir%, hier meist C:\windows) und bei WindowsNT-Systemen im Unterverzeichnis \system32\drivers\etc\, welches man ebenfalls im Windowsverzeichnis (%windir%, hier meist C:\winnt) findet. In diese Datei muss man lediglich obige Zeilen eintragen, damit das Betriebssystem den Aufruf von http://src.selfhtml.org (bzw. http://de.selfhtml.org) auch tatsächlich an den lokalen Server weiterleitet.

Jetzt sollten Zugriffe auf das Forum und SELFHTML sehr viel schneller ablaufen und man kann eigene Grafiken / CSS-Dateien / Scripts verwenden, wenn einem die vorhandenen nicht zusagen.

Diese Vorgehensweise hat den Nachteil, dass die originale Webseite nicht mehr erreichbar ist und den Vorteil, dass man auch bei Links von fremden Webseiten keinen Traffic verbraucht. Man muss allerdings regelmäßig überprüfen, ob es eine neue Version der gespiegelten Webseite gibt und dazu eventuell die entsprechende Zeile in der hosts-Datei kurzzeitig entfernen oder auskommentieren, damit man wieder die originale Webseite aufrufen kann.

Weiterführende Links

Die folgenden Stellen werden empfohlen, um den Artikel besser zu verstehen und weitere Möglichkeiten und Details zu erfahren.

Weblinks