Apache konfigurieren Diese Tutorial erklaehrt wie man seinen eigenen Apache Webserver konfiguriert. Index: + Was ist Apache und wozu brauche ich ihn? + Wo liegt alles? + Konfiguration + Tipps & Tricks + Post Scriptum Was ist Apache und wozu brauche ich ihn? Apache ist wohl der beliebteste Webserver den es zur Zeit sowohl unter allen UNIX [bzw. UNIX-aehnlichen] als auch unter Windows Umgebungen gibt. Er steht unter der GPL d.h. er ist Open Source und daher kostenlos erhaeltlich.Zur Zeit sind die neuesten Versionen v.2.x erhaeltlich Einen Webserver auf seinem Pc konfiguriert und einsatzbereit zu haben, auch wenn man nicht vor hat ihn Tag und Nacht laufen zu lassen, ist nie ein Fehler. Er kann immer nuetzlich sein wenn es darum geht PHP,Perl Skripte oder Anwendungen zu testen. Wo liegt alles? Die Konfigurations sowie auch die Dateien die vom Web dann schlussendlich abrufbar sein werden, koennen bei den Distros in verschiedenen Verzeichnissen liegen. Bei meinem Slackware, der meinen Apache "traegt", liegen die HTML [usw.] Dateien in /var/www/ und die Konfigurationsdateien in /etc/apache/. Sollten die Verzeichnisse pas-tout nicht zu finden sein, kann man sie leicht durch den Befehl #httpd -V herausfinden. Konfiguration Der eigentliche Prozess, der Daemon des Apaches nennt sich httpd und laesst sich auch mit #httpd starten. Nach dem Start sollte der Webserver verfuegbar sein, jedoch noch mit der Standardkonfiguration. Zur ueberpruefung einfach in den Webbrowser http://127.0.0.1 eingeben.Sollte dann die Test-Seite des Apaches erscheinen klappt bis jetzt alles. Jetzt machen wir uns an die Konfiguration des Webservers. Wie schon frueher erwaehnt kann sich die Datei httpd.conf in Distributionsabhaengigen Verzeichnissen befinden. #emacs /etc/apache/httpd.conf ServerType : Entweder Standalone [Apache wird ueber rc-Dateien gestartet] oder inetd [Er wird ueber den Internet Daemon gestartet]. ServerRoot : Hier wird das Basis-Verzeichnis festgelegt. Hier befinden sich u.a. die Verzeichnisse cgi-bin und htdocs. StartServers : Die Anzahl der parallel startenden Serverprozesse von denen einer bei jeder einzelnen Anfrage neue Kindprozesse startet und dann wieder beendet. MaxClients : Die Anzahl der Maximal-zu-"bedienenden" Clienten. ServerAdmin : Mail-Adresse des Admins ServerName : Name des Servers der aber nicht unbedingt dem Hostname des Rechners entsprechen muss. Wenn er es nicht tut, muss der Name allerdings in /etc/hosts eingetragen sein. DocumentRoot : Verzeichnis fuer die vom Web aufzurufenden Dateien. DirectoryIndex : Diese Datei(en) werden automatisch geladen wenn nur das Verzeichnis angegeben wird. KeepAlive : Bei "On" bearbeitet der Server mehrere Anfragen eines Browsers pro Session. MaxKeepAliveRequests : Maximale Anzahl dieser Anfragen/Session. KeepAliveTimeout : Die Zeit die Maximal zwischen den Anfragen stehen darf. BindAdress : Legt fest auf die Anfragen welcher Adressen der Server antworten soll.Steht er nicht in einem Netzwerk, ist * sinnvoll. UserDir : Gibt den Namen des Verzeichnisses an wo die User (gegebenenfalls) ihre Webverzeichnisse haben. z.B. waere der Eintrag "www" gleich /home/nova/www/. HostnameLookups : Bei "On" wird nicht nur die IP eines Besuchers geloggt, sondern auch der Hostname (unnoetig und frisst Ressourcen). ErrorLog : Verzeichnis und das Logfile wird hier angegeben. LogLevel : Gibt an wann ein Fehler geloggt werden soll - warn ist hier meist ausreichend. Tipps & Tricks Permanente Zugangsbeschraenkungen in httpd.conf: Es gibt die Moeglichkeit Verzeichnisse mit verschiedenen Optionen bzw. Flags zu versehen die ihre Zugriffsrechte regeln. Das Ganze sieht dann ungefaehr so aus: < Directory /nova/privat/> AuthUserFile /etc/apache/.htpasswd Options -FollowSymLinks Allow from 192.168. Deny from 192.168.1.99 < /Directory>" Und dies bewirkt folgendes: Es wird von jedem der mein privates Verzeichnis betreten darf ein Password und ein Username gefordert. Diese Daten wurden vorher mit dem Tool htpasswd erstellt. Weiters werden URLs erlaubt die in jedes andere Verzeichnis im Server gerichtet sind erlaubt. Es werden nur Anfragen von meinem lokalen Netzwerk gestattet, aber nicht von dem Pc99. .htaccess: Diese Datei kann in allen Unterverzeichnissen stehen und regelt direkt (!), wie in httpd.conf auch, die Zugriffsrechte. Ein Beispiel waehre: # .htaccess AuthUserFile /htdocs/nova/.htpasswd //Gibt die Passwort-Datei an AuthType Basic //Digest oder Basic - Art der Kodierung < limit GET POST> require valid-users //Nur User die in dem Passwort-File werden zugelassen. < /limit>" AuthName "NoVas Sicherung" //Name der Sicherung Post Scriptum (c) by M,r;D - root [at] stoerimpuls.net - stoerimpuls.net