ldapuserdata Instalation Guide
Requirements
- Squirrelmail 1.4.4 or greater.
- Working LDAP Server. Tested with OpenLDAP.
Installation
Squirrelmail Preparation
- Untar the distribution under the plugins directory of your Squirrelmail. You
probably have already done this.
- Enable the plugin in Squirrelmail, preferrably using the conf.pl
administration script.
- Optional: Occasionally people on the Squirrelmail-devel mailing list have
complained that there are too many options in the various options screens, and
this is against usability and user-friendliness. Since part of the concept was
to cut down on options anyway, you can also remove, i.e. comment-out, the
options that are not used, in the files include/options/*.php. This will make
these screens lighter and provide only the preferences that will be saved
across sessions.
The relevant files are provided here, if you wish to use the exact, provided
schema.
So, you can substitute the original include/options/*.php
files with the ones provided in the directory options_screens; their purpose is
to remove the functionality that is available to the user by
removing the options that are not saved in LDAP.
For these options that have been removed, there are sane defaults provided in
config_sample.php.
OpenLDAP Preparation
- Add squirrelmail.schema to your LDAP server. The file provided in
doc/squirrelmail.schema is suitable for at least OpenLDAP 2.1.x. For
information on how to add the schema, please consult the
documenation of your LDAP server.
- Optionally, add a squirrelmail virtual user with read-only access in your
LDAP tree. This is configurable in config.php. You can bind as Manager all the
time and do the work; however, this is not a good practice, and the best thing
would be to have a separate squirrelmail virtual user and the appropriate ACLs.
There is also a need for an account with write access; this account must be
able to write the Squirrelmail attributes, as well as update the user's
objectClass.
LDAPuserdata Plugin configuration
- Copy config_sample.php to config.php and edit accordingly to suit your
preferences. The file is self-commented.
Remember that for all variables, even those that are not part of the LDAP
schema, you can always provide resonable and nice defaults in the
$prefs_default array.
Advanced Configuration
- If you need to define different IMAP servers for each user in LDAP, then
you are probably using something like the schema of Perdition, which holds
attributes for the user's mailhost. In that case, in your Squirrelmail
configuration, you can set the IMAP server address to be
'map:ldapuserdata_get_imapserveraddress', i.e.:
$imapServerAddress = 'map:ldapuserdata_get_imapserveraddress';
- For Information regarding LDAP-based Identities, see the page LDAP Identities.
Good luck... There might be some things I've left out, so please email squirrelmail-plugins
mailing list with questions. Feel free to Cc: me anyway so as to grab my
attention. (Do read this manual first!).