- Operating system version: Debian 9.4 and 9.5 Stretch
- Roundcube version: 1.2.3+dfsg.1-4+deb9u1 and u2
- ISPConfig 3 version: 3.1.11 and 3.1.13
This guide is based on the ISPConfig3 Roundcube installation instructions from the manual.
Prerequisites
Ensure you use the Roundcube version that comes with Debian 9. Follow the installation steps as detailed in the Perfect Server Guide for Debian Stretch.
Use the current ISPConfig version, with the latest being 3.1.13.
Add ISPConfig Remote User
Create an ISPConfig remote user for Roundcube. Choose a suitable username, such as rcmail-remote, and generate a strong password using the apg tool. First, install it:
apt-get install apg
Generate a password:
apg -m 12 -l M NCL
Create the remote user in the ISPConfig Panel under the System tab, within User Management’s “Remote Users” section. Click “Add new user.”
For this user, select the following functions:
- Server functions
- Client functions
- Mail user functions
- Mail alias functions
- Mail spamfilter user functions
- Mail spamfilter policy functions
- Mail fetchmail functions
- Mail spamfilter whitelist functions
- Mail spamfilter blacklist functions
- Mail user filter functions
This list appears in the order of items in the ISPConfig Panel.
Install ISPConfig Roundcube Plugin
Fetch the ISPConfig3-plugins from Github using the latest version compatible with Roundcube 1.2.3. The plugin author advises checking out from Subversion directly to the Roundcube root directory. However, I prefer checking out elsewhere to avoid altering system directories.
Referencing the Readme.Debian in /usr/share/doc/roundcube, add your plugin to /var/lib/roundcube/plugins. First, checkout from SVN to /root/ISPConfig3_plugins and then copy from there:
Install Subversion:
apt-get install subversion
Execute the following commands:
cd /root mkdir ISPConfig3_plugins cd ISPConfig3_plugins svn co https://github.com/w2c/ispconfig3_roundcube/trunk/ .
cd ispconfig3_account/config cp config.inc.php.dist config.inc.php
Configure Plugin
Edit the file you copied in the previous step to include the ISPConfig remote user information you created:
cd /root/ISPConfig3_plugins
editor ispconfig3_account/config/config.inc.php
Original file content:
<?php $rcmail_config['identity_limit'] = false; $rcmail_config['remote_soap_user'] = 'roundcube'; $rcmail_config['remote_soap_pass'] = 'roundcube'; $rcmail_config['soap_url'] = 'http://192.177.167.44:8080/remote/'; ?>
Update the remote_soap_user
, remote_soap_pass
, and soap_url
. If ISPConfig uses https://, use the same for the soap_url
. You can use either an IP address or a hostname. The port matches that of your ISPConfig panel configuration.
Activate Plugin
Modify the Roundcube configuration in /etc/roundcube/config.inc.php. Locate the “List of active plugins” section. Debian Stretch does not enable any plugins by default, leaving the list empty unless you’ve enabled others. If the list is empty, like so:
// List of active plugins (in plugins/ directory) // Debian: install roundcube-plugins first to have any $config['plugins'] = array( );
Replace it with:
$config['plugins'] = array( "jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_autoselect", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter", "ispconfig3_forward", "ispconfig3_wblist" );
Maintaining the plugin order is critical. Do not change it unless familiar with the impact.
If the list is not empty, add the ISPConfig3 plugins to the existing list. Remove unneeded plugins to disable them.
If only using one mail host, remove the ispconfig3_autoselect plugin to avoid issues from improper configuration.
I removed ispconfig3_forward due to errors in /var/log/roundcube/errors at line 135 in ispconfig3_forward.php.
Copy Plugin to System Location
Copy the plugins from the checkout directory to /var/lib/roundcube:
cd /root/ISPConfig3_plugins for f in ispconfig3_* ; do echo $f ; cp --recursive $f /var/lib/roundcube/plugins/ ; done
Testing
If the new plugins appear in Settings but trigger a “Soap Error: Not Found” or “Soap Error: Bad Request,” verify the soap_url
setting for a trailing slash.
Test and enjoy the setup. You’ll notice an additional item created by these plugins in the Settings menu.
FAQ
- What should I do if I encounter errors during installation?
Consult the Troubleshooting FAQ by the ISPConfig3 plugin author. If issues persist, check logs in /var/log/roundcube/errors, /var/log, and /var/log/apache2. Verify your server setup follows the Perfect Server Guide. - Do I need php-soap installed?
Yes, php-soap is required. Verify its installation, especially in a VM environment where the default setup might omit it.