Installera OpenLDAP i Gentoo: Difference between revisions

From Peters wiki
Jump to navigation Jump to search
Line 54: Line 54:
  o: '''My LDAP Server'''
  o: '''My LDAP Server'''
  '''dc: foo'''
  '''dc: foo'''
<br>
  dn: cn=Manager,'''dc=foo,dc=homeip,dc=net'''
  dn: cn=Manager,'''dc=foo,dc=homeip,dc=net'''
  objectClass: organizationalRole
  objectClass: organizationalRole

Revision as of 14:12, 20 July 2006

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

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"

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.