Installera OpenLDAP i Gentoo

From Peters wiki
Jump to navigation Jump to search

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

Template:Box Code

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"

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

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