Difference between revisions of "Cool Solution - Roundcube"

From Univention Wiki

Jump to: navigation, search
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Cool Solutions Disclaimer|Repository=no|UCS=4.1}}
+
{{Version|UCS=4.1}}
{{Review-Status}}
+
{{Cool Solutions Disclaimer|Repository=no}}
 +
{{#seo:
 +
|title={{#replace:{{#replace:{{#replace:{{#replace:{{FULLPAGENAME}}|'|'}}|&|&}}|"|"}}|Cool Solution - |}} - {{SITENAME}}
 +
<!--|description=-->
 +
}}
 +
 
 +
This article describes how to install the Roundcube webmailer interface, as an lightweight alternative to other webmail interfaces.
  
 
{{TOC}}
 
{{TOC}}
Line 53: Line 59:
  
 
Now search for $rcmail_config['ldap_public'] and add the following code to your file. Values in '< >' syntax must be changed to your own settings:
 
Now search for $rcmail_config['ldap_public'] and add the following code to your file. Values in '< >' syntax must be changed to your own settings:
 
+
<pre>
$rcmail_config['ldap_public']['<your base dn>'] = array(
+
$rcmail_config['ldap_public']['<your base dn>'] = array(
'name'          => '<your base dn>',
+
'name'          => '<your base dn>',
'hosts'        => array('<your ip adress>'),
+
'hosts'        => array('<your ip adress>'),
'port'          => 7389,
+
'port'          => 7389,
'use_tls'      => false,
+
'use_tls'      => false,
'ldap_version'  => 3,
+
'ldap_version'  => 3,
'user_specific' => true,
+
'user_specific' => true,
'base_dn'      => '<your base dn>',
+
'base_dn'      => '<your base dn>',
'bind_dn'      => '<your bind user>', //e.g uid=Administrator,cn=users,<your base dn>
+
'bind_dn'      => '<your bind user>', //e.g uid=Administrator,cn=users,<your base dn>
'bind_pass'    => '<password of your bind user>',
+
'bind_pass'    => '<password of your bind user>',
'search_base_dn' => '',
+
'search_base_dn' => '',
'search_filter'  => 'uid=%u',
+
'search_filter'  => 'uid=%u',
'search_bind_dn' => '',
+
'search_bind_dn' => '',
'search_bind_pw' => '',
+
'search_bind_pw' => '',
'search_dn_default' => '',
+
'search_dn_default' => '',
'auth_cid'      => '',
+
'auth_cid'      => '',
'auth_method'    => '',
+
'auth_method'    => '',
'hidden'        => false,
+
'hidden'        => false,
'searchonly'    => false,
+
'searchonly'    => false,
'writable'      => false,
+
'writable'      => false,
'LDAP_Object_Classes' => array('top', 'inetOrgPerson'),
+
'LDAP_Object_Classes' => array('top', 'inetOrgPerson'),
'LDAP_rdn'      => 'mail',
+
'LDAP_rdn'      => 'mailPrimaryAddress',
'required_fields' => array('cn', 'sn', 'mailPrimaryAdress'),
+
'required_fields' => array('cn', 'sn', 'mailPrimaryAddress'),
'search_fields'  => array('mailPrimaryAdress', 'cn'),
+
'search_fields'  => array('mailPrimaryAddress', 'cn'),
'fieldmap' => array(
+
'fieldmap' => array(
// Roundcube  => LDAP
+
// Roundcube  => LDAP
'name'        => 'cn',
+
'name'        => 'cn',
'surname'    => 'sn',
+
'surname'    => 'sn',
'firstname'  => 'givenName',
+
'firstname'  => 'givenName',
'email'      => 'mailPrimaryAdress',
+
'email'      => 'mailPrimaryAddress',
'phone:home'  => 'homePhone',
+
'phone:home'  => 'homePhone',
'phone:work'  => 'telephoneNumber',
+
'phone:work'  => 'telephoneNumber',
'phone:mobile' => 'mobile',
+
'phone:mobile' => 'mobile',
'street'      => 'street',
+
'street'      => 'street',
'zipcode'    => 'postalCode',
+
'zipcode'    => 'postalCode',
'locality'    => 'l',
+
'locality'    => 'l',
'country'    => 'c',
+
'country'    => 'c',
'organization' => 'o',
+
'organization' => 'o',
),
+
),
'sort'          => 'cn',   
+
'sort'          => 'cn',   
'scope'        => 'sub',   
+
'scope'        => 'sub',   
'filter'        => '(objectClass=inetOrgPerson)',
+
'filter'        => '(objectClass=inetOrgPerson)',
'fuzzy_search'  => true,   
+
'fuzzy_search'  => true,   
'vlv'          => false,   
+
'vlv'          => false,   
'numsub_filter' => '(objectClass=organizationalUnit)',   
+
'numsub_filter' => '(objectClass=organizationalUnit)',   
'sizelimit'    => '0',     
+
'sizelimit'    => '0',     
'timelimit'    => '0',     
+
'timelimit'    => '0',     
'referrals'    => true|false,   
+
'referrals'    => true|false,   
'groups'        => array(
+
'groups'        => array(
'base_dn'    => '',
+
'base_dn'    => '',
'scope'      => 'sub',  // search mode: sub|base|list
+
'scope'      => 'sub',  // search mode: sub|base|list
'filter'      => '(objectClass=groupOfNames)',
+
'filter'      => '(objectClass=groupOfNames)',
'object_classes' => array("top", "groupOfNames"),
+
'object_classes' => array("top", "groupOfNames"),
'member_attr'  => 'member',
+
'member_attr'  => 'member',
'name_attr'    => 'cn',
+
'name_attr'    => 'cn',
),
+
),
);
+
);
 +
</pre>
  
 
Hint: Make sure the following example in your main.inc.php, beginning with verisign.com, is uncommented. It can be seen at the syntax:
 
Hint: Make sure the following example in your main.inc.php, beginning with verisign.com, is uncommented. It can be seen at the syntax:
/*
+
<pre>
<Code>
+
/*
*/
+
<Code>
 +
*/
 +
</pre>
  
 
Restart apache to accept the settings.
 
Restart apache to accept the settings.
  
invoke-rc.d apache2 restart
+
<pre>
 +
invoke-rc.d apache2 restart
 +
</pre>
  
 
Now you should see all Domain Users in the Roundcube adress book.
 
Now you should see all Domain Users in the Roundcube adress book.
Line 126: Line 137:
  
 
Open roundcube via a browser of your choice. Enter the following URL:
 
Open roundcube via a browser of your choice. Enter the following URL:
<ip-of-your-server>/roundcube
+
<ip-of-your-server>/roundcube
  
 
Now you can fill out the text fields and login with the following syntax:
 
Now you can fill out the text fields and login with the following syntax:
username = user@mail.domain
+
<pre>
password = <password-of-the-user>
+
username = user@mail.domain
server = <your-mail-server>
+
password = <password-of-the-user>
 +
server = <your-mail-server>
 +
</pre>
  
 
==Further information==
 
==Further information==
 
More information about configuration can be obtained from the [https://github.com/roundcube/roundcubemail/wiki/Installation Roundcube installation guide].  
 
More information about configuration can be obtained from the [https://github.com/roundcube/roundcubemail/wiki/Installation Roundcube installation guide].  
 
[[Category:EN]]
 
[[Category:EN]]

Latest revision as of 14:04, 8 September 2017

Produktlogo UCS Version 4.1

Note: Cool Solutions are articles documenting additional functionality based on Univention products. Not all of the shown steps in the article are covered by Univention Support. For questions about your support coverage contact your contact person at Univention before you want to implement one of the shown steps.

Also regard the legal notes at Terms of Service.

This article describes how to install the Roundcube webmailer interface, as an lightweight alternative to other webmail interfaces.

Installation

First of all, bind the unmaintained UCS repository on your server system via the command:

ucr set repository/online/unmaintained='yes'

To guarantee a successful installation of roundcube, execute the following command to install mysql.

univention-install univention-mysql

Hint: Please note the mysql root password, because it's necessary for the further installation.

cat /etc/mysql.secret

Now let's intall roundcube:

apt-get install roundcube

While the installation you will be asked for the mysql root password to grat access to the mysql server. After that a mysql user, named "roundcube", will be created. Set an individual password for this user. Confirm your password a second time .

The installation should be now successful.

Open the roundcube apache config via the command:

vim /etc/apache2/conf.d/roundcube

and delete the "#" before the Alias entries. Before:

#Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/
#Alias /roundcube /var/lib/roundcube

After:

Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/
Alias /roundcube /var/lib/roundcube

This is necessary to gain access to the roundcube web frontend.


Setup LDAP adress book

The default type of adress book in roundcube is mysql. To setup the LDAP adress book as the primary adress book open the file /var/lib/roundcube/config/main.inc.php with an editor of your choice.

Move to the section ADDRESSBOOK SETTINGS and search for:

// This indicates which type of address book to use. Possible choises:
// 'sql' (default) and 'ldap'.
// If set to 'ldap' then it will look at using the first writable LDAP
// address book as the primary address book and it will not display the
// SQL address book in the 'Address Book' view.
$rcmail_config['address_book_type'] = 'sql';

Change the value 'sql' to 'ldap' and save the config file.

Now search for $rcmail_config['ldap_public'] and add the following code to your file. Values in '< >' syntax must be changed to your own settings:

$rcmail_config['ldap_public']['<your base dn>'] = array(
'name'          => '<your base dn>',
'hosts'         => array('<your ip adress>'),
'port'          => 7389,
'use_tls'       => false,
'ldap_version'  => 3,
'user_specific' => true,
'base_dn'       => '<your base dn>',
'bind_dn'       => '<your bind user>', //e.g uid=Administrator,cn=users,<your base dn>
'bind_pass'     => '<password of your bind user>',
'search_base_dn' => '',
'search_filter'  => 'uid=%u',
'search_bind_dn' => '',
'search_bind_pw' => '',
'search_dn_default' => '',
'auth_cid'       => '',
'auth_method'    => '',
'hidden'        => false,
'searchonly'    => false,
'writable'       => false,
'LDAP_Object_Classes' => array('top', 'inetOrgPerson'),
'LDAP_rdn'       => 'mailPrimaryAddress',
'required_fields' => array('cn', 'sn', 'mailPrimaryAddress'),
'search_fields'   => array('mailPrimaryAddress', 'cn'),
'fieldmap' => array(
// Roundcube  => LDAP
'name'        => 'cn',
'surname'     => 'sn',
'firstname'   => 'givenName',
'email'       => 'mailPrimaryAddress',
'phone:home'  => 'homePhone',
'phone:work'  => 'telephoneNumber',
'phone:mobile' => 'mobile',
'street'      => 'street',
'zipcode'     => 'postalCode',
'locality'    => 'l',
'country'     => 'c',
'organization' => 'o',
),
'sort'          => 'cn',  
'scope'         => 'sub',   
'filter'        => '(objectClass=inetOrgPerson)',
'fuzzy_search'  => true,   
'vlv'           => false,  
'numsub_filter' => '(objectClass=organizationalUnit)',   
'sizelimit'     => '0',     
'timelimit'     => '0',     
'referrals'     => true|false,  
'groups'        => array(
'base_dn'     => '',
'scope'       => 'sub',   // search mode: sub|base|list
'filter'      => '(objectClass=groupOfNames)',
'object_classes' => array("top", "groupOfNames"),
'member_attr'  => 'member',
'name_attr'    => 'cn',
),
);

Hint: Make sure the following example in your main.inc.php, beginning with verisign.com, is uncommented. It can be seen at the syntax:

/*
<Code>
*/

Restart apache to accept the settings.

invoke-rc.d apache2 restart

Now you should see all Domain Users in the Roundcube adress book.

Log on Roundcube

Open roundcube via a browser of your choice. Enter the following URL: <ip-of-your-server>/roundcube

Now you can fill out the text fields and login with the following syntax:

username = user@mail.domain
password = <password-of-the-user>
server = <your-mail-server>

Further information

More information about configuration can be obtained from the Roundcube installation guide.

Personal tools