Installera OpenLDAP i Gentoo
Notera: Guiden är under uppbyggnad. Allt är inte på plats. T.ex. saknas guide hur man får igång LDAP i mail klienter som Thunderbird och Squirrelmail.
Förberedelser
Logga in som root. Börja med att lägga till LDAP support för dina program genom att editera filen /etc/make.conf och lägg till ldap till USE flaggan
Om du inte vill ha LDAP stöd för något program, så lägg till lokala undantag i filen /etc/portage/package.use
Bygg sedan om de program som redan är installerade så att de får med LDAP stöd:
# emerge --newuse -u world
Installera OpenLDAP
Installera LDAP:
# emerge openldap
Konfigurera OpenLDAP
För att anpassa OpenLDAP behöver vi göra några justeringar av filen /etc/openldap/slapd.conf.
LDAP Scheman
Eftersom vi i första hand tänker använda LDAP för att centralisera en adressbok, så behöver vi stöd för ett schema som heter inetorgperson. Lägg till dessa två rader efter raden som inkluderar core.schema:
include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema
Suffix och rootdn
Ändra raderna suffix och rootdn till något som passar din domän. Om du har domänen foo.homeip.net så bör du ändra till:
suffix "dc=foo,dc=homeip,dc=net" rootdn "cn=Manager,dc=foo,dc=homeip,dc=net"
Det verkar vara ett fel i slapd.conf filen. Raden:
checkpoint 32 30 # <kbyte> <min>
måste flyttas. Lägg den efter suffix och rootdn raderna.
Sätta ett root password
För att generera ett LDAP root lösenord kör följande kommando:
# slappasswd
Ange ett valfritt lösenord. Editera raden med rootpw och klipp in ditt hashade lösen. Exempel:
rootpw {SSHA}sBmM93T6h1uTwscEdkbIvbMGSx/s2VaL
Starta OpenLDAP
Starta LDAP servern:
# /etc/init.d/slapd start
Lägg även till så att servern startar vid start av systemet:
# rc-update add slapd default
Skapa adressboken i LDAP
Skapa följande LDIF fil. Namnge den till /etc/openldap/addressbook.ldif. Byt ut fetmarkerad text så att det passar din domän:
dn: dc=foo,dc=homeip,dc=net objectClass: dcObject objectClass: organization o: My LDAP Server dc: foo
dn: cn=Manager,dc=foo,dc=homeip,dc=net objectClass: organizationalRole cn: Manager
dn: ou=users,dc=foo,dc=homeip,dc=net ou: users objectClass: top objectClass: organizationalUnit
dn: ou=addressbook,dc=foo,dc=homeip,dc=net ou: addressbook objectClass: top objectClass: organizationalUnit
Kör sedan följande kommando och byt som vanligt ut så det passar din domän:
# ldapadd -x -D 'cn=Manager,dc=foo,dc=homeip,dc=net' -W -f /etc/openldap/addressbook.ldif
Ange ditt LDAP root lösen som du satte i steget ovan.
Installera phpldapadmin
LDAP är inte helt lätt att förstå, så ska vi ha någon chans att kunna lägga till och editera poster behöver vi något som livet lite enklare: phpldapadmin. Se till att installera phpldapadmin 1.0.1 eller nyare. De äldre versionerna saknade bl.a. edit stöd på poster. Kolla vilken version som kommer att installeras:
# emerge -p phpldapadmin
Om 1.0.1 eller nyare visas, kör om kommandot utan -p. Annars editera filen /etc/portage/package.keywords och lägg till följande:
net-nds/phpldapadmin ~<arch>
där <arch> är x86, amd64 eller vad du nu använder för arkitektur. Kör sedan om emerge kommandot och installera phpldapadmin.
Konfigurera phpldapadmin
Editera filen /var/www/localhost/htdocs/phpldapadmin/config/config.php och ändra följande. Sätt valfritt blowfish lösen:
$config->custom->session['blowfish'] = '<Lägg in slumpmässiga text här';
Avkommentera följande rad och justera den så den passar din domän:
$ldapservers->SetValue($i,'login','dn','cn=Manager,dc=foo,dc=homeip,dc=net');
Spara filen och pröva att logga in via sidan http://localhost/phpldapadmin och ange följande som Login DN: cn=Manager,dc=foo,dc=homeip,dc=net och ditt LDAP root lösen. Istället för localhost kanske du måste ange IP adressen på din LDAP server.