Apache konfigurieren

Hinweis: Dieser Beitrag bezieht sich auf ältere Apache-Versionen. In neueren Versionen sind alle Konfigurationsparameter in der Datei httpd.conf untergebracht.

erschienen in PC-Online 7/99

Linux-Anwender haben es gut. Denn das Betriebssystem bringt einen kompletten WWW-Server für höchste Ansprüche mit. Apache heißt das Goldstück, das jeden PC in einen Website verwandelt. PC-Online zeigt, wie Sie den eigenen WWW-Server vorbereiten und optimal einsetzen.

Wozu ein eigener Web-Server?

Ein eigener Web-Server eignet sich nicht nur für professionelle Provider. Wer immer eine eigene Homepage anbietet, kann diese mit einem eigenen Server besser und zuverlässiger austesten. Denn der Apache bietet Zugang zu CGI-Skripts und zu den Fähigkeiten des Linux-Systems. Der Test von WWW-Seiten auf einem System ohne Server hingegen scheitert spätestens dann, wenn es um die Programmierung von Web-Anwendungen geht.

Und noch einen gewaltigen Vorteil hat der eigene Server im Haus: mit ihm können Sie gefahrlos alle Fähigkeiten von Perl, CGI, Linux und Apache ausloten, experimentieren und so neue Ideen und Konzepte für die Homepage ausprobieren ohne den laufenden Betrieb des eigenen Servers zu stören.

Nicht zuletzt ist ein eigener Web-Server hochinteressant in kleinen Netzwerken. Jede Arbeitsgruppe, jeder kleine Betrieb stellt eine hausinterne Homepage zusammen. Diese enthält Telefonliste, Urlaubsplan oder den Zugang zur gemeinsamen Datenbank. Zusätzlich macht sich der Apache-Rechner auch als File-und Mail-Server nützlich.

Voraussetzungen

Für den Betrieb eines eigenen Web-Servers genügt ein alter Rechner, zum Beispiel ein ausrangierter Pentium 60. Mit Speicher sollte man nicht knausern: 32 Mbyte sind gut, 64 Mbyte besser. Bei den aktuellen Preisen für RAM-Bausteine wird der Ausbau keine allzugroße Investition. Als Festplatte reicht für den Normalbetrieb 1 Gbyte, ein CD-Rom-Laufwerk sollte auch im Rechner stecken. Vorsicht: Diese Angaben gelten für Server, die nicht am Internet angebunden sind. Je mehr User auf einen Web-Server zugreifen, desto mehr Power und Speicher braucht der Rechner.

Schließlich benötigen Sie noch die Server-Software selbst. Apache findet sich auf praktisch allen Linux-Distributionen und wird zum Beispiel bei Redhat gleich mitinstalliert. Sie sollten eine möglichst aktuelle Linux-Distribution mit einem ebenso aktuellen Apache einsetzen. Die Angaben in diesem Artikel beziehen sich auf die Redhat-Distribution 5.2 Apollo und Apache 1.3.

Der erste Test

Um zu sehen, ob der Apache-Server bereits in Ihrem System arbeitet, rufen Sie ihn einfach auf. Dazu benötigen Sie die Adresse Ihres Linux-Systems – entweder die IP-Nummer oder den Namen. Wenn der Linux-Rechner in einem Netzwerk hängt, können Sie von einer anderen Maschine aus auf den Server zugreifen. Dazu rufen Sie auf einem Computer im selben Netzwerk einen Web-Browser auf und geben in der Adreßzeile die IP-Nummer des Apache-Systems ein. In den folgenden Beispielen ist das die IP 192.168.0.31. Sofern Sie nur auf einem nicht vernetzten Rechner arbeiten, greifen Sie über die IP-Nummer 127.0.0.1 oder den Rechnernamen localhost auf das System zu. Am schnellsten geht der Test mit dem Kommandozeilenbrowser Lynx:

lynx localhost

Nun sollte der Begrüßungsbildschirm des Apache-Servers erscheinen. Hier finden sich auch Links zur Online-Dokumentation des Servers – eine wertvolle Informationsquelle. Lief der Test erfolgreich, dann ist Apache bereits korrekt eingerichtet. Falls nicht, müssen Sie Apache noch nachinstallieren. Die dafür notwendige Software sowie Anleitungen gibt es unter der Web-Adresse www.apache.org. Suchen Sie unter Downloads/Binaries nach der passendenen Version für Ihren Rechner.

