| ## Web-Server lokal auf einem PC einrichten
| Der eigene Web-Server Geeignete Produkte Grundeinstellungen für den lokalen Betrieb

## Der eigene Web-Server

Viele PC-Anwender mit Internet-Zugang verbinden mit dem Begriff "Web-Server" eine Art Großrechner, auf dem die Daten liegen, die im Internet zu sehen sind. igentlich ist ein Web-Server jedoch eine gar nicht besonders große Software, die im Prinzip auf jedem Rechner laufen kann, also nicht nur auf Server-Rechnern im Internet, sondern auch auf jedem PC. Es ist nicht mal eine Internet-Verbindung erforderlich, um einen Web-Server zu betreiben. Es müssen lediglich TCP/IP-Sockets unterstützt werden (unter MS Windows zum Beispiel ist die Datei winsock.dll dafür zuständig). Wenn Sie also einen funktionierenden Internet-Zugang haben (und TCP/IP-Sockets somit unterstützt werden), sind bereits alle Voraussetzungen erfüllt, um einen Web-Server offline und ohne Verbindungskosten zu betreiben. Web-Browser und Web-Server laufen dann auf dem gleichen Rechner, können aber so miteinander kommunizieren, wie es bei Online-Verbindungen ins Internet üblich ist.

Einen eigenen Web-Server sollten Sie sich im hier behandelten Zusammenhang deshalb installieren, um lokal auf Ihrem PC eine CGI-Schnittstelle zu haben. Denn CGI funktioniert nur, wenn ein Web-Server vorhanden ist. Vieles, was im WWW mit CGI möglich ist, können Sie dann auch lokal auf Ihrem PC realisieren. So können Sie eigene CGI-Scripts während der Erstellungsphase in Ruhe und ohne Online-Kosten austesten. Sie können dann genauso arbeiten, wie Sie es von HTML-Dateien oder JavaScripts her gewohnt sind. Außerdem bekommen Sie eher ein Gefühl für die Zusammenhänge zwischen Web-Browser und Web-Server.

Auch wenn Sie selber Provider sind, eine Standverbindung ins Internet haben und einen öffentlichen Web-Server betreiben, ist es sinnvoll, auf einem separaten Arbeitsrechner einen lokalen Web-Server einzurichten. So belasten Sie den öffentlichen Rechner nicht, während Sie CGI-Scripts erstellen und austesten.

Ein lokal installierter Web-Server beeinträchtigt Ihren vorhandenen Internet-Zugang nicht. Er benutzt lediglich das TCP/IP-Protokoll Ihres Rechners (z.B. die winsock.dll). Einstellungen, die für Ihre Online-Verbindung ins Internet wichtig sind, interessieren den Web-Server nicht und können unverändert bleiben.

Ein installierter Web-Server ist bei bestehender Internet-Verbindung über das Web erreichbar, sofern Sie den PC nicht in einem geschützten lokalen Netz betreiben oder mit zusätzlicher Schutz-Software (Firewall-Software) ausgestattet haben. Denn bei jeder Verbindung ins Internet sind sie mit einer eindeutigen IP-Adresse angemeldet. Entweder haben Sie von Ihrem Provider eine feste IP-Adresse erhalten, oder die IP-Adresse wird bei der Einwahl ins Internet dynamisch vom Einwahl-Server vergeben. Unter MS Windows können Sie bei bestehender Internet-Verbindung im Windows-Verzeichnis das Programm winipcfg.exe aufrufen, um die eigene IP-Adresse zu sehen. Angenommen, Sie sind mit der IP-Adresse 145.233.101.211 angemeldet, dann ist Ihr lokales Web bei laufendem Web-Server über das Internet unter der Adresse http://145.233.101.211/ erreichbar. Diese Adresse muss ein fremder Benutzer natürlich erst mal kennen. Aber wenn er sie kennt oder herausfindet, kann er auf Ihrem PC in dem Verzeichnisbereich, der durch den Web-Server festgelegt ist, "surfen". Das kann Vor- und Nachteile haben. Einerseits können Sie auf diese Weise anderen Personen Ihre Webseiten zeigen, ohne diese auf einen öffentlichen Rechner hochzuladen. Andererseits könnte ein ungebetener Besucher versuchen, auf Ihrem PC herumzuspionieren.

## Geeignete Produkte

