Dieses Kapitel beschreibt die Installation und Konfiguration eines Webservers, der HTML-Seiten und andere Inhalte über das HTTP ausliefert.
Wenn es nur darum geht, ein paar statische Webseiten zu
veröffentlichen, ist thttpd die richtige Wahl.
apt-get install thttpd thttpd-util
Die Konfiguration beschränkt sich auf die Angabe von Portnummern, Datenverzeichnis und Benutzer-Identität des Daemon-Prozesses.
# /etc/thttpd/thttpd.conf port = 80 dir = /srv/www chroot user = www-data cgipat = /cgi-bin/* throttles = /etc/thttpd/throttle.conf logfile = /var/log/thttpd.log
Server-Verzeichnisse schützt man mit einem Passwort gegen unberechtigten Zugriff. Aber Achtung: der Passwortschutz gilt nicht für Unterverzeichnisse!
thtpasswd -c .htpasswd username Changing password for user username New password: ******** Re-type new password: ********
Der Apache Webserver erlaubt dank zahlreicher Erweiterungs-Module komplexe Konfigurationen.
apt-get install apache2 libapache2-mod-auth-pam
Die Konfigurationsdatei /etc/apache2/apache2.conf
steuert das Verhalten des Daemons. Sie bindet zusätzlich folgende
Konfigurationsdateien und -Verzeichnisse ein:
/etc/apache2/ports.conf/etc/apache2/conf.d//etc/apache2/mods-enabled/ → mods-available//etc/apache2/sites-enabled/ → sites-available/Auf dem Mailserver sollte man ein Alias
für den webmaster anlegen.
Module werden mit a2enmod(1) aktiviert und mit
a2dismod(1) deaktiviert. Tatsächlich setzen beziehungsweise
entfernen diese Kommandos lediglich symbolische Links in den
entsprechenden Verzeichnissen.
ServerName laptop-fa
ServerAdmin webmaster@localhost
<VirtualHost *:80>
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
LogLevel warn
DocumentRoot /srv/www
<Directory /srv/www>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
...
</VirtualHost>
a2enmod rewrite
RewriteEngine on
RewriteLog /var/log/apache2/rewrite.log
RewriteLogLevel 1
RewriteRule ^/application/?(.*)$ /path/to/program [QSA,L]
<Directory /path/to/program/>
Options ExecCGI
SetHandler fcgid-script
AllowOverride None
Order allow,deny
Allow from 127.0.0.0/255.0.0.0
</Directory>
Folgende Schritte eröffnen Fernzugriff per WebDAV auf ein Subversion-Depot:
apt-get install libapache2-svn a2enmod dav a2enmod dav_fs a2enmod dav_svn
/etc/apache2/mods-enabled/dav_svn.conf
<Location /svn>
DAV svn
SVNPath /srv/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/apache2/dav_svn.passwd
# allow anonymous read, but make committers authenticate themselves
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
htpasswd2 -c /etc/apache2/dav_svn.passwd username