Orientieren

Wenn Apache grundsätzlich arbeitet, dürfen Sie sich an die Konfiguration wagen. Doch bevor es so weit ist, sollten Sie sich erst einmal genau orientieren, wo welche Dateien und Verzeichnisse liegen. Der erste Anlaufpunkt ist das Verzeichnis /etc auf Ihrem Linux-Server. Hier findet sich ein weiteres Unterverzeichnis namens /httpd/conf, in dem die Konfigurationsdateien des

Apache-Servers stecken.

Jetzt gilt es herauszufinden, wo sich das Verzeichnis für die Web-Dokumente Ihres Servers befindet. Dieses Verzeichnis ist in der Datei srm.conf festgehalten, das sich ebenfalls in /etc/httpd/conf befindet. Um das

Dokumentverzeichnis herauszufinden, geben Sie diese Zeile ein:

cat srm.conf | grep DocumentRoot

Nach einem [Return] sollte eine Angabe erscheinen wie

DocumentRoot /home/httpd/html

Natürlich steht es Ihnen frei, von Hand in der srm.conf zu stöbern. Verwenden Sie dazu am besten den Midnight Commander, den Sie von der Linux-Kommandozeile mit der Eingabe von “mc” starten. Führen Sie dann den Cursor über die Datei srm.conf und drücken Sie [F4]. Jetzt zeigt sich die komplette Konfigurationsdatei, bereit zum Bearbeiten.

Die erste Webseite

Nun wissen Sie, wo das Hauptverzeichnis Ihres Servers steckt und können hier eine erste HTML-Datei unterbringen. Nennen Sie diese Seite test.html und rufen Sie erneut Ihren Web-Browser mit der Adresse Ihres Linux-Servers und dem Namen der Datei auf, zum Beispiel http://192.168.0.31/test.html oder http://localhost/test.html.

Im Grunde ist damit Ihr Web-Server schon einsatzbereit – sie müssen nur die Dateien index.html, aliases.gif und poweredby.gif sowie das Verzeichnis manual löschen, umbenennen oder verschieben. Am einfachsten ist es, wenn Sie ein Unterverzeichnis mit dem Namen apache erzeugen und dort die genannten Dateien und Verzeichnisse hineinverschieben. Dann bleiben Handbuch sowie Originalstartseite erhalten und sind über die URL http://localhost/apache/ oder in diesem Beispiel über http://192.168.0.31/apache/ erreichbar. Wenn Sie nicht wollen, daß andere Anwender an die Handbuchdateien kommen, verschieben Sie die Dateien in Ihr Home-Verzeichnis oder an einen anderen sicheren Ort im System.

Sind die Ursprungsdaten weggeräumt, benennen Sie nur noch test.html in index.html um und haben eine neue Homepage. Nun können Sie wie gewohnt weitere HTML-Dateien und -Verzeichnisse hinzufügen und Ihren Server aufbauen.

Vor einem Problem steht, wer nicht den von Apache vorgesehenen Namen index.html für seine Eingangsseite aufweisen kann. Denn von Haus aus ignoriert der Server Dateinamen wie welcome.htm oder welcome.html. Statt einer Willkommens-Seite sehen Sie dann nur eine Liste der im html-Verzeichnis vorhandenen Dateien, wenn Sie nur die Server-Adresse ohne einen spezifischen HTML-Dateinamen eingeben.

Also gilt es, dem Server mitzuteilen, daß er bei einem Aufruf der blanken URL auch andere Dateien als index.html zeigen soll. Diese Aufgabe erledigt der Parameter DirectoryIndex, den Sie in der Datei srm.conf finden. Hier sind bereits die Dateien index.html, index.shtml und index.cgi notiert. Wenn der Server nun auch nach welcome.html als Eingangsseite fahnden soll, ergänzen Sie diese Zeile um welcome.html. Das Ergebnis sieht so aus:

DirectoryIndex index.html index.shtml index.cgi welcome.html

Wenn im Standardverzeichnis Ihres Web-Servers zwei dieser Dateien, also zum Beispiel index.html und welcome.html stehen, geht die Datei vor, deren Name zuerst in der Liste nach DirectoryIndex steht.

Webserver neu starten Wenn Sie diese Änderung vorgenommen haben, müssen Sie den Web-Server neu starten. Dazu suchen Sie zuerst mit

ps ax | grep httpd

die Prozeßnummer des Servers. Sie bekommen dann eine Liste zurück, die etwa so aussieht:

