Installera OpenLDAP i Gentoo: Difference between revisions

From Peters wiki
Jump to navigation Jump to search
mNo edit summary
 
(36 intermediate revisions by 2 users not shown)
Line 1: Line 1:
''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.
Denna guide beskriver hur man installerar '''OpenLDAP''', skapar en adressbok och hur man kan få olika mailklienter att söka upp email adresser ur denna adressbok.


== Förberedelser ==
== 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
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. Exempel: Om du inte vill ha LDAP stöd för t.ex. Samba och ProFTPD lägg till följande rader i filen /etc/portage/package.use:
 
{{bc|1=
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
net-ftp/proftpd    -ldap
 
net-fs/samba      -ldap
{{Box Code|Om du inte vill ha LDAP stöd för t.ex. Samba och ProFTPD lägg till följande rader i filen /etc/portage/package.use:|<pre>
}}
net-ftp/proftpd    -ldap
net-fs/samba      -ldap
</pre>}}


Bygg sedan om de program som redan är installerade så att de får med LDAP stöd:
Bygg sedan om de program som redan är installerade så att de får med LDAP stöd:
# emerge --newuse -u world
{{Emerge|params=--newuse -u|world}}


== Installera OpenLDAP ==
== Installera OpenLDAP ==
Installera LDAP:
Installera LDAP:
# emerge openldap
{{Emerge|openldap}}


== Konfigurera OpenLDAP ==
== Konfigurera OpenLDAP ==
Line 25: Line 22:
  include              /etc/openldap/schema/cosine.schema
  include              /etc/openldap/schema/cosine.schema
  include              /etc/openldap/schema/inetorgperson.schema
  include              /etc/openldap/schema/inetorgperson.schema
=== Ladda backend moduler ===
Lägg till följande rader för att ladda hdb stöd:
modulepath      /usr/lib64/openldap/openldap
moduleload      back_hdb.so


=== Suffix och rootdn ===
=== Suffix och rootdn ===
Line 30: Line 32:
  suffix                "dc=foo,dc=homeip,dc=net"
  suffix                "dc=foo,dc=homeip,dc=net"
  rootdn                "cn=Manager,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 ===
=== Sätta ett root password ===
För att generera ett LDAP root lösenord kör följande kommando:
För att generera ett LDAP root lösenord kör följande kommando:
# slappasswd
{{RootCmd|slappasswd}}
Ange ett valfritt lösenord. Editera raden med rootpw och klipp in ditt hashade lösen. Exempel:
Ange ett valfritt lösenord. Editera raden med rootpw och klipp in ditt hashade lösen. Exempel:
  rootpw                {SSHA}sBmM93T6h1uTwscEdkbIvbMGSx/s2VaL
  rootpw                {SSHA}sBmM93T6h1uTwscEdkbIvbMGSx/s2VaL
Line 42: Line 41:
=== Starta OpenLDAP ===
=== Starta OpenLDAP ===
Starta LDAP servern:
Starta LDAP servern:
# /etc/init.d/slapd start
{{RootCmd|/etc/init.d/slapd start}}


Lägg även till så att servern startar vid start av systemet:
Lägg även till så att servern startar vid start av systemet:
# rc-update add slapd default
{{RootCmd|rc-update add slapd default}}


== Skapa adressboken i LDAP ==
== Skapa adressboken i LDAP ==
Skapa följande LDIF fil. Namnge den till /etc/openldap/addressbook.ldif. Anpassa den till din domän.
Skapa följande LDIF fil. Namnge den till /etc/openldap/addressbook.ldif. Anpassa den till din domän.


{{Box Code|/etc/openldap/addressbook.ldif för foo.homeip.net|<pre>
{{bc|1=
dn: dc=foo,dc=homeip,dc=net
dn: dc=foo,dc=homeip,dc=net
objectClass: dcObject
objectClass: dcObject
objectClass: organization
objectClass: organization
o: My LDAP Server
o: My LDAP Server
dc: foo
dc: foo


dn: cn=Manager,dc=foo,dc=homeip,dc=net
dn: cn=Manager,dc=foo,dc=homeip,dc=net
objectClass: organizationalRole
objectClass: organizationalRole
cn: Manager
cn: Manager


dn: ou=users,dc=foo,dc=homeip,dc=net
dn: ou=users,dc=foo,dc=homeip,dc=net
ou: users
ou: users
objectClass: top
objectClass: top
objectClass: organizationalUnit
objectClass: organizationalUnit


dn: ou=addressbook,dc=foo,dc=homeip,dc=net
dn: ou=addressbook,dc=foo,dc=homeip,dc=net
ou: addressbook
ou: addressbook
objectClass: top
objectClass: top
objectClass: organizationalUnit
objectClass: organizationalUnit
</pre>}}
}}
Kör sedan följande kommando och byt som vanligt ut så det passar din domän:
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
{{RootCmd|<nowiki>ldapadd -x -D 'cn=Manager,dc=foo,dc=homeip,dc=net' -W -f /etc/openldap/addressbook.ldif</nowiki>}}
Ange ditt LDAP root lösen som du satte i steget ovan.
Ange ditt LDAP root lösen som du satte i steget ovan.


