Ubuntu Apache och OS X 10.5 LDAP

Denna guide kommer beskriva hur du kopplar en Ubuntu Webserver (Apache2) till OS X 10.5 Server. Du kommer då att kunna hämta autentiseringsuppgifter för .htaccess och liknande.

För att börja med denna guiden bör du ha en uppkonfad Ubuntu med Apache osv. Du måste också ha en OS X 10.5 Server (10.4 funkar nog också). Har du inte de så fixa och kom tillbaka senare :)

Har du en Open Directory som redan fungerar så behöver du inte ändra så mycke i den, se till så du kommer åt LDAP från Webservern (Port 389) så du inte har nån brandvägg eller så ivägen.

Aktivera ldap-modulerna i Apache på Ubuntuservern.
edit: I nyare versioner av debian/ubuntu verkar authz_ldap ersatt auth_ldap, så har ni ingen auth_ldap, kör bara på med authnz så skall det fungera.

a2enmod auth_ldap
a2enmod authnz_ldap

Nu ska Apache kunna prata med LDAP-servern. Nu ska vi testa lägga till några direktiv i en .htaccess-fil för att kontrollera vem som är behörig att läsa en katalog. Se till så du har satt AllowOveride för den katalog du har .htaccess-filen i, annars kommer den inte läsas in. Skriv in följande.
Order deny,allow
Deny from All
AuthName "Inloggning till hemliga saker"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPUrl ldap://ldap.company.com/cn=users,dc=ldap,dc=company,dc=com?cn
Require valid-user
Satisfy any

Fyll i adress och ”ldap-base”. Jag har kört så jag har fornamn.efternamn (epostadressen) som login. Detta innebär att man måste välja Common Name (cn) istället för uid (där punkten i användarnamnet plockas bort). I exemplet ovan så kan du logga in med vilken giltig användare som helst på ldap-servern. Vill du istället att användarna måste vara medlem i en speciell grupp för att få logga in så kan du använda exemplet nedan. Skriv in namnet på gruppen och kolla vad den har för gid som gäller och skriv in det på raden under. Vill du ha flera grupper så lägg till fler rader, gruppnamn & gid för varje grupp.
Order deny,allow
Deny from All
AuthName "Inloggning till hemliga saker"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative on
AuthLDAPUrl ldap://ldap.company.com/cn=users,dc=ldap,dc=company,dc=se?cn
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
Require ldap-group cn=grupp,ou=Group,dc=company,dc=com
Require ldap-attribute gidNumber=520
Satisfy any

Om du har gjort rätt nu så ska en login-ruta komma upp när du surfar till katalogen med .htaccess-filen, skriv in en användare som finns i LDAP-katalogen och prova logga in.

Lämna gärna en kommentar nedan om du finner denna guide användbar.

Leave a Reply