380 ? S 0:00 httpd 385 ? S 0:00 httpd 386 ? S 0:00 httpd 387 ? S 0:00

httpd […] 1138 p0 S 0:00 grep httpd

Suchen Sie nun die Prozeßnummer des ersten Eintrages aus und geben Sie diese mit einem Kill-Befehl ein, zum Beispiel

kill 380

Nun beendet Linux den Apache-Server. Mit dieser Zeile starten Sie den Server wieder neu:

httpd

Dann können Sie die Neuerungen austesten.

Zugang begrenzen

Wenn Ihr Testserver in einem Netz hängt, sollte nicht jeder andere User mitbekommen, was Sie auf Ihrem Testsystem treiben. Deshalb empfiehlt es sich, den Zugang zu beschränken. Dazu stehen grundsätzlich zwei Methoden zur Verfügung: Einmal läßt sich der Zugang generell für Computer sperren oder Sie richten eine Benutzer-Authentifizierung ein.

Die weniger aufwendige Methode sperrt generell Rechner vom Zugriff auf dem Server aus und erlaubt nur einzelnen Geräten den Zugriff. Die Identifikation, welcher Rechner an den Server darf, erledigt Apache anhand der IP oder der Domain-Adresse des Computers. Zuständig für den Zugriff ist die Datei /etc/httpd/conf/access.conf. Hier finden Sie diese Einträge:

order allow,deny allow all

Im Klartext: Erlaube allen Rechnern den Zugriff auf den Webserver. Um alle Computer im Netzwerk außer Ihrem Zweitgerät vom Server abzuklemmen, ändern Sie die Zeilen so:

order deny,allow allow from 192.168.0.20 deny from all

Vorausgesetzt Ihr zweiter Computer hat die IP 192.168.0.20, darf nur noch er Webseiten vom Server abrufen. Alle anderen Rechner bleiben ausgeschlossen und bekommen eine entsprechende Meldung. Damit diese Anweisungen greifen, muß die order-Direktive umgeschrieben werden. Sie regelt die Priorität der Zugriffsprivilegien. Mit allow,deny hat deny eine höhere Priorität als allow. Das bedeutet, alle Computer, die mit deny ausgeschlossen werden, bleiben außen vor, selbst wenn Ihnen mit allow eigentlich ein Zugriff eingeräumt würde. Deswegen würde im obigen Beispiel allow,deny nicht funktionieren. Denn die IP 192.168.0.20 ist ein Teil von all – und würde damit ausgeschlossen werden. Sinnvoll ist die allow,deny-Anordnung, wenn Sie einen oder mehrere Computer explizit am Zugriff hindern wollen und dem Rest der Welt Ihren Server öffnen:

order allow,deny allow from all deny from 192.168.0.40 192.168.0.41

Diese Zeilen schließen zwei Computer mit den IP-Nummern 192.168.0.40 und 192.168.0.41 vom Zugriff aus. Der Rest des Netzwerkes darf an den Server.

Anstelle einzelner IP-Nummern akzeptiert Apache auch IP-Bereiche, zum Beispiel 192.168. für das hausinterne Netzwerk oder Domainnamen wie .foo.bar – alle Computer, die sich mit dieser Domain identifizieren, dürfen dann Seiten abrufen. Wenn Sie Ihren Server an das Internet anschließen, sollten Sie allerdings von dieser Maßnahme absehen – denn einen Domain-Namen kann man fälschen. Hier ist die Authentifizierung mit IP-Nummern sicherer.

Username und Kennwort

Etwas kniffliger wird es, wenn Sie ausgewählten Benutzern den Zugriff auf Ihren Server erlauben wollen. Dann müssen Sie in access.conf gleich eine Reihe von Änderungen vornehmen. Zuerst schalten Sie aber die order-Direktive sowie allow und deny in den Urzustand zurück: order allow,deny allow from all

Nun fügen Sie diese Zeilen in die access.conf ein – am besten direkt oberhalb der order-Anweisungen:

AuthType Basic AuthName “WWW Testsystem Intranet”

AuthUserFile /etc/httpd/conf/users require valid-user

