Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


=== ABOUT ===

ConTagged is a webbased address book for small companies. It features a public
address book which is writable for all company staff and a personal address
book for each staff member. ConTagged requires an already setup LDAP server to
authenticate users and store it's data.


You need to have a running LDAP Server with some users (objectClass=posixUser)
in it. It is important that you already have these users because LDAPab uses
them to authenticate.

You need a webserver (peferable Apache) with PHP (4.3 or higher). PHP needs to
be compiled with LDAP support (compiled in or as extension)

=== SETUP ConTagged ===

Copy the contents of the .tgz file to a directory below your webserver document
root. Make sure the webserver is able to write to the cache directory which is
used for the template engine's cache files. A 'chmod 777 cache' will do.

Copy the inc/config.phpi.dist file to inc/config.php file and open it in your
favourite editor and edit the options according to your needs. Some knowlege
about LDAP may come in handy.

If HTTP auth is wanted have a look at the provided _htaccess file, edit it as
needed and rename it back to .htaccess


The following only describes what to do for open-ldap 2.0! If you use any
other LDAP server you're left to our own.

You need to include the inetOrgPerson schema in you slapd.conf:

  include /etc/ldap/schema/inetorgperson.schema

If you want to use the extended schema (needed for tagging) you need to copy the
ldapab.schema file to /etc/ldap/schema/ and include it, too.

  include         /etc/ldap/schema/ldapab.schema

If you don't use the extended schema, remove the contactPerson from the object
classes array in the config.

To setup the access rights add the following statement to your slapd.conf. Of
course you have to replace "o=cosmocode,c=de" with your own root DN. The first
entry may have to adjusted also if your users aren't stored in a ou=people
entry. Make sure you include these lines before other access control lists that
match these parts of the ldap tree. If you are unsure have a look at the
included slapd.example file

  access  to dn.regex="(.*,)?ou=contacts,cn=([^,]+),ou=people,(.*)$"
          by dn.regex="cn=$2,ou=people,$3" write
          by * none

  access to dn.subtree="ou=contacts,o=cosmocode,c=de"
         by users write
         by * read

After this modifications you have to restart the slapd server.

The last thing is to add the contacts leafs to your LDAP tree. You'll need to
add a global contacts leaf at top.

  eg: 'ou=contacts,o=cosmocode,c=de'

And a contacts leaf for every user.

  eg: 'ou=contacts,cn=Joe Schmoe,ou=people,o=cosmocode,c=de'

If you made everything correct you can point your webbrowser to the newly
installed ConTagged and use it :-) If you encounter problems try to enable
logging in your LDAP server to see what the problem is.


This new version of ConTagged is very flexible in how your contacts should be
stored in your LDAP directory. ConTagged uses internal field names which can be
mapped to arbitrary LDAP attributes.

By default, all contacts are stored with the inetOrgPerson and contactPerson
object classes. If you want to use different classes and attributes, you can
add objectClasses in the 'oclasses' config option and custom fields in the
'customFields' option. Also have a look at the inc/fields.php file to understand
what additional mappings are available.

Note: your contacts should *always* use the inetOrgPerson objectclass at
minimum, but you can add any other objectclasses. OXUserObject from OpenExchange
and evolutionPerson from the Evolution software are set up in already and can
simply be enabled by using the right config class in config.php.

If you want to add new internal field names, you need to adjust the templates
accordingly. If you add support for new schemas, please send your changes to
us for inclusion in a next release.


This software was developed to satisfy a need in our company. We give it to the
public because it may be helpful to other companies with the same needs.
However this is not a supported product. We like to get feedback and patches
but we can't promise to answer, to fix bugs or include feature wishes. However
don't hesitate to contact us but understand that our core business has priority
over this project.

We prefer to receive bug reports and features wishes through the issue tracker
at If you want to otherwise
contact us, send a mail to or visit our homepage at

=== KNOWN BUGS ===

ConTagged was only tested with open-ldap 2.1 - there may be problems with other
LDAP Servers.

=== LICENSE ===

ConTagged - An LDAP based Company Address Book
Copyright 2004 - 2014 - CosmoCode GmbH

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

See COPYING for details
Something went wrong with that request. Please try again.