Written by Lacroix Francois (lacroix.francois [at] gmail [dot] com)
[[toc]]
This document is intended to help administrators set up a LDAP to store Horde and IMP prefs.
++ 1- Installing schema
Copy the horde/scripts/ldap/horde.schema to /etc/ldap/schema/
Restart your ldap server.
++ 2- Horde Setup
Storing Horde preferences in the LDAP directory adds a large number of attribute entries to every user DN. If this is something you do not want, you should look into using some other preference backend.
To use LDAP to store Horde preferences, set the preference system to use LDAP as its backend. The field values here are very simular to the Horde configuration.
* The hostname of the LDAP server - This is the address of your LDAP server. If you have a master and one or more slave LDAP servers, you can provide failover here by entering all of your LDAP servers separated by a space. For ldaps, use ldaps://<hostname> in this field.
* The port of the LDAP server - This is the port that your LDAP server is listening on. Most commonly, this will be 389.
* LDAP Protocol Version - This should almost always be LDAPv3.
* The base DN for the LDAP server - This is the subtree that horde will search through to find user preference information.
* The DN of the root (administrative) account to bind for write operations - This is not actually asking for the LDAP root account, this is just the DN that horde uses to bind to the LDAP directory. This account should have write priveleges to the preference fields, as shown below.
* The password of the root DN for bind authentication - The password associated with the binding account.
* The username search key - This is the field that stores the username.
++ 3- Configuring horde
+++ Horde config/prefs.php
Set pref hooks to true.
true: Will call the function _prefs_hook_<prefname>
to fill in the value of this preference.
See hooks.php for more details.
false: Normal behaviour - no hook is called.
// user full name for From: line
// If you lock this preference, you must specify a value or a hook for it in
// horde/config/hooks.php.
$_prefs['fullname'] = array(
'value' => '',
'hook' => true,
'locked' => false,
'shared' => true,
'type' => 'text',
'desc' => _("Your full name:")
);
// user preferred email address for From: line
// If you lock this preference, you must specify a value or a hook for it in
// horde/config/hooks.php.
$_prefs['from_addr'] = array(
'value' => '',
'hook' => true,
'locked' => false,
'shared' => true,
'type' => 'text',
'desc' => _("Your From: address:")
);
+++ Horde config/hooks.php
Uncomment and configure the hook you actived.
_prefs_hook_fullname
_prefs_hook_from_addr
By modify $ldapServer, $ldapPort, $searchBase
++ See Also