AuthType Basic steht für die Art der Abfrage. Basic reicht hier aus. AuthName enthält den Namen des geschützten Bereiches. Der erscheint dann auch im Kennwortfenster des Browsers. Die Leerzeichen sind hier notwendig, da im Namen Leerzeichen stehen. AuthUserFile legt fest, daß die Abfrage ihre Usernamen aus der Datei /etc/httpd/conf/users bezieht. Require valid-user schließlich bestimmt, daß nur zugelassene User zugreifen dürfen. Mit require martin dagegen würden Sie nur den Usernamen martin zulassen und so den Zugriff noch weiter einschränken.

Nun brauchen Sie noch eine User- und Kennwortdatei. Die legen Sie von der Kommandozeile aus mit folgender Zeile an:

htpasswd -c /etc/httpd/conf/users test

Das Programm htpasswd legt eine neue Benutzerdatei namens users an und fügt ihr gleich den User test hinzu. Sie müssen nur noch das Kennwort eintippen und haben schon den ersten User. Wenn Sie weitere Anwender hinzufügen wollen, rufen Sie denselben Befehl ohne -c auf. Die Anweisung

htpasswd /etc/httpd/conf/users hubert

ergänzt die Kennwortdatei um den Usernamen hubert.

Zwei Server betreiben

Apache ist längst nicht ausgelastet, wenn Sie nur einen Server betreiben. Wenn Sie beispielsweise einen WWW-Server zum Testen und einen für das hauseigene Intranet benötigen, fügen Sie einen virtuellen Server hinzu. Dieser bekommt eine eigene IP und ein eigenes Root-Verzeichnis, in dem Sie die Dateien lagern. Im folgenden Beispiel fügen wir zum bereits eingerichteten Server mit der IP 192.168.0.31 einen zweiten Server hinzu, der unter 192.168.0.33 zu erreichen ist. Voraussetzung für diesen neuen Server ist, daß Sie Ihr Linux-System entsprechend mit IP-Nummern vorbereitet haben. Wenn Sie dem neuen Server einen Domain-Namen hinzufügen wollen, müssen Sie dies auf Ihrem DNS- oder WINS-Server erledigen. Der Einfachheit halber arbeiten wir hier nur mit den IP-Nummern.

Der erste Arbeitsschritt findet in der Datei httpd.conf statt. Hier fügen Sie ganz am Ende der Datei folgende Zeilen ein:

; DocumentRoot /home/go/WWW ServerName test

DocumentRoot setzt das Hauptverzeichnis des neuen virtuellen Servers auf /home/go/WWW. Achten Sie darauf, daß dieses Verzeichnis entsprechende Zugriffsrechte hat:

Jeder muß in das Verzeichnis wechseln dürfen und dort Dateien lesen können. Die Erlaubnis für das Wechseln in ein Verzeichnis setzen Sie mit

cd /home chmod a+x go cd go chmod a+x WWW

Bedenken Sie aber, daß Sie eventuelle Dateien im Verzeichnis /home/go gegen unbefugten Zugriff sichern und nicht versehentlich eine Schreiberlaubnis einrichten.

Nun können Sie Dateien in das Verzeichnis kopieren – die Reihenfolge für die automatisch zu ladenden Files ist wie vorhin festgelegt: index.html geht vor welcome.html. Wenn Sie für dieses spezielle Verzeichnis eine eigene Reihenfolge oder Beschränkung haben wollen, fügen Sie nach DocumentRoot /home/go/WWW diese Zeile ein:

DirectoryIndex start.html

Jetzt erwartet der Server eine Datei namens start.html beim Aufruf der Internet-Adresse. Dieses Beispiel zeigt, daß Sie für den virtuellen Server alle Einstellungen gesondert vornehmen können, unabhängig davon, welche Parameter Sie vorher für den Hauptserver gesetzt haben.

Sicherheitsmaßnahmen für den neuen virtuellen Server treffen Sie wie gehabt in access.conf. Hier geben Sie am Ende der Liste diese Zeilen ein, um beispielsweise den Zugriff auf den neuen Server nur einem bestimmten Rechner zu erlauben:

<Directory /home/go/WWW>

Options Indexes Includes order

deny,allow

allow from 192.168.0.20

deny from all

</Directory>