== Installera phpldapadmin ==
== 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:
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 gör 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
{{Emerge|params=-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:
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>
  net-nds/phpldapadmin            ~<arch>
Line 84: Line 83:
== Konfigurera phpldapadmin ==
== Konfigurera phpldapadmin ==
Editera filen /var/www/localhost/htdocs/phpldapadmin/config/config.php och ändra följande. Sätt valfritt blowfish lösen:
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>';
  $config->custom->session['blowfish'] = '<slumpmässig text>';
Avkommentera följande rad och justera den så den passar din domän:
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');
  $ldapservers->SetValue($i,'login','dn','cn=Manager,dc=foo,dc=homeip,dc=net');
Line 98: Line 97:


Sedan behöver du köra konfigurationsskriptet för squirrelmail och addera din LDAP server. Kör följande kommandon som root:
Sedan behöver du köra konfigurationsskriptet för squirrelmail och addera din LDAP server. Kör följande kommandon som root:
# cd /var/www/localhost/htdocs/squirrelmail
{{RootCmd|cd /var/www/localhost/htdocs/squirrelmail|./configure}}
# ./configure
Välj ''Address Books'' från menyn. Välj sedan ''Change LDAP Servers''. Skriv ett + tecken och tryck sedan på Return. Mata sedan in uppgifterna för din LDAP server:
Välj ''Address Books'' från menyn. Välj sedan ''Change LDAP Servers''. Skriv ett + tecken och tryck sedan på Return. Mata sedan in uppgifterna för din LDAP server:
* Mata in IP adressen till din LDAP server
* Mata in IP adressen till din LDAP server
* Base DN sätter du till ou=addressbook,dc=foo,dc=homeip,dc=net
* Base DN sätter du till ou=addressbook,dc=foo,dc=homeip,dc=net
* Ange portnummer eller använde default
* Ange portnummer eller använd default
* Ange default charset
* Ange default charset
* Ange ett namn för din adressbok
* Ange ett namn för din adressbok
Line 115: Line 113:


=== Thunderbird ===
=== Thunderbird ===
Detta gäller för Thunderbird 1.5:
* Starta Thunderbird
* Välj ''Address Book'' från ''Tools'' menyn
* Välj ''New'' från ''File'' menyn och sedan ''LDAP Directory...''
* Under ''General'' fliken matar du inte valfritt namn under ''Name'', ''Hostname'' sätter du till IP adressen till LDAP servern och ''Base DN'' sätter du till ou=addressbook,dc=foo,dc=homeip,dc=net
* Klicka på OK
Sedan behöver vi lägga till LDAP adressboken så den används vid uppslagning av adresser då man skapar mail:
* Välj ''Options...'' från ''Tools'' menyn
* Klicka på ''Composition'' knappen och sedan på ''Addressing'' fliken
* Markera ''Directory Server'' under ''Address Autocompletion'' och välj sedan adressbok från listan
* Klicka på OK
Nu kan du pröva att skapa ett mail och se om Thunderbird hittar adressen från din LDAP adressbok.


=== Outlook ===
=== Outlook ===
Line 120: Line 130:
Detta gäller för Outlook 2003:
Detta gäller för Outlook 2003:
* Starta Outlook
* Starta Outlook
* Välj ''E-mail Accounts..." från ''Tools'' menyn
* Välj ''E-mail Accounts...'' från ''Tools'' menyn
* Välj ''Add a new directory or addressbook'' och klicka sedan på ''Next''
* Välj ''Add a new directory or addressbook'' och klicka sedan på ''Next''
* Välj ''Internet Directory Service (LDAP)'' och klicka sedan på ''Next''
* Välj ''Internet Directory Service (LDAP)'' och klicka sedan på ''Next''
Line 141: Line 151:


Nu kan du pröva att skapa ett mail och se om Outlook hittar adressen från din LDAP adressbok.
Nu kan du pröva att skapa ett mail och se om Outlook hittar adressen från din LDAP adressbok.
[[Category:GammalGuide]]

Latest revision as of 18:52, 24 October 2015

Denna guide beskriver hur man installerar OpenLDAP, skapar en adressbok och hur man kan få olika mailklienter att söka upp email adresser ur denna adressbok.

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. Exempel: Om du inte vill ha LDAP stöd för t.ex. Samba och ProFTPD lägg till följande rader i filen /etc/portage/package.use:

net-ftp/proftpd    -ldap
net-fs/samba       -ldap

Bygg sedan om de program som redan är installerade så att de får med LDAP stöd:

root # emerge --newuse -u world

Installera OpenLDAP

Installera LDAP:

root # emerge --ask 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

Ladda backend moduler

Lägg till följande rader för att ladda hdb stöd:

modulepath      /usr/lib64/openldap/openldap
moduleload      back_hdb.so

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:

root # 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:

root # /etc/init.d/slapd start

Lägg även till så att servern startar vid start av systemet:

root # rc-update add slapd default

Skapa adressboken i LDAP

Skapa följande LDIF fil. Namnge den till /etc/openldap/addressbook.ldif. Anpassa den till 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:

root # 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 gör 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:

root # 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'] = '<slumpmässig text>';

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.

Lägga till poster

Antingen använder du en mailklient som har skrivstöd för LDAP eller så använder du phpldapadmin. Mailprogram som har LDAP skrivstöd är tyvärr få. Evolution är det enda jag känner till som har det. Om du använder phpldapadmin, logga in som manager/root enligt ovan och klicka på plustecknen till vänster tills du har expanderat din adressbok. Klicka sedan på Create new entry here och välj sedan Addressbook entry. Det finns olika mallar för detta. Välj t.ex. mozillaOrgPerson som lär passa t.ex. Thunderbird bäst. Mata in uppgifterna och klicka sedan på Proceed och sedan Create object.

Inställningar för mailprogram

Squirrelmail

För att kunna använda LDAP i squirrelmail krävs det att du kompilerat squirrelmail med LDAP support.

Sedan behöver du köra konfigurationsskriptet för squirrelmail och addera din LDAP server. Kör följande kommandon som root:

root # cd /var/www/localhost/htdocs/squirrelmail
root #
./configure

Välj Address Books från menyn. Välj sedan Change LDAP Servers. Skriv ett + tecken och tryck sedan på Return. Mata sedan in uppgifterna för din LDAP server:

  • Mata in IP adressen till din LDAP server
  • Base DN sätter du till ou=addressbook,dc=foo,dc=homeip,dc=net
  • Ange portnummer eller använd default
  • Ange default charset
  • Ange ett namn för din adressbok
  • Ange default antal rader i sökresultaten
  • Ange default Bind DN om du bara vill söka i adressboken
  • Sätt LDAP protokollet till 3

När du är klar anger du ett d för done och trycker på Return. Välj sedan Save och Quit.

Logga in i squirrelmail. Börja skriva ett mail. Klicka på Address knappen och se om du kan söka upp någon person i din LDAP adressbok.

Thunderbird

Detta gäller för Thunderbird 1.5:

  • Starta Thunderbird
  • Välj Address Book från Tools menyn
  • Välj New från File menyn och sedan LDAP Directory...
  • Under General fliken matar du inte valfritt namn under Name, Hostname sätter du till IP adressen till LDAP servern och Base DN sätter du till ou=addressbook,dc=foo,dc=homeip,dc=net
  • Klicka på OK

Sedan behöver vi lägga till LDAP adressboken så den används vid uppslagning av adresser då man skapar mail:

  • Välj Options... från Tools menyn
  • Klicka på Composition knappen och sedan på Addressing fliken
  • Markera Directory Server under Address Autocompletion och välj sedan adressbok från listan
  • Klicka på OK

Nu kan du pröva att skapa ett mail och se om Thunderbird hittar adressen från din LDAP adressbok.

Outlook

Detta gäller för Outlook 2003:

  • Starta Outlook
  • Välj E-mail Accounts... från Tools menyn
  • Välj Add a new directory or addressbook och klicka sedan på Next
  • Välj Internet Directory Service (LDAP) och klicka sedan på Next
  • Ange IP adressen till LDAP servern under Server Name
  • Klicka på More Settings...
  • Under Connection fliken; Mata in lämpligt namn under Display Name och portnummer
  • Under Search fliken anger du Search Base till ou=addressbook,dc=foo,dc=homeip,dc=net
  • Klicka på OK knappen
  • Klicka på Next och sedan Finish

Sedan behöver vi lägga till LDAP adressboken så den används vid uppslagning av adresser då man skapar mail:

  • Välj Address Book från Tools menyn
  • Välj Options... från Tools menyn
  • Klicka på Add... knappen
  • Markera din LDAP adressbok och klicka på Add och sedan Close
  • Justera ev. sökordningen bland adressböcker
  • Klicka sedan på OK
  • Stäng adressboken

Nu kan du pröva att skapa ett mail och se om Outlook hittar adressen från din LDAP adressbok.