Lightweight Contact Manager - LiCoM -===================================- Requirements: - Webserver with CGI support (Apache, http://httpd.apache.org/, with mod_auth_ldap works best) - LDAP server (OpenLDAP will do, http://www.openldap.org/) - Perl (Version 5.6 or later) Other things you need: - Understanding of Apache and LDAP OR - Someone who knows OR - Curiosity, manuals, time and coffee Installation: Please read these instructions, they include non-obvious hints. - Install and configure the LDAP-Server. The root-node for each User must be of the type (aka. objectClass) ``inetOrgPerson''. Also, make sure the ``uid'' Field is set. LDAP-entries without an uid-field are considered to be contact-entries. For a sample layout see ``The big picture'' below. - Install and configure Apache. There is a sample config in the samples directory which will guide you. It's very important that the REMOTE_USER environment variable is set to the full DN by mod_auth_ldap. Look for ``AuthLDAPRemoteUserIsDN'' in Apache's manual. You will have to set a passwort to connect to the LDAP server, unless you allow anonymous logins. Make sure the passwort is not world-readable. - Copy the ``licom.cgi'' script into the directory you just set up. Make sure it's executable by the weberser-user. - Copy the directory ``lib/LiCoM'' to an appropriate directory. ``perl -V:installsitelib'' may give you an idea what an appropriate directory might be. You may not want to install the modules globally. In this case copy the entire ``lib'' directory into the same directory as the CGI script. It will look in a subdirectory ``lib'' for it's modules. - Create a config at ``/etc/licom/licom.conf''. Again, the samples directory is your friend. Also: there's probably a password in this file. Make sure it's not world-readable. The webserver will need read-permissions though. - To install the licom-mutt.pl script you will need to do something fancy, I guess.. I'll explain it as soon as I know for sure.. Okay, that's about it. You may stop reading now if you dislike reading documentation ;) Motivation: LiCoM is a contact manager I started writing because my family, my friends and myself were not very comfortable with the many existing address book scripts. The demands were: - High compatibility with existing e-mail readers - Read and write operations - Export to vCards - Print lists of groups and/or all contacts - Multi-user capable These requirements are tried to be met with the following approach: - Data is kept in an LDAP database (the overall layout is shown in "The big picture") - The LDAP-server is accessed through perl modules which prodide a high-level interface to the database. - On top of these modules a CGI-script has been written. The big picture: [dc=org] | `->[dc=verplant] | `->[ou=addresses] | +->[cn=Forster Florian] | | | +->[cn=Test Person] | +->[cn=Someone Else] | : ... | `->[cn=Last Person] | +->[cn=Another User] | | | +->[cn=Still More Entries] : :