[Updated 27 Feb. 2016]
Documentation for installing the Roundcube webmail client on my Debian system was horrible. This is the more ridiculous because it turned out to be extremely simple (by Linux sysadmin standards).
- Install the packages roundcube, roundcube-core, roundcube-mysql, and roundcube-plugins.
- If configuration doesn’t kick off automatically (it didn’t for me), run
Provide the requested configuration data for the IMAP server and MySQL. (Notice something missing here? See Step 6.)
- I was not told this, but the Apache configuration was 99.9% completed by the install scripts. All that remained was to navigate to /etc/apache2/conf-available/, open roundcube.conf, and uncomment the alias line near the top of the file.
- Restart Apache.
- Open the client at https://www.1helloworld!.com/roundcube. The dialog asks for IMAP user name, IMAP password, and IMAP server.
- Unfortunately, it DOES NOT ask for the SMTP server and its login information. To supply that, edit /etc/roundcube/config.inc.php. What IS this bullshit? Either script it or point me to instructions. Hunting through the forums and grepping around in /etc is NOT acceptable.
- SSL/TLS now works on remote Courier IMAP and STARTTLS now works on remote Exim4. Thanks. Roundcube has a very pretty interface.
- I am too old for this.
- FOOTNOTE: Why is trac.roundcube.net utterly messed up, that is to say, not consistently accessible via Google search results? Why? WHY?
- I am not done complaining.
- http://trac.roundcube.net/wiki/Dev_Encryption — much guffing about not trusting the server as a repository for keys, but in my case I on the server. Just shoot me now, again.
[UPDATE 27 Feb. 2016]
12. The initial login screen (with no default login server declared yet, so you are prompted for it) is a more reliable way to set the server correctly than to do it by hand. However, the only way to REset it this way is the remove the previously submitted setting manually from the config file. One struggles in vain to find the screen one remembers solely via the UI.
13. Plugins — what a mess.
14. Debian packages — what a mess (see #13). There is no correlation between any two of the following:
- Information in Debian Stretch (testing) /usr/share/doc/roundcube*
- The names of the distro’s actual config files and the variable names contained in them (in reference to plugins at least)
- Information in http://trac.roundcube.net/wiki/Plugin_Repository
- The status message in running Roundcube under “About”, which lists several allegedly activated plugins
What is the meaning of this? According to “About,” the following plugins are active:
In fact, none appear to be. However, two interesting errors are appearing in /var/log/roundcube/errors:
[27-Feb-2016 15:40:10 -0800]: <vdbtquql> PHP Error: Failed to load config from /var/lib/roundcube/plugins/zipdownload/config.inc.php in /usr/share/roundcube/program/lib/Roundcube/rcube_plugin.php on line 157 (POST /roundcube/?_task=mail&_action=refresh?_task=&_action=)
[27-Feb-2016 15:43:00 -0800]: <vdbtquql> PHP Error: Failed to load config from /var/lib/roundcube/plugins/jqueryui/config.inc.php in /usr/share/roundcube/program/lib/Roundcube/rcube_plugin.php on line 157 (GET /roundcube/?_task=mail&_mbox=INBOX)
Only those two, without word on archive or filesystem_attachments, but it’s a start. The rcube_plugin.php file contains an abstract class extended by all plugins. When loaded, a plugin calls its config file, which it expects to find in /var/lib/roundcube/plugins/<plugin_name>/config.inc.php. In the Debian arrangement, however, the /var/lib/roundcube/plugins/<plugin_name>/ directory contains only a config.inc.php.distro file (a sample config) and a link to the proper config file at /etc/roundcube/plugins/<plugin_name>/config.inc.php. Thus there are three quasi-parallel Roundcube directories, under /etc/, /usr/, and /var/; the actual code is under /usr/, with /var/ containing configuration files except that it doesn’t. You are apparently expected to copy *.distro into /etc/… and leave the link arrangement in place, which means that either Roundcube or the Debian package owner decided to route us through two links to get to the config file.
After the two error-producing plugins have been configured via /etc/, the errors stop, but nothing changes in the behavior of Roundcube, though it’s possible I haven’t correctly triggered them as yet. There is still no clue about those other two plugins (neither of which is even present in the /usr/ tree).
Unsurprisingly, configuring a completely new plugin, enigma, also results in absolutely no effect. Opening a compose window, where you might expect to see the plugin’s effects, doesn’t trigger anything.
Configuring *all* of the available plugins (those at least that included a config.inc.php file) also failed to have any effect.
[UPDATE 28 Feb. 2016]
I had forgotten to add the plugins to the plugins array in /etc/roundcube/config.inc.php:
// List of active plugins (in plugins/ directory)
$config['plugins'] = array(
Not all of them show signs of working, but some do. Now it’s a matter of per-plugin configuration, most likely.
[UPDATE 1 March 2016]
The nightmare continues, now via manual install from source. A missing library makes it more interesting:
root@paoha:/home/httpd/html/roundcubemail/installer# pear install Net_IDNA2
Failed to download pear/Net_IDNA2 within preferred state "stable", latest release is version 0.1.1, stability "beta", use "channel://pear.php.net/Net_IDNA2-0.1.1" to install
root@paoha:/home/httpd/html/roundcubemail/installer# pear install channel://pear.php.net/Net_IDNA2-0.1.1
downloading Net_IDNA2-0.1.1.tgz ...
Starting to download Net_IDNA2-0.1.1.tgz (24,428 bytes)
........done: 24,428 bytes
install ok: channel://pear.php.net/Net_IDNA2-0.1.1