Apache 2: Skalierung, Performance-Tuning, CGI, SSI, Authentifizierung, Sicherheit, VMware von Sascha Kersken. Praxisorientiertes Lehrbuch und Referenz, auch für Einsteiger geeignet.
Vom gleichen Autor: Praktische Online-Referenz der wichtigsten Apache-Direktiven.
Webserver einrichten und administrieren von Klaus M. Rodewig. Aufbau, Betrieb und Administration eines Webservers, von der Auswahl des Providers über Hard- und Software bis hin zu rechtlichen Fragen.
Apache - kurz und gut von Andrew Ford und Sascha Kersken. Übersichtliche Zusammenfassung mit den wichtigsten Apache-Informationen, für Fortgeschrittene.
Apache Webserver 2. Installation, Konfiguration, Programmierung von Sebastian Wolfgarten.
Am einfachsten läßt sich WebDAV mit dem Apache 2.x konfigurieren. Es soll auch mit Apache 1.3.x gehen, da braucht man aber ein separates Modul, während bei Apache 2.x der WebDAV Code bereits enthalten ist.
Wichtig ist ebenfalls, dass der Apache für SSL eingerichtet wird. Die WebDAV Funktionen von Microsoft Windows XP entsprechen nicht genau dem Standard, und der Zugriff von Microsoft Windows auf einen Apache WebDAV Server funktioniert nur dann, wenn man das https Protokoll verwendet.
Der Apache wird mit folgenden Optionen kompiliert (hier am Beispiel von Apache 2.2.0):
Und hier die Optionen in der Datei /opt/apache-2.2.0/conf/extras/httpd-dav.conf (nicht vergessen, diese Datei in der conf/httpd.conf zu inkludieren). Diese Konfiguration gestattet Lese- und Schreibzugriff für jeden User, der einen Account auf dem Server hat.
DavLockDB "/var/run/DavLock"
Alias /webdav "/home/schirmacher.de/www/webdav"
<Directory "/home/schirmacher.de/www/webdav">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Location /webdav>
Dav On
AuthType Digest
AuthName Server
AuthDigestDomain /webdav/ https://www.schirmacher.de/webdav/
AuthDigestProvider file
AuthUserFile "/home/schirmacher.de/conf/user.passwd"
<LimitExcept OPTIONS>
Require valid-user
</LimitExcept>
</Location>
Das Erstellen der Passwort-Datei erfolgt mit folgendem Kommando:
/opt/apache-2.2.0/bin/htdigest /home/schirmacher.de/conf/user.passwd Server schirmacher
Wichtig ist, dass der zweite Parameter mit der Angabe für "AuthName" übereinstimmen muss. Das Password wird interaktiv abgefragt und in verschlüsselter Form in der Passworddatei abgelegt.
Weitere Berechtigungen
WebDAV ermöglicht es, die Zugriffsberechtigungen fein abzustufen. Ein häufig benötigter Fall ist die Einrichtung von zwei Gruppen für Nur-Lese- und Schreib-Lese-Zugriff.
Das erreicht man am einfachsten wie folgt. Man legt eine "groups" Datei mit den Benutzergruppen "ro" und "rw" (für Nur-Lese- und Schreib-Lese-Zugriff) an:
Dann referenziert man diese Benutzergruppen in seiner Konfiguration:
<Location /webdav>
Dav On
AuthType Digest
AuthName Server
AuthDigestDomain /webdav/ https://www.schirmacher.de/webdav/
AuthDigestProvider file
AuthUserFile "/home/schirmacher.de/conf/user.passwd"
AuthGroupFile "/home/schirmacher.de/conf/groups"
<LimitExcept OPTIONS>
Require valid-user
</LimitExcept>
<Limit COPY DELETE LOCK MKCOL MOVE POST PUT UNLOCK>
Require group rw
</Limit>
</Location>
Im einzelnen passiert folgendes: Ließe man sämtliche <Limit> und <LimitExcept> Klauseln weg, dann würde der WebDAV Server für jedermann schreib- und lesbar sein. Das ist meistens nicht gewünscht.
Der einzige WebDAV Request, der ohne Anmeldung zulässig sein sollte, ist der OPTIONS Request; dieser wird nämlich für die Konfiguration des WebDAV Servers von Windows aus benötigt, und zwar noch bevor der Dialog mit dem Usernamen und Passwort kommt. Schlägt er fehl, teilt Windows dem User mit, dass es Probleme beim Zugriff auf den WebDAV Server gibt. Durch die Klausel <LimitExcept OPTIONS> erreicht man, dass OPTIONS der einzige Request ist, der kein Passwort benötigt.
Die Klausel <Limit COPY DELETE LOCK MKCOL MOVE POST PUT UNLOCK> stellt sicher, dass nur User in der Gruppe "rw" Schreibzugriffe ausführen dürfen.
...der Einwand ist plausibel. Bei mir läuft es jedenfalls auch mit AuthUserFile,...
...der Einwand ist plausibel. Bei mir läuft es jedenfalls auch mit AuthUserFile, und ich kann den Server erstmal nicht runterfahren, um AuthDigestFile zu testen.
Du schreibst:
Wichtig ist ebenfalls, dass der Apache für SSL eingerichtet wird....
Du schreibst:
Wichtig ist ebenfalls, dass der Apache für SSL eingerichtet wird. Die
WebDAV Funktionen von Microsoft Windows XP entsprechen nicht genau dem
Standard, und der Zugriff von Microsoft Windows auf einen Apache WebDAV
Server funktioniert nur dann, wenn man das https Protokoll verwendet.
Ich habe mit WindowsXP genau die entgegengesetzte Erfahrung gemacht. Zugriff ist nur über http und nicht über https möglich. Du kannst bei der Verbindung zwar die https url angeben, aber de facto wird die http verbindung verwendet. Ist diese nicht vorhanden, dann ist auch kein Zugriff möglich. Wie das ganze unter Vista aussieht weiß ich nicht.
Vielen Dank für Deinen Artikel, Arne\! Er hat mich auf den richtigen Weg gebrac...
Vielen Dank für Deinen Artikel, Arne\! Er hat mich auf den richtigen Weg gebracht. Allerdings klappte auch bei mir erst die modifizierte Version:
<LimitExcept OPTIONS>
Require group rw
</LimitExcept><Limit OPTIONS HEAD GET PROPFIND>
Require group ro
</Limit>
Dadurch wird erst einmal alles ausser OPTIONS nur der Gruppe rw ermöglicht. Danach erfolgt eine Aufweichung/Differenzierung der Zugriffsrechte, indem HEAD, GET und PROPFIND zusätzlich der Gruppe ro ermöglicht wird (Ob da OPTIONS nochmal in der Liste stehen muss konnte ich nicht verifizieren). Diese Vorgehensweise hat den auch Vorteil, dass nicht aufgeführte Methoden auf die Gruppe rw beschränkt sind. Ich hoffe, da ist kein Denkfehler drin, aber zumindest funktioniert es so bei mir...
Kommentare (6)
12.Dez.2006
Anonym sagt:
Nette Zusammenfassung. Eine Kleinigkeit: müsste es nicht AuthDigestFile s...Nette Zusammenfassung.
Eine Kleinigkeit: müsste es nicht AuthDigestFile sein und nicht AuthUserFile?
13.Dez.2006
Arne Schirmacher sagt:
...der Einwand ist plausibel. Bei mir läuft es jedenfalls auch mit AuthUserFile,......der Einwand ist plausibel. Bei mir läuft es jedenfalls auch mit AuthUserFile, und ich kann den Server erstmal nicht runterfahren, um AuthDigestFile zu testen.
27.Nov.2007
Anonym sagt:
Es gab vorher AuthUserFile und AuthDigestFile. Ab Version 2.2 werden beide Authe...Es gab vorher AuthUserFile und AuthDigestFile. Ab Version 2.2 werden beide Authentifizierungsarten in der AuthUserFile abgelegt.
23.Mai.2007
Anonym sagt:
Du schreibst: Wichtig ist ebenfalls, dass der Apache für SSL eingerichtet wird....Du schreibst:
Ich habe mit WindowsXP genau die entgegengesetzte Erfahrung gemacht. Zugriff ist nur über http und nicht über https möglich. Du kannst bei der Verbindung zwar die https url angeben, aber de facto wird die http verbindung verwendet. Ist diese nicht vorhanden, dann ist auch kein Zugriff möglich. Wie das ganze unter Vista aussieht weiß ich nicht.
24.Jul.2007
Anonym sagt:
Die Beschreibung mit <LimitExcept OPTIONS> usw. macht ja Sinn, klappt abe...Die Beschreibung mit <LimitExcept OPTIONS>
usw. macht ja Sinn, klappt aber leider bei mir nicht. Auch wer sich ohne Mitgliedschaft in rw anmeldet hat alle Rechte.
Ich musste <Limit HEAD GET POST OPTIONS PROPFIND>
verwenden um das gewünschte Verhalten zu erreichen.
02.Aug.2009
Anonym sagt:
Vielen Dank für Deinen Artikel, Arne\! Er hat mich auf den richtigen Weg gebrac...Dadurch wird erst einmal alles ausser OPTIONS nur der Gruppe rw ermöglicht. Danach erfolgt eine Aufweichung/Differenzierung der Zugriffsrechte, indem HEAD, GET und PROPFIND zusätzlich der Gruppe ro ermöglicht wird (Ob da OPTIONS nochmal in der Liste stehen muss konnte ich nicht verifizieren). Diese Vorgehensweise hat den auch Vorteil, dass nicht aufgeführte Methoden auf die Gruppe rw beschränkt sind. Ich hoffe, da ist kein Denkfehler drin, aber zumindest funktioniert es so bei mir...
Kommentar hinzufügen