Configuration
The Configuration File
The configuration file for RSCDS is looked for in two places. First, a {{{config/config.php}}} file is looked for, relative to the RSCDS root directory (the directory above the htdocs directory). If that is not present then it will look for a file in {{{/etc/rscds}}} which is named {{{domain.com-conf.php}}}. This file is a PHP file and is included very early in the processing of each page.
Although you use RSCDS only from remote locations a {{{/etc/rscds/localhost-conf.php}}} is also necessary. So make a symbolic link from {{{/etc/rscds/localhost-conf.php}}} to your {{{/etc/rscds/domain.com-conf.php}}}. (I didn't need to do this. -- MattPalmer, 2007-11-08)
Example Configurations
Some commented example configurations are available in the source code. Unfortunately these did not ship with 0.8.0 but they will be included in future versions in {{{/usr/share/doc/rscds/examples}}}.
You can, however, download these example configurations from the source code, here:
- Example Config - examples of the general settings.
- Other Config - examples of the more unusual settings.
- Debugging Config - examples of the debugging settings.
Authentication Configuration
Standard PostgreSQL Database
Using LDAP
/********************************/ /*********** LDAP hook **********/ /********************************/ //$c->authenticate_hook['call'] = 'LDAP_check'; //$c->authenticate_hook['config'] = array( // 'host' => 'www.tennaxia.net', //host name of your LDAP Server // 'port' => '389', //port // 'bindDN'=> 'cn=manager,cn=internal,dc=tennaxia,dc=net', //DN to bind to this server enabling to perform request // 'passDN'=> 'xxxxxxxx', //Password of the previous bindDN to bind to this server enabling to perform request // 'baseDNUsers'=> 'dc=tennaxia,dc=net', //where to look at valid user // 'filterUsers' => 'objectClass=kolabInetOrgPerson', //filter that must validate an valid user // 'baseDNGroups' => 'ou=divisions,dc=tennaxia,dc=net', //not used ATM // 'filterGroups' => 'objectClass=groupOfUniqueNames', //not used ATM /** /!\ "username" should be set and "updated" must be set **/ // 'mapping_field' => array("username" => "uid", // "updated" => "modifyTimestamp", // "fullname" => "cn" , // "email" =>"mail", // "active" => ), //used to create the user based on his ldap properties /** used to set default value for all users, will be overcharged by ldap if defined also in mapping_field **/ // 'default_value' => array("date_format_type" => "E","locale" => "fr_FR"), /** foreach key set start and length in the string provided by ldap example for openLDAP timestamp : 20070503162215Z **/ // 'format_updated'=> array('Y' => array(0,4),'m' => array(4,2),'d'=> array(6,2),'H' => array(8,2),'M'=>array(10,2),'S' => array(12,2)) // // ); // //include('drivers_ldap.php');
Using a different 'AWL' database
The "AWL" library contains the basic database structure for user data which is used by RSCDS, and it is possible to use this data from a different database. This plugin is written more-or-less as an example of how to write an authentication plugin, but may be useful.