Erfreulicherweise gibt es im Internet verschiedene Web-Server zum Downloaden, die Freeware oder Shareware sind, d.h. diese Produkte kosten nichts oder erfordern erst nach einer kostenlosen Testphase eine geringe Registriergebühr. Zum lokalen Einsatz sind solche Produkte völlig ausreichend. Der im Internet am meisten verbreitete Web-Server Apache ist mittlerweile auch für typische PC-Betriebssysteme wie MS Windows verfügbar. Angesichts der Tatsache, dass dieses Produkt mittlerweile auf der Mehrzahl der Server im Internet seinen Dienst tut, ist er wohl das empfehlenswerteste Produkt.

Im Linkverzeichnis des Online-Angebots von SELFHTML aktuell finden Sie eine Produktübersicht mit Links zu den Anbietern:

SELFHTML Linkverzeichnis: Server-Software

Auf den Anbieterseiten können Sie die Produkte in der Regel downloaden.

## Grundeinstellungen für den lokalen Betrieb

Ein Web-Server ist kein Programm mit "Arbeitsoberfläche". Durch den Aufruf der ausführbaren Programmdatei starten Sie einfach den Server-Betrieb. Ihr Web-Browser ist dann in der Lage, mit diesem Server auf Ihrem Rechner zu kommunizieren, genau so, wie der Browser mit jedem öffentlichen Web-Server kommunizieren kann. Bevor das richtig funktioniert, müssen Sie den Web-Server jedoch einrichten, d.h. wichtige Grundeinstellungen vornehmen.

Einige Web-Server können Sie nach dem Starten dialoggesteuert einrichten (z.B. OmniHTTPd für Windows oder Quid Pro Quo für Macintosh), bei anderen Produkten richten Sie den Web-Server vor dem ersten Starten durch Editieren von Konfigurationsdateien ein (z.B. beim Apache in der Datei httpd.conf im Programmunterverzeichnis conf). Einige Produkte laufen unter MS Windows in einem DOS-Fenster (z.B. Apache). Suchen Sie im Zweifelsfall nach der Installation des Web-Servers in dessen Programmverzeichnis nach Hilfedateien. Dort sollte dokumentiert sein, wie Sie Ihren Web-Server einrichten können. Alle Einstellungen bleiben auf jeden Fall gespeichert. Wenn Ihr Web-Server also erst mal funktioniert, brauchen Sie ihn nur noch durch Starten und Beenden der Programmdatei ein- und auszuschalten.

Folgende wichtige Daten müssen Sie nach Wunsch bzw. korrekt einstellen:

- IP-Adresse und Hostnamen des Servers
  Für den lokalen Betrieb müssen Sie hier normalerweise die reservierte IP-Adresse `127.0.0.1` oder den reservierten Hostnamen `localhost` eintragen. Wenn die Angaben nicht funktionieren, versuchen Sie, in den Hilfedateien Informationen zu finden, oder setzen Sie sich mit dem Produktanbieter des Web-Servers über dessen Homepage (nach E-Mail-Adresse suchen!) in Verbindung. Wenn die Angaben funktionieren, können Sie im Web-Browser nach Einschalten des Web-Servers lokal gespeicherte HTML-Dateien über die Internet-Adressen http://127.0.0.1/ oder http://localhost/ aufrufen.
- Port des Servers
  Dabei ist normalerweise `80` einzutragen. Ports sind Nummern für TCP/IP-Dienste auf dem betreffenden Rechner. Für häufig genutzte Dienste sind so genannte Well Known Ports festgelegt. Das heißt, diese Portnummern werden von Clients wie Web-Browsern oder FTP-Programmen standardmäßig verwendet, sofern nicht explizit anders angegeben. Für den Dienst FTP sind beispielsweise 20 und 21 die übliche Portnummern, für den HTTP-Dienst ist es 80. Lesen Sie jedoch sicherheitshalber in der Dokumentation des Web-Servers nach, welche Nummer Sie hier eintragen sollten.
- HTTP-Wurzelverzeichnis für HTML-Dateien (document root)
  Dabei geben Sie entsprechend der Syntax Ihres Betriebssystems den Pfadnamen an, unterhalb dessen sich Ihre lokalen HTML-Dateien befinden. Wenn Sie MS Windows benutzen, könnten Sie hier z.B. `c:\www\daten` eingeben - je nachdem, wohin Sie Ihre lokale HTML-Einstiegsdatei abgelegt haben. Wenn Sie in diesem Verzeichnis beispielsweise eine Datei myhome.htm haben, können Sie diese Datei bei eingeschaltetem Web-Server mit Ihrem Web-Browser via HTTP-Protokoll über http://127.0.0.1/myhome.htm bzw. http://localhost/myhome.htm aufrufen.