Neu ist hier die erste Zeile. Sie legt spezielle Optionen für das Verzeichnis fest: Indexes greift, wenn der Server ohne die Nennung eines Dateinamens angwählt wird und sich kein Default-Dokument wie index.html oder welcome.html findet. Mit Options Indexes legen sie für diesen Fall fest, daß anstelle einer Fehlermeldung der Inhalt des Web-Verzeichnisses gezeigt wird. Nützlich ist diese Option auch, wenn Sie explizit erlauben wollen, daß sich Anwender beispielsweise durch ein Dateiarchiv wühlen. Sicherer ist es allerdings, diese Option grundsätzlich wegzulassen – zumindest dann, wenn der Server öffentlich erreichbar ist. Der Parameter Includes erlaubt, serverseitige Includes in ein Dokument aufzunehmen. Dabei handelt es sich um die Anzeige von Systemvariablen oder den Start von Programmen auf dem Web-Server. Ein weiterer interessanter Parameter ist ExecCGI, um CGI-Programme in diesem Verzeichnis auszuführen. 

Konfigurationsdateien richtig editieren

Bevor Sie sich an die Konfigurationsarbeit setzen, sollten Sie alle Dateien sichern. Kopieren Sie am besten alle Dateien aus /etc/httpd/conf/ in ein anderes Verzeichnis. Wenn Sie Änderungen in den Konfigurations-Files vornehmen, ändern Sie immer nur einen Parameterblock auf einmal und probieren Sie dann die neuen Werte aus, bevor Sie fortfahren. Dokumentieren Sie alle Eingriffe mit einer Kommentarzeile. Diese erkennen Sie an einem vorangestellten #. Schreiben Sie in den Kommentar Datum, Urheber und Zweck der Änderung. Nur so können Sie auch noch nach einem halben Jahr die Modifikationen nachvollziehen. Noch sicherer wird es, wenn Sie jeweils den Urzustand der Konfiguration auskommentieren und darunter die neuen Parameter schreiben, zum Beispiel:

#Original-Konfiguration

#order allow,deny

#allow from all

#Zugriff beschränken (19.5.99, Martin Goldmann)

order deny,allow

allow from 192.168.0.40

deny from all

So läßt sich nach einem Mißgriff in der Konfiguration schnell der Urzustand wiederherstellen.

Apache unter Windows installieren

Ein Webserver lohnt sich auch im kleinen Intranet. Informationen stehen zentral bereit, jeder Mitarbeiter ist stets informiert. Apache bildet dieideale Grundlage als Webserver und ist die Alternative zum Internet Information Server.

Dieser Artikel ist im Jahr 2002 in PC Professionell erschienen

Das sind die Gründe, einen Apache-Webserver unter Windows zu installieren:

  • er ist Open Source und damit gratis
  • er ist sicher
  • er ist plattformübergreifend, läuft unter Windows 98 ebenso wie unter 2000, XP und Linux
  • er ist der meist genutzte Server im Web
  • er ist schnell und einfach zu konfigurieren
  • er hat Schnittstellen zu allen wichtigen Sprachen im Web: Perl, PHP, ASP
  • er ist modular erweiterbar

Reicht das? Dann installieren Sie doch einen Apache-Webserver auf Ihrem Rechner. Er eignet sich nicht nur als Server für das eigene Intranet. Er ist auch ideal, um auf dem eigenen Rechner Intnernet-Anwendungen und Webseiten zu entwickeln und zu testen.

Vorbereitungen

Die ideale Windows-Plattform für Apache ist Windows 2000 oder Windows XP. Apache installiert sich hier auf Wunsch als Dienst und profitiert von Multithreading und der stabilen Plattform. Als Hardware genügt ein Pentium 266. Der kommt auch mit Windows 2000 gut zurecht. Und wenn der Computer-Oldie nichts anderes zu tun hat, als dem Intranet mit fünf, zehn oder fünfzig Clients zu dienen, ist er nicht einmal ausgelastet. Natürlich dürfen Sie Apache auch auf Ihrem Arbeitsrechner installieren — aber nur, um eigene Web-Anwendungen zu testen.

Wer dagegen den Apache-Server auf Windows 95 oder 98 installieren möchte, benötigt eine neue Version des Microsoft-Installationsprogramms MSI. Das findet der Netzwerker im Internet unter http://www.microsoft.com/downloads/release.asp?ReleaseID=17343..

Auch für Windows NT ist ein neue Installer notwendig: http://www.microsoft.com/downloads/release.asp?ReleaseID=17344. Windows 2000 und XP haben, ebenso wie Windows ME einen passenden Installer eingebaut.

Für Windows 95 ist zudem ein Winsock-Update notwendig. Das findet sich unter http://www.microsoft.com/windows/downloads/bin/W95ws2setup.exe. (Dieser Link funktioniert leider nicht mehr im Jahr 2005.)

