RoundCube
Is this article helpful to you?
Please consider donating or volunteering
Thank you!
RoundCube V0.9.5 for SME Server
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 run 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.
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)
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
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
Bugs
Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-roundcube component or use this link .
RoundCube for SME Server V1.0
Maintainer
stephdl Stéphane de Labrusse AKA Stephdl
Installation
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
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 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
Access
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
Adding additional plugins
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
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
# 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