Kolab - How to integrate Dokuwiki

Brief description of the Kolab Groupware integration with Dokuwiki.

This process uses slightly modified commit 65dfbee of the roundcubemail-plugins-kolab.

Kolab

Download Dokuwiki plugin.

Extract it to the following directory.

/usr/share/roundcubemail/plugins/

Open plugin configuration file config.inc.php and define authentication exchange secret.

Edit Roundcube configuration file (main.inc.php) and add dokuwiki plugin to the $rcmail_config['plugins'] array to enable it.

Dokuwiki

Extract Dokuwiki to the /var/www/dokuwiki/ directory and use install.php script to enable ACL, and set superuser credentials.

Provided superuser credentials will be needed when LDAP service is disabled.

Define LDAP parameters in the conf/local.protected.php configuration file (replace KolabServicePassword and example.org).

<?php
$conf['useacl']      = 1;
$conf['openregister']= 0;
$conf['authtype']    = 'authldap';
 
$conf['auth']['ldap']['server']      = 'localhost';
$conf['auth']['ldap']['usertree']    = 'dc=example,dc=org';
$conf['auth']['ldap']['grouptree']   = 'dc=example,dc=org';
$conf['auth']['ldap']['userfilter']  = '(&(uid=%{user}))';
$conf['auth']['ldap']['groupfilter'] = '(&(objectClass=posixGroup)(uniqueMember=%{dn}))';
$conf['auth']['ldap']['mapping']     = array();
$conf['auth']['ldap']['version']    = 3;
 
$conf['auth']['ldap']['binddn']     = 'cn=Directory Manager';
$conf['superuser']                  = '@DokuwikiAdmins';  
$conf['auth']['ldap']['bindpw']     = 'KolabServicePassword';

$conf['auth']['ldap']['debug']      = 0;

$conf['auth']['ldap']['kolab_server'] = 'http://10.0.0.1/roundcubemail/';
$conf['auth']['ldap']['kolab_secret'] = '';
Do not forget to set kolab_server and kolab_secret.

Create POSIX groups DokuwikiAdmins and DokuwikiEditors using Kolab Admin Interface. First group is for wiki administrators, second for editors.

Configure ACL.

# acl.auth.php
# <?php exit()?>
# Don't modify the lines above
#
# Access Control Lists
#
# Auto-generated by install script
# Date: Mon, 24 Jun 2013 17:50:42 +0000
*               @ALL             0
*               @user            1
*               @DokuwikiEditors 8
Anonymous users cannot access wiki.
Logged in users can read articles.
DokuwikiEditors group grants editor rights.
DokuwikiAdmin group grants administrator rights.

Enable LDAP plugin in the conf/plugins.local.php configuration file:

<?php

$plugins['authad']    = 0;
$plugins['authldap']  = 1;
$plugins['authmysql'] = 0;
$plugins['authpgsql'] = 0;

Replace authldap plugin (lib/plugins/authldap directory) using this modified version to enable single sign-on.

Milosz Galazka's Picture

About Milosz Galazka

Milosz is a Linux Foundation Certified Engineer working for a successful Polish company as a system administrator and a long time supporter of Free Software Foundation and Debian operating system. He is also open for new opportunities and challenges.

Gdansk, Poland https://sleeplessbeastie.eu