Installation des Apache httpd unter Debian GNU/Linux
Von Agon S. Buchholz, Oktober 2003 ff.
Software :
Daemons : Apache
: Installation : Debian
GNU/Linux : Übersicht
05-Okt-2003/09-Jan-07
Übersicht
Die Installation des Apache httpd ist unter Debian GNU/Linux
eigentlich trivial, oftmals ergeben sich aber überraschende Probleme.
Möglichkeiten einen Webserver (Apache) unter Debian zu betreiben gibt
es viele, die Debian-Maintainer stellen allein schon drei verschiedene
Pakete (apache, apache-ssl, apache-perl) zur Verfügung. Hinzu kommen
noch diverse Module (mod_ssl, mod_gzip, mod_perl, mod_php usw.) sowie
Ergänzungen z.B. zur Logfile- Auswertung.
Grundsätzlich gilt für alle neueren Versionen (2.x ff.), dass ältere
Anleitungen nur sehr eingeschränkt brauchbar sind: In der aktuellen
Version 2.0.x hat sich vieles geändert.
Installation
Installation des Apache unter
Debian GNU/Linux in
Version 3.0 »Woody« ist unproblematisch, da fertige DEB- Pakete zur
Verfügung stehen:
# apt-get install apache
Im Anschluss an die Installation wird das Skript
/usr/sbin/apacheconfig aufgerufen, das die Konfigurationsdatei
nach benutzten Modulen analysiert und die E-Mail- Adresse des Webmasters
abfragt. Selbstverstaendlich kann man sich komplett auf dieses Skript
verlassen, jedoch sollten einige wichtige Einstellungen selbst
vorgenommen werden.
Damit jederzeit die Möglichkeit besteht, die genauen Bedeutungen und
Optionen nachzusehen, ist zusätzliche die Installation der
Apache-Dokumentation empfehlenswert:
# apt-get install apache-doc
Weitere nützliche Infos finden sich unter /usr/share/doc/apache.
Interessant ist z.B., dass zum rotieren der Logfiles bereits ein
entsprechender Eintrag in /etc/logrotate.d hinzugefügt
wurde.
Wer einen wirklich schnellen Webserver benötigt, sollte sich einmal
diese (für den produktiven Einsatz wohl eher nicht zu gebrauchende)
Beispielkonfiguration ansehen:
/usr/share/doc/apache/examples/highperformance.conf-dist
Konfiguration
Ausgewählte Konfigurationsdirektiven:
StartServers und Reserverserver anpassen
Wer einen hochfrequentierten Webserver betreibt, kann dafür sorgen,
dass bereits beim Start genügend Childserver bereitstehen um die
Anfragen zu bewaeltigen und das waehrend dem Betrieb immer genug aber
nicht zuviel Reserven für Lastspitzen bereitstehen. Es empfiehlt sich,
während des Betriebs die Zahl der gleichzeitigen User zu bestimmen und
diese Direktiven entsprechend anzupassen.
E-Mail-Adresse und ServerSignature
ServerAdmin postmaster@localhost
...
ServerSignature On
Hinter ServerAdmin wird, sofern man diese dem Surfer verraten will,
die E-Mail- Adresse des ersten technischen Ansprechpartners angegeben.
Was genau ein User an Informationen über den Server zu sehen bekommt,
wenn er z.B. eine nichtexistente Seite anfordert, bestimmt die Direktive
ServerSignature. Steht sie auf Off, wird unter der Fehlerseite nichts
angezeigt, während bei On die Server- Version und bei E-Mail zusätzlich
die bei ServerAdmin angegebene E-Mail-Adresse angezeigt wird.
Das Serverstatus-Modul
LoadModule status_module /usr/lib/apache/1.3/mod_status.so
LoadModule info_module /usr/lib/apache/1.3/mod_info.so
Mit Hilfe dieser Module lassen sich zur Laufzeit einige nützliche
Informationen zur aktuellen Konfiguration und zur Auslastung abrufen. Es
empfiehlt sich jedoch, diese entweder nur von localhost aus oder nur für
authentifizierte User zugänglich zu machen.
Sollten diese Infos nicht benötigt werden, kann dieses Modul
problemlos auskommentiert werden (#). Zur näheren Konfiguration hier ein
Beispiel, dass die Informationen über die lokale URL /server-status bzw.
/server-info zugänglich sind.
Die entsprechenden Passagen sind bereits in der
/etc/apache/httpd.conf enthalten, es müssen jedoch noch die
Kommentarzeichen entfernt und die Allow from Zeile angepasst werden.
ExtendedStatus On
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from localhost
</Location>
<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from localhost
</Location>
Modulliste optimieren
Jedes einzelne weitere Modul hier einzeln zu beschreiben ist aufgrund
der guten und ausführlichen Dokumentation des Apacheprojekts
(http://httpd.apache.org/doc) nicht nötig. Jedoch ist es empfehlenswert,
anhand dieser Dokumentation für jedes einzelne Modul zu prüfen, ob es
wirklich benötigt wird. Denn je weniger Module geladen sind, desto
schlanker ist der Webserver.
Beispielsweise wird oftmals mod_userdir nicht benötigt.
Virtuelle Hosts
Heutzutage ist es üblich, auf einem einzigen physischen Server, dem
im Internet eine eindeutige IP-Adresse (z.B. 217.160.154.123) zugeordnet
ist, mehrere Domainnamen (z.B. www.debian.org) und Subdomains (z.B.
www.de.debian.org oder www.fr.debian.org) zuzuweisen.
Neben den erforderlichen Einträgen in den Nameservern (A Records,
siehe Bind-Howto) empfiehlt es sich, beim Apache für jede Domain bzw.
Subdomain einen eigenen VirtualHost anzulegen. Dazu muss dem Webserver
erst mitgeteilt werden, dass namensbasierte VHosts benutzt werden (im
Gegensatz zu IP basierten) oder Mischformen aus beiden. Dazu folgende
Zeile einfügen; die IP-Adresse ist entsprechend der eigenen zu ändern.
NameVirtualHost 12.34.56.78
Dann können für jede benötigte (Sub)Domain eigene VHosts angelegt
werden, innerhalb denen so gut wie jede Direktive für den jeweiligen
VHost überschrieben werden kann. Wird keine spezielle angegeben
verwendet der Webserver die des Hauptserver.
Ich empfehle, die eigenen VHosts in einem separatem File zu
definieren und dieses mittels der Include-Direktive in der httpd.conf
einzubinden. Dazu als letzte Zeile folgendes hinzufügen:
Include /etc/apache/meinevhosts.conf
Mehr Infos zu VHosts finden sich auf der Homepage des Apache-
Projekts oder lokal unter
http://localhost/doc/apache/manual/vhosts/index.html
Jedesmal, wenn die Konfigurationsdatei(en) bearbeitet wurden, muss
der Server neu gestartet werden. Folgende Befehle erledigen dies:
apacectl restart | graceful
/etc/init.d/apache restart
Netmarks
www.debianhowto.de/howtos/de/apache/apacheinstall.html.
www.debianhowto.de/howtos/de/apache/apachekonfig.html.
www.debianhowto.de/howtos/de/apache/apachevhosts.html.
Anmerkungen
|