The ispconfig3_roundcube plugins integrate your ISPConfig mail account settings in Roundcube. In this tutorial, I will take you through the process of installing them.
Prerequisites
- Roundcube has to be installed using apt. If not, you may need to change the file paths used in this tutorial.
- Make sure your ISPConfig and Roundcube installation are up to date
Adding a remote user
The ISPConfig 3 plugins use the API to connect to your system. Therefore we need to create a remote user in the control panel.
Log in to your panel, go to System -> Remote Users, and click "Add new remote user". In the form, give your new user a name and a password. I'll use rc-example with the password examplepass. Don't use the same credentials, but create your own. My example panel will be located at https://panel.example.com:8080 with a valid SSL certificate
Enable the following function for your remote user:
- Roundcube plugins functions
And enable remote access for the IPv4 and IPv6 address of your webmail server.
Download the plugins
Run the following commands:
cd /tmp
wget https://github.com/w2c/ispconfig3_roundcube/archive/master.zip
unzip master.zip
cd ./ispconfig3_roundcube-master
cp -r ./ispconfig3_* /usr/share/roundcube/plugins
ln -s /usr/share/roundcube/plugins/ispconfig* /var/lib/roundcube/plugins/
The plugins are now in the correct folder, with a symlink from /var/lib/roundcube/plugins. The next step is to configure them to use our remote user. Run this to copy the example config and edit it:
cp /usr/share/roundcube/plugins/ispconfig3_account/config/config.inc.php.dist /usr/share/roundcube/plugins/ispconfig3_account/config/config.inc.php
nano /usr/share/roundcube/plugins/ispconfig3_account/config/config.inc.php
You will see this config file:
$config['identity_limit'] = false; $config['remote_soap_user'] = '{REMOTE USERNAME}'; $config['remote_soap_pass'] = '{REMOTE PASSWORD}'; $config['soap_url'] = 'https://{YOUR SERVER}:8080/remote/'; $config['soap_validate_cert'] = true;
I'll change this to:
$config['identity_limit'] = false; $config['remote_soap_user'] = 'rc-example'; $config['remote_soap_pass'] = 'examplepass'; $config['soap_url'] = 'https://panel.example.com:8080/remote/'; $config['soap_validate_cert'] = true;
Make sure to replace the red underlined text with your own credentials and panel address. Change soap_validate_cert to false if you use https but don't have a trusted SSL certificate installed.
Enabling the plugins
To enable the plugins, open the roundcube configuration:
nano /etc/roundcube/config.inc.php
And search for these lines:
// List of active plugins (in plugins/ directory) $config['plugins'] = array();
To enable the plugins, add this between the brackets:
"jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter", "ispconfig3_forward", "ispconfig3_wblist"
The line will then look like this:
// List of active plugins (in plugins/ directory) $config['plugins'] = array("jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter", "ispconfig3_forward", "ispconfig3_wblist");
A few notes to this:
- The jqueryui plugin has to be placed in front of the other plugins.
- If you don't want to use a plugin, for example the fetchmail plugin, leave out ispconfig3_fetchmail.
- If you use more than one mailserver, add ispconfig3_autoselect to the list, and leave
$config['default_host']
empty. ispconfig3_autoselect will automatically pick the right server for the user that logs in. You can edit it's own configuration file to enable tls/ssl connections between Roundcube and the external mailserver in ispconfig3_autoselect/config/config.inc.php.dist
After saving the configuration file, a new tab "Account" will show up in the webmail settings:
We're done!
If you experience any trouble, take a look at the troubleshooting FAQ on https://github.com/w2c/ispconfig3_roundcube/wiki/Troubleshooting---FAQ
If you have any questions or comments, you can leave them in the replies or create a forum post.