Allerdings sollte sich der Webmaster in spe überlegen, ob er wirklich einen 95/98/ME-Rechner als Server einsetzen will. Zwar ist dies ein Weg, auch alten P100-Rechnern noch zu einem Gnadenbrot zu verhelfen. Aber die lausige Stabilität der alten Microsoft-Betriebssysteme schließt den Dauereinsatz als Intranet-Server aus.

Wer den IIS auf dem Rechner schon betreibt und Apache dennoch auf den Port 80 installieren will, der sollte vor dem Einrichten den IIS deaktivieren. Das geht in WIndows XP über Start – Systemsteuerung – Leistung und Wartung – Verwaltung – Internet Informationsdienste. Hier klicken Sie doppelt auf den Namen Ihres Computers, danach doppelt auf Websites und dann mit der rechten Maustaste auf Standardwebsite. Nach einem Klick auf Anhalten steht der IIS und Sie können mit Download und Installation loslegen.

Download

Die jeweils neueste Version von Apache ist im Web unter www.apache.org erhältlich. Zum Zeitpunkt dieses Beitrags aktuell ist die Release-Nummer 2.0.39. Und die finden Sie unter der Adresse http://www.apache.org/dist/httpd/binaries/win32/ im Internet. Mit einem Klick auf apache_2.0.39-win32-x86-no_ssl.msi startet der Download.

Die Installation startet nach einem Doppelklick auf das MSI-Package. Nach einigen Klicks auf Next fordert das Setup die Eingabe von Domain, Servernamen und Adresse des Webmasters. Sollten Sie diese Einträge nicht kennen, ist das auch kein Problem – so lange Sie mit dem Server nicht ins Internet wollen oder sich in eine große Firmenstruktur einfügen müssen. In diesem Fall sollten Sie den Netz-Verantwortlichen fragen.

Für den lokalen Betrieb und kleine Intranets geben Sie als Domain local und als Servernamen den Namen Ihres Windows-Rechners, gefolgt von local an, zum Beispiel: pegnitz.local. Als E-Mail-Adresse wählen Sie Ihren Account auf dem lokalen Mail-Server oder verwenden Ihre normale E-Mail-Adresse aus dem Internet.

Wichtig ist die Einstellung, ob Sie den Server für alle Benutzer oder nur für sich selbst installieren wollen. Für Testzwecke nehmen Sie die zweite Option. Dann startet Apache nur nach Aufforderung und belegt außerdem den Port 8080 – das schützt vor Problemen, falls noch nebenbei der IIS läuft.

Für den Einsatz als Intranet-Server verwenden Sie die obere Option for All Users, on Port 80, as a Service. Falls Sie später einen anderen Port haben wollen, ist das auch kein Problem. Wie das geht, lesen Sie im Abschnitt “Feineinstellungen”.

Nach einem weiteren Klick auf Next wählen Sie die Art der Installation. Im Allgemeinen belassen Sie es bei “Typical”. Ein Next weiter folgt die Auswahl des Installationsordners und noch ein Next später geht es mit Install endlich los. Ein paar Sekunden später haben Sie einen Web-Server.

Der erste Test

Die Minute der Wahrheit kommt nach der Installation: Starten Sie den einen Browser und geben Sie als URL localhost ein. Im Browser sollte dann “Es klappt! Der Apache-Webserver ist auf dieser Website installiert!” erscheinen. Ist das der Fall, funktioniert schon alles.

Falls sich nichts rührt und eine Fehlermeldung kommt, probieren Sie, den Server über Start – Programme – Apache HTTP Server – Control Apache Server – Start anzuwerfen. Bleibt der Browsertest auch danach erfolglos, ist vermutlich der Dienst nicht richtig installiert. Die Abhilfe heißt Neustart und nochmalige Installation. Wählen Sie dabei den Repair-Modus.

Grundlegendes

Läuft der Apache erst einmal, fängt die eigentliche Arbeit an. Zunächst sollten Sie sich um eine neue Homepage kümmern. Die HTML-Dateien gehören in das Verzeichnis X:ProgrammeApache GroupApache2htdocs. X steht hierbei für das Laufwerk, auf dem Apache installiert ist. Kleiner Tipp: Legen Sie gleich eine Verknüpfung zu diesem Ordner auf dem Deskop an – das spart endloses Klicken. Den Inhalt dieses Verzeichnisses können Sie löschen. Ihre eigene Homepage sollte den Namen index.html tragen.

Ein eigenes HTML-Verzeichnis einrichten

