WebDAV+LDAP+SSL+Apache2 unter Windows Server 2003


Hallo,

habe gerade einen WebDAV-Server mit SSL+LDAP unter Apache2 auf Windows Server 2003 eingerichtet. Die ganzen Anleitungen im Internet waren eigentlich Müll. Überall wird einem eine Anleitung geboten, bei der man extra Module für Apache runterladen soll, oder gleich OpenSSL am System installieren muss – dabei ist das alles Unsinn!

Apache2 hat alles integriert um das zu lösen. Hier die Anleitung.

Man öffne die Datei „C:/Programme/Apache Software Foundation/Apache2.2/conf/httpd.conf“ und füge bei „Listen 80“ (Update 2011-09-05) eine neue Zeile mit „Listen 443“ hinzu (Ende Update). Im Block, wo alle „LoadModule“-Direktiven sind, folgende entkommentieren:

LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule ssl_module modules/mod_ssl.so

Danach in den Ordner conf/extra wechseln und die Datei „httpd-dav.conf“ öffnen. Hier folgendes eintragen, um etwa Ordner „D:/OrdnerXYZ“ freizugeben:

DavLockDB „C:/Programme/Apache Software Foundation/Apache2.2/var/dav_locks/DAVLOCK“
DAVMinTimeout 600SSLEngine on
SSLCertificateFile „C:\Programme\Apache Software Foundation\Apache2.2\conf\server.crt“
SSLCertificateKeyFile „C:\Programme\Apache Software Foundation\Apache2.2\conf\server.crt“
SetEnvIf User-Agent „.*MSIE.*“ nokeepalive ssl-unclean-shutdown

Alias /xyz „D:/OrdnerXYZ“

<Directory „D:/OrdnerXYZ“ >
Dav On
Options +Indexes

Order Allow,Deny
Allow from all

AuthType Basic
AuthName DAV-upload

AuthBasicProvider ldap

AuthzLDAPAuthoritative OFF
AuthLDAPBindDN cn=einbenutzer,DC=ldap,DC=local
AuthLDAPBindPassword benutzerspasswort
AuthLDAPURL ldap://ip-vom-ldap:389/DC=ldap,DC=local?cn?
require valid-user
SSLRequireSSL
</Directory>
#
# The following directives disable redirects on non-GET requests for
# a directory that does not include the trailing slash. This fixes a
# problem with several clients that do not appropriately handle
# redirects for folders with DAV methods.
#
BrowserMatch „Microsoft Data Access Internet Publishing Provider“ redirect-carefully
BrowserMatch „MS FrontPage“ redirect-carefully
BrowserMatch „^WebDrive“ redirect-carefully
BrowserMatch „^WebDAVFS/1.[0123]“ redirect-carefully
BrowserMatch „^gnome-vfs/1.0“ redirect-carefully
BrowserMatch „^XML Spy“ redirect-carefully
BrowserMatch „^Dreamweaver-WebDAV-SCM1“ redirect-carefully

Der Ordner für unsere DAVLOCK-DB muss erst erstellt werden – ich habe hiezu den Ordner „C:/Programme/Apache Software Foundation/Apache2.2/var/dav_locks/“ angelegt.

In diesem Fall wird dann das WebDAV-Verzeichnis unter https://unseredomain/xyz verfügbar sein (je nachdem, was man beim „ALIAS“ einträgt.
Nun müssen wir natürlich noch ein SSL-Zertifikat erstellen. Das geht so, man öffnet über Windows / Ausführen / „cmd“ eine Befehlseingabe und wechseln in den Ordner „C:\Programme\Apache Software Foundation\Apache2.2\conf\“.

Hier erstellt man das Zertifikat über den Befehl:

openssl req -new -x509 -keyout server.crt -out server.crt -days 1095 -nodes

Dieses Zertifikat ist dann für 1095 Tage gültig – etwa 3 Jahre sollten ja vorerst mal reichen. Hier werden nun ein paar Informationen abgefragt, also etwa Land, Stadt, Firmenname etc. – es ist eigentlich egal was man da eingibt, aber der Benutzer kann halt nachschauen was im Zertifikat steht.


UPDATE (2011-09-05): Heute mußte ich diese Installation erneut durchführen unter
Windows Server 2008 und Apache 2.20. Woran genau es liegt kann ich nicht sagen,
jedenfalls ist die openssl.exe nicht im Ordner CONF gelegen, sondern im Ordner BIN.
Die Config-Datei für SSL lag aber dennoch im Ordner CONF – weshalb der ursprüngliche
Befehl zur Erstellung des SSL-Zertifikats nicht mehr funktioniert hat.
Daher ändert sich die Vorgehensweise wie folgt:

  • Im Terminalfenster (Unter Windows 2008 unbedingt als Admin starten!!!) in Ordner …\Apache2\bin wechseln und folgenden Befehl eingeben
  • openssl req -new -x509 -keyout server.crt -out server.crt -days 1095 -nodes -config ..\conf\openssl.cnf
  • Die entsprechenden Daten für das Zertifikat eingeben
  • Die erstellte server.crt in den Ordner Apache2.2/conf kopieren.

ENDE UPDATE

Ist dieses „server.crt“ nun erstellt sind wir eigentlich fertig.

Einmal den Dienst Apache2 neu starten

net stop Apache2.2
net start Apache2.2

Nun sollte das WebDAV-Verzeichnis unter https://localhost/xyz verfügbar sein.

Es ist eigentlich so einfach – wenn man mal ne gute Anleitung hat.

Lg,

R.S.

Advertisements

Ein Gedanke zu “WebDAV+LDAP+SSL+Apache2 unter Windows Server 2003

  1. Super, danke für die Anleitung! Habe sie zwar nicht 1:1 übernommen, aber sie hat mir den entscheidenden Hinweis gegeben, nachdem ich einige andere Anleitungen erfolglos ausprobiert habe 😦


    Order Allow,Deny
    Allow from all

    waren meine Freunde die noch gefehlt haben.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s