Apache HTTP Server
Aus Salber.net
Der Apache HTTP-Server ist ein sehr verbreiteter Web-Server.
- Homepage: http://httpd.apache.org/
Inhaltsverzeichnis |
Einrichtung
Hier gibt es einiges über die Konfiguration eines Apache HTTP-Servers. Dies gilt für die Konfiguration unter einer Ubuntu 8.10-Installation mit der Server-Version 2.2.9.
Die Konfigurationsdateien liegen unter /etc/apache2
. Da gibt es ein Verzeichnis sites-available
, in der mehrere Virtual-Hosts konfiguriert werden können. Das Verzeichnis sites-enabled
besteht aus Links auf solche Virtual-Host-Konfigurationen. Der default-Eintrag gilt für alle Host-Namen die nicht konfiguriert wurden.
Um die Meldung Could not reliably determine the server's fully qualified domain name, using www.example.com for ServerName los zu werden, legt man im conf.d
-Verzeichnis eine Datei an, schreibt so etwas wie ServerName www.salber.net rein und startet den Server neu.
Virtual Host
Um einen Virtual Host einzurichten, erzeugt man eine neue Konfigurations-Datei im sites-available
-Verzeichnis. Diese sieht in etwa wie folgt aus:
<VirtualHost *:80> ServerAdmin admin@example.com ServerName host.salber.net ServerAlias salber.net DirectoryIndex index.html index.htm DocumentRoot /dir/with/content <Directory /dir/with/content> Options -Indexes +FollowSymLinks -MultiViews </Directory> <Directory /dir/with/content/allow_filelist> Options +Indexes </Directory> ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined </VirtualHost>
Die genaue Dokumentation findet man unter http://httpd.apache.org/docs/2.2/.
Wenn das Erstellen der Konfiguration beendet ist, muss noch ein Link im sites-enabled
angelegt werden und dann der Server neu gestartet werden.
Virtual Host mit HTTPS
Wenn man Virtual Hosts mit SSL verwenden will, muss man GnuTLS installieren. In aller Kürze für Ubuntu:
-
libapache2-mod-gnutls
installieren -
ln -s ../mods-available/gnutls.load /etc/apache2/mods-enabled/
-
ln -s ../mods-available/gnutls.conf /etc/apache2/mods-enabled/
Zuerst ein CSR erzeugen, dies von der CA unterschreiben lassen (z.B. CAcert) und das Zertifikat unter /etc/apache2/ssl/
ablegen. Dann unter sites-available
wie oben eine Datei erstellen. Diese kann z.B. so aussehen:
<VirtualHost *:80> ServerName ssl.salber.net Redirect permanent / https://ssl.salber.net/ </VirtualHost> <VirtualHost *:443> ServerName ssl.salber.net DocumentRoot /srv/apache/ssl.salber.net <Directory /srv/apache/ssl.salber.net> Options -Indexes +FollowSymLinks </Directory> GnuTLSEnable on GnuTLSCertificateFile /etc/apache2/ssl/ssl.salber.net.crt GnuTLSKeyFile /etc/apache2/ssl/server.key GnuTLSPriorities NORMAL </VirtualHost>
Nützliche Links dazu (die ich selbst noch durchschauen muss):
- http://www.g-loaded.eu/2007/08/10/ssl-enabled-name-based-apache-virtual-hosts-with-mod_gnutls/
- http://www.outoforder.cc/projects/apache/mod_gnutls/docs/#GnuTLSPriorities
WebDAV
WebDAV kann man so einrichten (siehe auch http://wiki.ubuntuusers.de/apache/webdav):
-
sudo a2enmod dav
-
sudo a2enmod dav_fs
-
sudo /etc/init.d/apache2 restart
Dann ist nur noch in der entsprechenden site-Konfiguration (/etc/apache2/sites-available
) einzutragen
<Directory "/var/webdav/"> DAV on Options +Indexes </Directory>
Danach nochmal den Apache neustarten.
Es ist empfehlenswert, das so freigegebene Verzeichnis zu schützen (z.B. über Require valid-user
und entsprechender Authentifizierung).