- Default-HTML-Dateiname für Verzeichnisse
  Die häufigsten Namen dafür sind `index.html` oder `index.htm`. Wenn es eine HTML-Datei mit dem entsprechenden Namen in einem Verzeichnis gibt, genügt als URI beispielsweise http://127.0.0.1/verzeichnis/, wobei dann automatisch http://127.0.0.1/verzeichnis/index.html aufgerufen wird.
- Physisches und virtuelles Verzeichnis für CGI-Scripts
  Als physisches Verzeichnis geben Sie entsprechend der Syntax Ihres Betriebssystems den Pfadnamen des Verzeichnisses an, in dem Sie ausführbare CGI-Scripts ablegen wollen. Der übliche Verzeichnisname dafür ist cgi-bin. Wenn Sie beispielsweise MS Windows benutzen, könnten Sie hier z.B. `c:\www\cgi-bin` eingeben - je nachdem, wohin Sie die CGI-Scripts ablegen wollen. Das betreffende Verzeichnis müssen Sie erstellen. Außerdem müssen Sie bei den meisten Web-Servern ein virtuelles CGI-Verzeichnis angeben. Tragen Sie dabei am besten `/cgi-bin` ein. Wenn Sie dann beispielsweise ein Perl-Script namens guestbook.pl in im Verzeichnis c:\www\cgi-bin ablegen, können Sie es mit http://127.0.0.1/cgi-bin/guestbook.pl bzw. http://localhost/cgi-bin/guestbook.pl ausführen.
- Perl-Interpreter und andere Interpreter
  Um Perl-Scripts als CGI-Scripts ausführen zu können, müssen Sie den vollständigen Pfadnamen der ausführbaren Perl-Interpreter-Datei angeben. Unter MS-Windows müssen Sie beispielsweise `c:\programme\perl\bin\perl.exe` eingeben, je nachdem, wo sich die ausführbare Programmdatei befindet. Dazu müssen Sie Perl bzw. den Perl-Interpreter installieren.
- Log-Dateien
  Die meisten Web-Server führen "Logbücher" über alle HTTP-Zugriffe auf Dateien oder CGI-Programme. Das sind die standardisierten Log-Dateien. Es gibt drei wichtige Log-Dateien: eine für die Protokollierung der Zugriffe (access.log), eine für die Protokollierung der Herkunftsadressen (referrer.log) und eine für Fehlerprotokollierung (error.log). Tragen Sie am besten diese typischen Namen ein. Diese Dateien können Sie übrigens jederzeit mit einem Dateibetrachter oder Texteditor einsehen.
- Timeouts
  Es gibt zeitliche Grenzwerte dafür, wie lange der Web-Browser auf eine Antwort vom Server warten soll, und wie lange der Server versuchen soll, Daten an den Web-Browser zu schicken. Die Angaben erfolgen in der Regel in Form von Sekunden. Tragen Sie z.B. für Senden und Empfangen `60` (= eine Minute) ein.
- Mime-Typen
  Mime-Typen legen in diesem Zusammenhang die Dateiformate fest, die der Web-Server kennt und bereit ist, an den aufrufenden Web-Browser zu übertragen. Andere Dateitypen als die hier angegebenen sendet der Server nicht mit dem korrekten Mime-Type, bzw. mit dem eingestellten Standard-Mime-Type (`text/plain` beispielsweise). Normalerweise sind bereits alle wichtigen Dateitypen vorkonfiguriert. Um einen bestimmten Dateityp (z.B. Excel-Dateien) hinzuzufügen, müssen Sie einen Mime-Type-Namen (z.B `application/ms-excel`) und eine typische Dateinamenendung (z.B. `.xls`) angeben. Dann ist der Server bereit, auch solche Dateien mit dem richtigen Mime-Type an den Web-Browser zu übertragen. Der Browser muss natürlich wissen, was er mit dem betreffenden Dateityp tun soll (siehe hierzu den Abschnitt Verweise auf beliebige Dateien im Internet.

Es gibt weitere Einstellmöglichkeiten. Wenn Sie die oben genannten Einstellungen korrekt vorgenommen haben, sollte Ihr Web-Server für den lokalen Betrieb jedoch betriebsbereit sein.

| Perl lokal auf einem PC einrichten
| CGI und HTML

© 2001 selfhtml@teamone.de