RoundCube

From SME Server
Jump to navigation Jump to search


PythonIcon.png Skill level: Easy
The instructions for installing and using Roundcube can be followed by a beginner, changing options requires a basic knowledge of linux.


Is this article helpful to you?
Please consider donating or volunteering
Thank you!

Roundcube.png


RoundCube V1.0 for SME Server

Maintainer

stephdl Stéphane de Labrusse AKA Stephdl

Installation

For SME9

Remember to first configure the required stephdl repository, then issue the following command on the SME Server shell:

yum install smeserver-roundcube --enablerepo=stephdl


answer yes (y) for all plugins you want to activate

If you do not want to restart your server

signal-event roundcube-update

or

signal-event post-upgrade; signal-event reboot

For SME8

Remember to first configure the two required repositories, stephdl and epel, then issue the following command on the SME Server shell:

yum install smeserver-roundcube --enablerepo=epel,stephdl
rcplugin_update.sh

answer yes (y) for all plugins you want to activate

If you do not want to restart your server

signal-event conf-roundcube; signal-event console-save

or

signal-event post-upgrade; signal-event reboot

Uninstallation

To remove the package issue the following command on the SME Server shell:

yum remove roundcube smeserver-roundcube smeserver-roundcube_plugins

To remove mysql database and user, both are roundcube, see MySQL#Remove a database and MySQL#Remove a user. There is no need to reboot.

Usage

http://servername/roundcube and logon with your SME Server user account.

Logs

Logs are available :

less /opt/roundcube/logs/errors

Limit access to web interface

  Note:
By default, the Roundcube webmail interface is accessible from the entire internet without requiring additional HTTP authentication.


Access to Roundcube can be fine-tuned by setting the corresponding property in the configuration DB of SME server:

config setprop roundcube PublicAccess OPTION

where OPTION is either of the following:

       none             => No access
       local            => Local network  (no password required)
       local-pw         => Local network  (password required)
       global           => Entire Internet(no password required, this is the default on SME)
       global-pw        => Entire Internet(password required)
       global-pw-remote => Entire Internet(password required outside local network)

For example, to restrict access to LAN only:

config setprop roundcube PublicAccess local

To activate these changes to the configuration DB, run these commands

expand-template /etc/httpd/conf/httpd.conf
sv h /service/httpd-e-smith

afterwards.

Note: For a general description of how DB settings work on SME server, have a look at Web Application RPM#New DB settings.

Customization

Roundcube plugins

Default plugins shipped with smeserver-roundcube

The smeserver-roundcube contrib is shipped with the following plugins already installed and enabled by default:

config getprop roundcube PluginsList

globaladdressbook,carddav,calendar,libcalendaring,contextmenu,markasjunk2,vcard_attachments,newmail_notifier,emoticons,tasklist,managesieve
Installing additional plugins
  Note:
The upstream Roundcube project is currently transitioning from making plugins available through http://trac.roundcube.net/wiki/Plugin_Repository to a new full fledged plugin repository at http://plugins.roundcube.net and a semi-automated plugin installation process. SME server admins are encouraged to use the new style method described below.


To install an additional (non-default) Roundcube plugin in SME server roundcube :

Step 1: Find the plugin page on http://plugins.roundcube.net/packages (eg. http://plugins.roundcube.net/packages/cor/message_highlight)

Step 2: Take note of the package name and version shown in the 'require:' line right below the title of the plugin's version heading (eg. "cor/message_highlight": "dev-master")

Step 3: Add the package name and version to the "require:" block in /opt/roundcube/composer.json. Take attention to the comma (,) separator, it is really important!

nano /opt/roundcube/composer.json
 "require": {
      	"php": ">=5.3.0",
      	"roundcube/plugin-installer": ">=0.1.3",
      	"johndoh/markasjunk2": "dev-release-1.0",
      	"johndoh/contextmenu": "dev-master",
      	"johndoh/globaladdressbook": "dev-release-1.0",
        "cor/message_highlight": "dev-master"
    },

Step 4: after each modification to composer.json, in order to automatically download and install the plugin launch

rcplugin_update.sh

When asked, answer yes to automatically activate the plugin in the current Roundcube configuration.

Step 5: In order to keep the list of installed plugins persistent when this contrib is updated (ie. configuration templates are expanded again), you *absolutely* need to add the newly installed Roundcube plugin to the "PluginsList" property of "roundcube" in the configuration database of SME server in addition to steps above:

Step 5a: First show the list of plugins currently in the configuration DB:

config getprop roundcube PluginsList

PluginsList=globaladdressbook,carddav,calendar,libcalendaring,contextmenu,markasjunk2,vcard_attachments,newmail_notifier,emoticons,tasklist,managesieve

