Difference between revisions of "RoundCube"
m (→Customization) |
|||
(85 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
{{Languages}} | {{Languages}} | ||
− | |||
{{Level|Easy|The instructions for installing and using Roundcube can be followed by a beginner, changing options requires a basic knowledge of linux.}} | {{Level|Easy|The instructions for installing and using Roundcube can be followed by a beginner, changing options requires a basic knowledge of linux.}} | ||
+ | {{usefulnote}} | ||
+ | <blockquote style="float: right;">[[File:roundcube.png|250px]]</blockquote><br> | ||
+ | ==RoundCube V1.0 for SME Server== | ||
===Maintainer=== | ===Maintainer=== | ||
− | [mailto:stephdl@de-labrusse.fr stephdl] Stéphane de Labrusse AKA [[User:stephdl|Stephdl]] | + | [mailto:stephdl@de-labrusse.fr stephdl] Stéphane de Labrusse AKA [[User:stephdl|Stephdl]] |
− | + | == Versions == | |
+ | {{ #smeversion: smeserver-roundcube }} | ||
− | + | ||
− | + | roundcubemail_plugins is deprecated in SME10, all is provided by smeserver-roundcube | |
+ | {| class="wikitable" | ||
+ | !Release | ||
+ | !Released | ||
+ | !Active Support | ||
+ | !Security Support | ||
+ | !Latest | ||
+ | |- | ||
+ | |1.6 | ||
+ | |25 Jul 2022 | ||
+ | |Yes | ||
+ | |Yes | ||
+ | |1.6.5 | ||
+ | |- | ||
+ | |1.5 LTS | ||
+ | |18 Oct 2021 | ||
+ | |Yes | ||
+ | |Yes | ||
+ | |1.5.6 | ||
+ | |} | ||
===Installation=== | ===Installation=== | ||
− | + | <tabs container=""><tab name="For SME 10"> | |
+ | yum install smeserver-extrarepositories-remi-roundcube -y | ||
+ | we now only support version 1.6.x | ||
+ | yum install smeserver-roundcube --enablerepo=smecontribs,remi-roundcube | ||
+ | |||
+ | if you previously locked to version 1.5, to revert versionlock<syntaxhighlight lang="bash"> | ||
+ | yum versionlock delete roundcubemail | ||
+ | yum update -y | ||
+ | signal-event smeserver-roundcube-update | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | </tab><tab name="For SME 9"> | ||
+ | yum install smeserver-roundcube --enablerepo=smecontribs | ||
− | yum --enablerepo=smecontribs install smeserver-roundcube | + | 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 | ||
+ | |||
+ | upgrade | ||
+ | yum upgrade --enablerepo=smecontribs,remi-roundcube | ||
+ | </tab><tab name="For SME 8"> | ||
+ | ==== '''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 | If you do not want to restart your server | ||
− | signal-event | + | signal-event roundcube-update |
or | or | ||
signal-event post-upgrade; signal-event reboot | signal-event post-upgrade; signal-event reboot | ||
+ | </tab> | ||
+ | </tabs> | ||
===Uninstallation=== | ===Uninstallation=== | ||
To remove the package issue the following command on the SME Server shell: | 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. | 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. | ||
Line 30: | Line 83: | ||
http://servername/roundcube'' and logon with your SME Server user account. | http://servername/roundcube'' and logon with your SME Server user account. | ||
− | === | + | {{Note box|Roundcube will connect to IMAP with SSL to the primary domain of your server. |
− | + | You need a valid or a self-signed certificate including your own domain name at least as alternative DNS.}} | |
+ | ===Logs=== | ||
+ | <tabs container=""><tab name="For SME 9 and newer"> | ||
+ | less /var/log/roundcubemail/errors | ||
+ | </tab><tab name="For SME 8"> | ||
+ | less /opt/roundcube/logs/errors | ||
+ | </tab></tabs> | ||
+ | ===Limit access to web interface=== | ||
+ | {{Note box|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: | ||
+ | <tabs container=""><tab name="For SME 10 smeserver-roundcube-1.2-20 and newer"> | ||
+ | To change to public access do | ||
+ | config setprop roundcube access public | ||
+ | systemctl restart httpd-e-smith | ||
+ | or to change to private access (lan + authorized external IP) | ||
+ | config setprop roundcube access private | ||
+ | systemctl restart httpd-e-smith | ||
− | + | To disable roundcube | |
− | + | config setprop roundcube status disabled | |
+ | signal-event smeserver-roundcube-update | ||
+ | To enable roundcube | ||
+ | config setprop roundcube status enabled | ||
+ | signal-event smeserver-roundcube-update | ||
− | + | </tab><tab name="For SME 10 before 1.2-20"> | |
− | + | 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 this command: | |
− | + | systemctl restart httpd-e-smith | |
− | + | </tab><tab name="For SME 8, 9"> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
config setprop roundcube PublicAccess OPTION | config setprop roundcube PublicAccess OPTION | ||
− | OPTION is either of the following | + | where OPTION is either of the following: |
none => No access | none => No access | ||
− | local => Local network | + | local => Local network (no password required) |
− | local-pw => Local network | + | local-pw => Local network (password required) |
− | global => Entire Internet(no password required) | + | global => Entire Internet (no password required, this is the default on SME) |
− | global-pw => Entire Internet(password required) | + | global-pw => Entire Internet (password required) |
− | global-pw-remote => Entire Internet(password required outside local network) | + | global-pw-remote => Entire Internet (password required outside local network) |
− | + | For example, to restrict access to LAN only: | |
− | config setprop roundcube PublicAccess | + | config setprop roundcube PublicAccess local |
− | To | + | To activate these changes to the configuration DB, run these commands: |
expand-template /etc/httpd/conf/httpd.conf | expand-template /etc/httpd/conf/httpd.conf | ||
sv h /service/httpd-e-smith | sv h /service/httpd-e-smith | ||
− | + | afterwards. | |
− | + | </tab></tabs> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Note: for a general description of how DB settings work on SME server, have a look at [[Web Application RPM#New DB settings]]. | |
− | |||
− | |||
− | |||
− | |||
− | |||
+ | === Customization === | ||
+ | {| class="wikitable" | ||
+ | |+ | ||
+ | config setprop roundcube | ||
+ | !property | ||
+ | !default | ||
+ | !accepted | ||
+ | !comment | ||
+ | |- | ||
+ | |Dbname | ||
+ | |roundcube | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |DbPassword | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |DbUser | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |Name | ||
+ | |RoundCube IMAP Client | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |URL | ||
+ | | | ||
+ | |string | ||
+ | |you can add an URL to your domains as an http alias. Could be webmail (if default webmail is deactivated) | ||
+ | |- | ||
+ | |PluginsList | ||
+ | |globaladdressbook,contextmenu,markasjunk,vcard_attachments,newmail_notifier,emoticons,managesieve,nextcloud_attachments | ||
+ | |comma separated list | ||
+ | |if you need to add or remove a plugin you need to alter this string in order to get it detected | ||
+ | |- | ||
+ | |access | ||
+ | |public | ||
+ | |private,public | ||
+ | | | ||
+ | |- | ||
+ | |status | ||
+ | |enabled | ||
+ | |enabled,disabled | ||
+ | | | ||
+ | |- | ||
+ | |MaxUploadSize | ||
+ | |100M | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |MemoryLimit | ||
+ | |512M | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | |PHPBaseDir | ||
+ | |/usr/share/roundcubemail:/etc/roundcubemail/:/var/log/roundcubemail:/var/lib/roundcubemail:/var/log/roundcube.log:/var/lib/php/roundcube:/home/e-smith/files/roundcube:/dev/urandom:/proc/meminfo:/usr/share/GeoIP/GeoLite2-Country.mmdb:/proc/cpuinfo | ||
+ | |strings separated by : | ||
+ | |the property will be added to the existing string | ||
+ | |- | ||
+ | |PHPmaxChildren | ||
+ | |20 | ||
+ | |number | ||
+ | | | ||
+ | |- | ||
+ | |PHPminServers | ||
+ | |4 | ||
+ | |number | ||
+ | | | ||
+ | |- | ||
+ | |PHPstartServers | ||
+ | |6 | ||
+ | |number | ||
+ | | | ||
+ | |- | ||
+ | |PHPmaxServers | ||
+ | |8 | ||
+ | |number | ||
+ | | | ||
+ | |- | ||
+ | |PHPmaxRequests | ||
+ | |1000 | ||
+ | |number | ||
+ | | | ||
+ | |- | ||
+ | |nextcloudURI | ||
+ | |<nowiki>https://$DomainName/nextcloud</nowiki> or <nowiki>https://$nextcloud{'Virtualhost'}</nowiki> | ||
+ | | | ||
+ | |will override default, usefull if nextcloud is not on the same server | ||
+ | |- | ||
+ | |nextcloudFolder | ||
+ | |Mail Attachments | ||
+ | |string | ||
+ | |can not be a subfolder | ||
+ | |- | ||
+ | |NCsoftlimit | ||
+ | |<nowiki>$qmail{'MaxMessageSize'}||'25M'</nowiki> | ||
+ | |number with M | ||
+ | |limit size for attachements | ||
+ | |- | ||
+ | |nextcloudBehavior | ||
+ | |prompt | ||
+ | |prompt,upload | ||
+ | |show dialog or upload directly | ||
+ | |- | ||
+ | |nextcloudVerifyCerts | ||
+ | |true | ||
+ | |true,false | ||
+ | |allow you to override cert verification in case of self signed cert | ||
+ | |} | ||
then | then | ||
+ | signal-event roundcube-update | ||
+ | ====Roundcube plugins==== | ||
− | + | =====Installing additional plugins===== | |
− | + | {{Note box|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! | ||
+ | <tabs container=""><tab name="For SME 10"> | ||
+ | cd /usr/share/roundcubemail | ||
+ | /usr/bin/php74 /usr/local/bin/composer require cor/message_highlight --with-dependencies | ||
+ | </tab><tab name="For SME 9"> | ||
+ | nano /usr/share/roundcubemail/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" | |
− | + | }, | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | </tab><tab name="For SME 8"> | |
− | + | nano /opt/roundcube/composer.json | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
"require": { | "require": { | ||
Line 184: | Line 309: | ||
"johndoh/contextmenu": "dev-master", | "johndoh/contextmenu": "dev-master", | ||
"johndoh/globaladdressbook": "dev-release-1.0", | "johndoh/globaladdressbook": "dev-release-1.0", | ||
− | + | "cor/message_highlight": "dev-master" | |
}, | }, | ||
− | after each modification launch | + | </tab></tabs> |
+ | |||
+ | '''Step 4:''' after each modification to composer.json, in order to automatically download and install the plugin launch | ||
rcplugin_update.sh | 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,markasjunk,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 roundcube-update | |
− | |||
− | |||
− | |||
− | |||
− | + | Step 5 in short, using backticks: | |
− | config setprop roundcube | + | config setprop roundcube PluginsList `config getprop roundcube PluginsList`,message_highlight |
+ | signal-event conf-roundcube | ||
− | To | + | To check for updates to plugins already installed, you can at any time issue the following command again: |
+ | rcplugin_update.sh | ||
− | + | ====Miscellaneous notes==== | |
− | |||
− | ==== | ||
− | |||
− | |||
− | |||
− | |||
− | + | ====Mail filter support (Sieve)==== | |
+ | Roundcube on SME server comes with the managesieve plugin installed and enabled by default (sieverules has been deprecated and you must only use managesieve). 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. | ||
− | + | =====Troubleshooting===== | |
+ | * If mails are not correctly filtered by the filters configured in user's roundcube settings, check the following: | ||
+ | ** Is [[Dovecot-extras|smeserver-dovecot-extras]] installed and is the sieve service enabled ( <tt>config getprop sieve status</tt> => enabled )? If it is not enabled: <tt>config setprop sieve status enabled</tt> | ||
+ | ** Is using sieve deliberately disabled for the user in question ( <tt>db accounts getprop $USER Sieve</tt> => disabled )? If it is disabled: <tt>db accounts setprop $USER Sieve enabled</tt> (Note the capital "S" in Sieve!) | ||
+ | ** If [[Mailsorting|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. | ||
+ | |||
+ | ------------------ | ||
− | + | === Bugs === | |
− | + | Please raise bugs under the SME-Contribs section in {{BugzillaFileBug|product=|component=|title=bugzilla}}and select the smeserver-roundcube component or use {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-roundcube|title=this link}}. | |
− | + | * smeserver-roundcube | |
+ | {{#bugzilla:columns=id,product,version,status,summary |sort=id|order=desc |component=smeserver-roundcube|noresultsmessage="No open bugs found."}} | ||
+ | * roundcubemail_plugins | ||
+ | {{#bugzilla:columns=id,product,version,status,summary |sort=id|order=desc |component=roundcubemail_plugins|noresultsmessage="No open bugs found."}} | ||
− | + | [[Category: Contrib]] | |
− | + | [[Category: Webapps]] | |
− | + | [[Category: Dungog]] | |
− | + | [[Category: Mail]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 10:20, 27 February 2024
Is this article helpful to you?
Please consider donating or volunteering
Thank you!
RoundCube V1.0 for SME Server
Maintainer
stephdl Stéphane de Labrusse AKA Stephdl
Versions
roundcubemail_plugins is deprecated in SME10, all is provided by smeserver-roundcube
Release | Released | Active Support | Security Support | Latest |
---|---|---|---|---|
1.6 | 25 Jul 2022 | Yes | Yes | 1.6.5 |
1.5 LTS | 18 Oct 2021 | Yes | Yes | 1.5.6 |
Installation
yum install smeserver-extrarepositories-remi-roundcube -y we now only support version 1.6.x yum install smeserver-roundcube --enablerepo=smecontribs,remi-roundcubeif you previously locked to version 1.5, to revert versionlock
yum versionlock delete roundcubemail
yum update -y
signal-event smeserver-roundcube-update
yum install smeserver-roundcube --enablerepo=smecontribs
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
upgrade
yum upgrade --enablerepo=smecontribs,remi-roundcube
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 roundcube-update
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
less /var/log/roundcubemail/errors
less /opt/roundcube/logs/errors
Limit access to web interface
Access to Roundcube can be fine-tuned by setting the corresponding property in the configuration DB of SME server:
To change to public access do
config setprop roundcube access public systemctl restart httpd-e-smith
or to change to private access (lan + authorized external IP)
config setprop roundcube access private systemctl restart httpd-e-smith
To disable roundcube
config setprop roundcube status disabled signal-event smeserver-roundcube-update
To enable roundcube
config setprop roundcube status enabled signal-event smeserver-roundcube-update
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 this command:
systemctl restart httpd-e-smith
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
property | default | accepted | comment |
---|---|---|---|
Dbname | roundcube | ||
DbPassword | |||
DbUser | |||
Name | RoundCube IMAP Client | ||
URL | string | you can add an URL to your domains as an http alias. Could be webmail (if default webmail is deactivated) | |
PluginsList | globaladdressbook,contextmenu,markasjunk,vcard_attachments,newmail_notifier,emoticons,managesieve,nextcloud_attachments | comma separated list | if you need to add or remove a plugin you need to alter this string in order to get it detected |
access | public | private,public | |
status | enabled | enabled,disabled | |
MaxUploadSize | 100M | ||
MemoryLimit | 512M | ||
PHPBaseDir | /usr/share/roundcubemail:/etc/roundcubemail/:/var/log/roundcubemail:/var/lib/roundcubemail:/var/log/roundcube.log:/var/lib/php/roundcube:/home/e-smith/files/roundcube:/dev/urandom:/proc/meminfo:/usr/share/GeoIP/GeoLite2-Country.mmdb:/proc/cpuinfo | strings separated by : | the property will be added to the existing string |
PHPmaxChildren | 20 | number | |
PHPminServers | 4 | number | |
PHPstartServers | 6 | number | |
PHPmaxServers | 8 | number | |
PHPmaxRequests | 1000 | number | |
nextcloudURI | https://$DomainName/nextcloud or https://$nextcloud{'Virtualhost'} | will override default, usefull if nextcloud is not on the same server | |
nextcloudFolder | Mail Attachments | string | can not be a subfolder |
NCsoftlimit | $qmail{'MaxMessageSize'}||'25M' | number with M | limit size for attachements |
nextcloudBehavior | prompt | prompt,upload | show dialog or upload directly |
nextcloudVerifyCerts | true | true,false | allow you to override cert verification in case of self signed cert |
then
signal-event roundcube-update
Roundcube plugins
Installing 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!
cd /usr/share/roundcubemail /usr/bin/php74 /usr/local/bin/composer require cor/message_highlight --with-dependencies
nano /usr/share/roundcubemail/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" },
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,markasjunk,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 roundcube-update
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
Miscellaneous notes
Mail filter support (Sieve)
Roundcube on SME server comes with the managesieve plugin installed and enabled by default (sieverules has been deprecated and you must only use managesieve). 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.
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.
Bugs
Please raise bugs under the SME-Contribs section in bugzilla and select the smeserver-roundcube component or use this link .
- smeserver-roundcube
ID | Product | Version | Status | Summary (2 tasks) ⇒ |
---|---|---|---|---|
12587 | SME Contribs | 10.0 | CONFIRMED | composer installs skins in plugins folder |
12270 | SME Contribs | 10.0 | CONFIRMED | NFR: Allow the specification of the host for the imap mail |
- roundcubemail_plugins