Project

General

Profile

Apache22DavLdap » History » Revision 13

Revision 12 (Amministratore Truelite, 10/30/2007 07:14 PM) → Revision 13/14 (Simone Piccardi, 12/21/2010 12:32 PM)

[[TracNav(TOC)]]

h1. Autenticazione LDAP per WebDAV

[[WebDAV]]

Le direttive di configurazione di Apache per usare l'autenticazione su LDAP
sono cambiate nel passaggio ad Apache 2.2 (quindi nel passaggio da Debian
Sarge a Debian Etch), che ha rivoluzionato i meccanismi di autenticazione.

Questo comporta la necessità di effettuare diversi cambiamenti ad eventuali
precedenti configurazioni che altrimenti sarebbero rimaste perfettamente
funzionanti.

Anzitutto si devono abilitare i moduli di Apache per LDAP che nel caso
specifico si può fare con i comandi:


<pre>

a2enmod ldap
a2enmod authnz_ldap
</pre>



In particolare se si vuole consentire l'accesso autenticando gli utenti su un
server LDAP remoto (da accedere in maniera sicura via SSL) si dovranno
utilizzare:

* la direttiva @LDAPTrustedMode@ impostata a SSL per impostare <pre>
l'accesso SSL.
* <pre>
la direttiva @LDAPVerifyServerCert@ impostata a off per bloccare la verifica del certificato del server (e semplificare la connessione,
altrimenti si dovrà utilizzare una appropriata CA).
* la direttiva @AuthBasicProvider@ per indicare (impostandola al valore ldap) di farsi dare i dati di autenticazione da LDAP.
* la direttiva @AuthLDAPURL@ per impostare la URL del server LDAP ed il
<pre>
<pre>
<pre>
relativo ramo di albero da cui ricever i dati di autenticazione.
* la direttiva @AuthzLDAPAuthoritative@ impostata ad off per <pre>
bloccare l'uso esclusivo dei dati di LDAP e consentire così il funzionamento della ulteriore direttiva @require valid-user@.


<pre>

Un esempio di configurazione di un _Virtual Host_ di default, utilizzato per fornire accesso WebDAV alla cartella @/data@ di un server sotto la URI webdav è riportato qui di seguito:


<pre>
NameVirtualHost

<pre>

<pre>
[[NameVirtualHost]]
*


LDAPTrustedMode SSL
LDAPVerifyServerCert Off


<VirtualHost *>
ServerAdmin [[ServerAdmin]] webmaster@truelite.it
DocumentRoot


[[DocumentRoot]]
/data/
<Directory />
Options FollowSymLinks [[FollowSymLinks]]
AllowOverride [[AllowOverride]] None
</Directory>
<Directory /data/>
Options Indexes FollowSymLinks [[FollowSymLinks]] MultiViews
AllowOverride [[AllowOverride]] None
Order allow,deny
allow from all
</Directory>
ScriptAlias


[[ScriptAlias]]
/cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride [[AllowOverride]] None
Options ExecCGI [[ExecCGI]] -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog


[[ErrorLog]]
/var/log/apache2/error.log


# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel [[LogLevel]] warn
CustomLog


[[CustomLog]]
/var/log/apache2/access.log combined
ServerSignature [[ServerSignature]] On


# Note Alias goes to our DocumentRoot. [[DocumentRoot]].
Alias /webdav /data/


# But we apply different settings
<Location /webdav>
DAV On
AuthName [[AuthName]] "Truelite"
AuthType [[AuthType]] Basic
AuthBasicProvider [[AuthBasicProvider]] ldap
AuthLDAPURL [[AuthLDAPURL]] ldaps://ldap.fi.trl/ou=People,dc=truelite,dc=it?uid
AuthzLDAPAuthoritative [[AuthzLDAPAuthoritative]] Off
require valid-user
</Location>


</VirtualHost>


</pre>