Wenn man LDAP hat, sollte man es auch nutzen. Kurzum, so richten wir ein Verzeichnis mit HTTP Auth per LDAP ein. Ich selbst nutze iRedMail als Mailserver mit LDAP Backend, dazu mehr in einem späteren Beitrag, und möchte es euch als Vorlage präsentieren.
Punkt 1: Apache Module überprüfen/installieren
Wir benötigen diese Apache Module für die LDAP Authentifizierung.
1 2 3 |
# apachectl -M 2>&1 | grep ldap authnz_ldap_module (shared) ldap_module (shared) |
Falls diese nicht aktiviert sind, bitte über den Paketmanager installieren und aktivieren.
Punkt 2: Die vHost Konfiguration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<Directory /var/www> Order allow,deny Allow from all Options -Indexes AllowOverride all AuthBasicProvider ldap AuthType Basic AuthName "LDAP Login" AuthzLDAPAuthoritative off AuthLDAPBindDN cn=vmail,dc=example,dc=org AuthLDAPBindPassword [IREDMAIL_READ_ONLY_PASSWORD] AuthLDAPURL ldap://127.0.0.1/o=domains,dc=example,dc=org?mail??(|(enabledService=htaccess)) require valid-user </Directory> |
Das war es auch schon.
Mit dem Filter enabledService=htaccess können LDAP Benutzer eingeschränkt werden, es soll ja nicht jeder Zugriff auf den vHost Ordner haben.