Step 5b: Add your newly installed plugin to the list (separated by a comma (,) and without spaces) and activate the change:

config setprop roundcube PluginsList globaladdressbook,carddav,calendar,libcalendaring,contextmenu,markasjunk2,vcard_attachments,newmail_notifier,emoticons,tasklist,managesieve,message_highlight

Step 5c: Activate the changes to the config DB:

signal-event conf-roundcube

Step 5 in short, using backticks:

config setprop roundcube PluginsList `config getprop roundcube PluginsList`,message_highlight
signal-event conf-roundcube

To check for updates to plugins already installed, you can at any time issue the following command again:

rcplugin_update.sh

Customize Roundcube settings

For special needs you should create your personal template file if you want your config file will not be overwritten by the smeserver-roundcube templates. This also applies to Roundcube plugins in /opt/roundcube/plugins/ which occasionally come with their own config.inc.php or generic config.php.inc.dist which you can use to set default options.

  • The config file for Roundcube itself is now templated, so changes need to be made in a new custom template fragment
ll /etc/e-smith/templates/opt/roundcube/config/config.inc.php/

10default_host           15Ldap_addressbook       20plugins_configuration  template-begin           template-end             
  • check which setting you want to change with
cat /opt/roundcube/config/defaults.inc.php
  • Extend the default settings by adding a new template fragment and add your customizations/additions there, eg.:
vim /etc/e-smith/templates/opt/roundcube/config/config.inc.php/30my_custom_settings
  • Finally, expand the template:
signal-event conf-roundcube

Likewise, plugin customization can be done by creating custom template fragments. For example, to set if and how the "vacation management panel" of the "managesieve" plugin should appear in the Roundcube webmail frontend:

  • check the current configuration of the managesieve plugin:
cat /opt/roundcube/plugins/managesieve/config.inc.php
  • check current template fragments for the plugin configuration:
ll /etc/e-smith/templates/opt/roundcube/plugins/managesieve/config.inc.php/
 
 ...
 -rw-r--r-- 1 root root  266 30. Nov 19:45 30showvacation
 ...
  • copy the relevant template fragment to /etc/e-smith/templates-custom/... and modify the setting:
mkdir -p /etc/e-smith/templates-custom/opt/roundcube/plugins/managesieve/config.inc.php
 
cp /etc/e-smith/templates/opt/roundcube/plugins/managesieve/config.inc.php/30showvacation /etc/e-smith/templates-custom/opt/roundcube/plugins/managesieve/config.inc.php/

vim /etc/e-smith/templates-custom/opt/roundcube/plugins/managesieve/config.inc.php/30showvacation
  • Finally, expand the customized template:
signal-event conf-roundcube


  Note:
If you think your setting should be the SME default raise a bug


Add an alternative URL

If Roundcube should be reachable by an alternative URL to http://yourserver.net/roundcube, eg.

http://yourserver.net/webmail 

or

http://yourserver.net/mail


  Warning:
The URL /webmail is by default used by the horde webmail, so you have to deactivate the webmail in the server-manager's "Configuration" -> "Email" panel if you want to use it for roundcube instead.



  Note:
this adds another url, it doesn't remove the default


config setprop roundcube URL webmail

or

config setprop roundcube URL mail

To enable your changes run these commands

expand-template /etc/httpd/conf/httpd.conf
sv h /service/httpd-e-smith
  • If you want to remove completely the new url
config delprop roundcube URL

then

expand-template /etc/httpd/conf/httpd.conf
sv h /service/httpd-e-smith

Miscellaneous notes

Mail filter support (Sieve)

Roundcube V1.0 on SME server comes with the managesieve plugin installed and enabled by default. The managesieve plugin adds additional menu items to the settings in Roundcube's webinterface to allow users to define mail filters and vacation messages in a convenient way. However, to make use of these features, the smeserver-dovecot-extras contrib also has to be installed (this adds sieve script support and a manage sieve daemon to SME server). If these features are not wanted, Roundcube's managesieve plugin should be disabled (reverse Step 5 described above, ie. remove managesieve from the list of installed plugins).

Troubleshooting
  • If mails are not correctly filtered by the filters configured in user's roundcube settings, check the following:
    • Is smeserver-dovecot-extras installed and is the sieve service enabled ( config getprop sieve status => enabled )? If it is not enabled: config setprop sieve status enabled
    • Is using sieve deliberately disabled for the user in question ( db accounts getprop $USER Sieve => disabled )? If it is disabled: db accounts setprop $USER Sieve enabled (Note the capital "S" in Sieve!)
    • If smeserver-mailsorting is also installed on the server, mails are first filtered by procmail or maildrop before they are handed off to the dovecot delivery agent and sieve filters. Chances are that a rule exists in a user's .procmailrc or .mailfilter file that intercepts all mails before they get to the latter stage in the mail delivery process.