Webmaster, die ihre HTML-Dateien lieber in einem eigenen Ordner haben, lernen die httpd.conf kennen. Die erreichen Sie über Start – Programme – Apache HTTP Server – Configure Apache Server – Edit the Apache httpd.conf Configuration File. Mit Bearbeiten – Suchen stöbern Sie nach dem Eintrag DocumentRoot.

Ein paar Zeilen unter der ersten Fundstelle findet sich der Eintrag DocumentRoot “X:/Programme/Apache Group/Apache2/htdocs”. Der lässt sich einfach überschreiben, beispielsweise mit DocumentRoot “X:/html”. Freunde von Windows sollten auf die nach vorne geneigten Schrägstriche achten. Ebenso wichtig: der Verzeichnisname darf nicht mit / enden.

Ein paar Zeilen weiter unten gilt es, noch eine Änderung vorzunehmen. Ändern Sie in der Zeile <Directory “x:/Programme/Apache Group/Apache2/htdocs”> den Pfadnamen so, dass er mit dem oben eingegebenen DocumenRoot übereinstimmt, also <Directory “F:/html”>.

Nach dem Speichern der Konfigurationsdatei geht es weiter mit Start – Programme – Apache HTTP Server – Control Apache Server – Restart. Schneller geht der Neustart, indem Sie auf das Apache-Symbol in der Taskleiste neben der Uhr klicken. Klicken Sie anschließend auf Apache2 und Restart.

Namen der Standarddateien ändern

Nicht jeder möchte eine index.html als Startseite. Umsteiger aus der Windows-Welt haben vielleicht lieber eine index.htm oder eine welcome.htm.

Welche Dateien Apache als Default anzeigt, legt ebenfalls die httpd.conf fest. Diesmal suchen Sie nach DirectoryIndex. Wenige Zeilen unter der Fundstelle steht die Zeile

DirectoryIndex index.html index.html.var

Der Server sucht also zuerst nach einer index.html, dann nach index.html.var. Findet er keine dieser Dateien, erscheint eine Fehlermeldung.

 

Um auch index.htm und welcome.htm in den Reigen der Standard-Dateien aufzunehmen, schreiben Sie diese einfach vor oder hinter die anderen Einträge in der Zeile.

Wichtig ist die Reihenfolge: Stehen in einem Verzeichnis sowohl eine index.htm wie auch eine index.html, so nimmt der Server die Datei, die bei DirectoryIndex weiter vorne steht. Nach der Änderung könnte der Parameter zum Beispiel so aussehen:

DirectoryIndex index.htm index.html welcome.htm welcome.html

Wieder gilt: Speichern und den Server neu starten.

Den Zugriff begrenzen

Gerade wenn Sie den Server nur zu Testzwecken verwenden, sollten Sie den Zugriff darauf einschränken. Anderenfalls kann jeder Computer aus dem gleichen Subnetz auf die Site zugreifen. Den Zugriff steuert die Option order. In der Default-Konfiguration steht dieser Eintrag in der Sektion <directory “x:/html”>.

#

# Controls who can get stuff from this server.

#

Order allow,deny

Allow from all

Der liest sich so: “erlaube zunächst allen den Zugriff (allow), falls Du dann noch jemanden vom Zugriff ausschließen willst, kannst Du das immer noch machen (deny)”. Danach erfolgt die Anweisung “allow from all”, also “erlaube den Zugriff auf den Webseite von allen Rechnern aus”. Wer will, kann hier noch einen bestimmten Rechner vom Zugriff ausschließen, zum Beispiel mit “deny from 192.168.0.80”.

Um generell erst einmal alle anderen Computer vom Zugriff auszuschließen, dreht der Webmaster die Anweisung um:

Order deny,allow

Deny from all

Allow from 127.0.0.1

Damit darf nur Ihr eigener Rechner an die Website. Alle anderen Computer erhalten eine freundliche Fehlermeldung.

Wer mehreren Computern den Zugriff erlauben will, schreibt die IP-Adressen hintereinander, zum Beispiel

Allow from 127.0.0.1 192.168.0.21

Alternativ dazu lassen sich Subnetze angeben, etwa

Allow from 192.168.0

für den Zugriff von allen Computern von 192.168.0.1 bis 192.168.0.255 oder mit der Subnetzmaske kombiniert

Allow from 10.1.0.0/255.255.0.0

So lange der Server im Intranet steht, sollte der Zugriff so restriktiv wie möglich gestaltet sein.

