Apache HTTP Server

Aus Salber.net

Wechseln zu: Navigation, Suche

Der Apache HTTP-Server ist ein sehr verbreiteter Web-Server.

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:

  1. libapache2-mod-gnutls installieren
  2. ln -s ../mods-available/gnutls.load /etc/apache2/mods-enabled/
  3. 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):


WebDAV

WebDAV kann man so einrichten (siehe auch http://wiki.ubuntuusers.de/apache/webdav):

  1. sudo a2enmod dav
  2. sudo a2enmod dav_fs
  3. 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).

Rechte

Siehe Benutzer für Apache HTTP Server einrichten.

Persönliche Werkzeuge