RoundCube V0.9.5 for SME Server

  Note:
RoundCube version 0.95beta is possibly deprecated. SME admins are encouraged to use the stable version 1.0 described above instead. This section is left more or less for reference.


Maintainer

stephdl Stéphane de Labrusse AKA Stephdl

Dungog.net (Software) : original developper

Description

RoundCube Webmail is a browser-based multilingual IMAP client with an application-like user interface. It provides full functionality you expect from an e-mail client, including MIME support, address book, folder manipulation, message searching and spell checking. For more information see http://www.roundcube.net/. Actually roundcube is only available with beta status, but it runs very fast and stable.

Installation

Install from the SME Contribs repository issue the following command on the SME Server shell:

yum --enablerepo=smecontribs install smeserver-roundcube

If you do not want to restart your server

signal-event conf-roundcube; signal-event console-save

or

signal-event post-upgrade; signal-event reboot

Uninstallation

To remove the package issue the following command on the SME Server shell:

rpm -e roundcube smeserver-roundcube

To remove mysql database and user, both are roundcube, see MySQL#Remove a database and MySQL#Remove a user. There is no need to reboot.

Usage

http://servername/roundcube and logon with your SME Server user account.

Logs

Logs are available :

less /opt/roundcube/logs/errors

Options

You can fine tune access to roundcube with DB settings. For details have a look at Web Application RPM#New DB settings.


Activate Roundcube Plugin

Plugins need to be allowed in the main.config.php of roundcube, you can also write options in this file. If you want to modify options you have to modify the template in /etc/e-smith/templates/opt/roundcube/config/main.inc.php/20plugin

Please add all plugins you want to activate in the command line below :

$rcmail_config['plugins'] = array('plugin1','plugin2','plugin3');

where "plugin*" is a valid name of plugin and a valid folder name in /opt/roundcube/plugins

see the file 20plugin for example

nano /etc/e-smith/templates/opt/roundcube/config/main.inc.php/20plugin

save by ctrl+x

expand-template /opt/roundcube/config/main.inc.php

Personal settings

For special needs you should create your personal template file if you want your config file will not be overwritten by the smeserver-roundcube templates.

  • The config file is now templated, so changes need to be made in a new fragment
ll /etc/e-smith/templates/opt/roundcube/config/config.inc.php/
10default_host           15Ldap_addressbook       20plugins_configuration  template-begin           template-end             
  • check which setting you want to change with
cat /opt/roundcube/config/defaults.inc.php

or for a plugin like managesieve

cat /opt/roundcube/plugins/managesieve/config.inc.php.dist
  • Add the new settings in a new file
vim /etc/e-smith/templates/opt/roundcube/config/config.inc.php/30my_custom_settings

or for a plugin like managesieve

mkdir -p /etc/e-smith/templates-custom/opt/roundcube/plugins/managesieve/config.inc.php
vim /etc/e-smith/templates-custom/opt/roundcube/plugins/managesieve/config.inc.php/10pluginsetting
  • Now you have to expand
signal-event conf-roundcube


All plugins in /opt/roundcube/plugins/ comes with their own config.inc.php.dist which you can use to set default options.


  Note:
If you think your setting should be the SME default raise a bug


Limit access to roundcube

config setprop roundcube PublicAccess OPTION

OPTION is either of the following.

       none             => No access
       local            => Local network  (no password required)
       local-pw         => Local network  (password required)
       global           => Entire Internet(no password required)
       global-pw        => Entire Internet(password required)
       global-pw-remote => Entire Internet(password required outside local network)


  Note:
the global option is already the default option to control access to this contribs


config setprop roundcube PublicAccess global

To enable your changes run these commands

expand-template /etc/httpd/conf/httpd.conf
sv h /service/httpd-e-smith

Add a different URL

by example

http://yourserver.net/webmail 

or

http://yourserver.net/mail


  Warning:
This URL of /webmail is used by the horde webmail, so you have to deactivated the webmail in the server-manager



  Note:
this adds another url, it doesn't remove the default


config setprop roundcube URL webmail

or

config setprop roundcube URL mail

To enable your changes run these commands

expand-template /etc/httpd/conf/httpd.conf
sv h /service/httpd-e-smith
  • If you want to remove completely the new url
config delprop roundcube URL

then

expand-template /etc/httpd/conf/httpd.conf
sv h /service/httpd-e-smith


  Note:
If you think your setting should be the SME default raise a bug


Bugs

Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-roundcube component or use this link .