Andere Verzeichnisse einbinden

Im Intranet unerlässlich: Das Bereitstellen von Informationen. Verzeichnisse mit Word-Dokumenten oder Excel-Spreadsheets lassen sich auch per Browser laden. Der Vorteil: Sie müssen sich nicht mit Verzeichnisfreigaben herumschlagen. Und klickt ein Mit-Netzwerker eine Datei an, so wird diese auch mit der passenden Applikation geladen.

 

Das Problem ist nur: Wie kommen die Verzeichnisse auf den Webserver? Regelmäßig Kopien in ein Verzeichnis zu bringen scheidet aus: Ineffizient und aufwendig. Also richtet der Intranet-Master ein Alias ein: Das nimmt ein Verzeichnis auf dem Server-PC und macht dieses als scheinbares Unterverzeichnis dem Browser-Publikum zugänglich.

Die Option heißt “Alias”. Als ersten Parameter geben Sie den Namen ein, unter dem das Verzeichnis im Browser erscheinen soll. Nach einem Leerzeichen folgt der wirkliche Verzeichnisname, zum Beispiel:

Alias /word “f:/texte”

Die Anführungszeichen um den Namen des Windows-Verzeichnisses sind vor allem dann wichtig, wenn der Ordnername ein Leerzeichen enthält.

Den neuen Parameter tragen Sie am besten direkt unter der der DocumenRoot-Anweisung ein.

Zusätzlich müssen Sie für das Verzeichnis noch einen Directory-Eintrag schreiben, um dieses freizugeben.

Dieser Eintrag kann so aussehen:

<Directory "F:/texte">

Options Indexes

Order allow,deny

Allow from all

Wichtig ist hier die Option Indexes. Sie sorgt dafür, dass eine Liste von Dateien angezeigt wird. Die Zugriffsregelung ist hier sehr offen – passen Sie diese Einträge gegebenenfalls wie beschrieben an.

Daten von anderen Servern einbinden

Auch das geht: Der Apache-Server zeigt Verzeichnisse eines anderen Servers so an, als wären es seine eigenen. Intranet-Verwalter bauen auf diese Weise zum Beispiel den Speiseplan von http://hauptserver/kantine/speiseplan.html auf ihrem Server als http://meinserver/essen/speiseplan.html ein. Die entsprechende Anweisung heißt

ProxyPass /essen/ http://hauptserver/kantine/

Damit richtet der Apache-Server ein virtuelles Verzeichnis ein, das sich im Verzeichnis essen des Servers meinserver mit Daten versorgt.

Diese Anweisung schreiben Sie am besten unterhalb der DocumentRoot-Option. Damit ist aber noch nicht alle Arbeit erledigt. Es gilt noch, die entsprechenden Module in Apache einzubinden. Dies geschieht ebenfalls in der httpd.conf. Hier steht die Zeile

#LoadModule proxy_module modules/mod_proxy.so

und zwei Zeilen darunter

#LoadModule proxy_http_module modules/mod_proxy_http.so

(Am besten verwenden Sie die Suchfunktion und die Suche nach”mod_proxy”, um diese Zeilen aufzustöbern).

Entfernen Sie vor beiden Zeilen jeweils das #. Nach einem Neustart bindet Apache dann diese beiden Module ein und zeigt nach der Eingabe von http://localhost/kantine/speiseplan.html die entsprechende Datei vom Server “meinessen”.

Das ist neu in Apache 2.0

Apache 2.0 ist erst seit wenigen Monaten erhältlich und löst das alte Apache 1.3 langsam ab. Die wichtigsten Neuerungen der zweiten Version sind:

  • Bessere Unterstützung von Nicht-Unix-Systemen. Dank der Verwendung Betriebssystem spezifischer APIs ist ist Apache schneller und stabiler.
  • Mit IPv6 untersützt Apache das kommende Internet-Protocol.
  • Apache-Module können nun auch als Filter arbeiten und ein- oder ausgehende Daten bearbeiten.
  • Mehrsprachige Fehlermeldungen, auch in Deutsch.
  • Die Konfigurationsdatei wurde entrümpelt.
  • Viele Module wurden verbessert, neue Module sind hinzugekommen, zum Beispiel mod_ssl für die Verschlüsselung von Daten oder mod_file_cache für das Caching von Daten.

Lesen Sie hier weiter: Linux auf dem iMac G3 mit Mac OS9