Install ISPConfig 3 - Roundcube plugins on Debian 10

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 functions for your remote user:

  • Client functions
  • Server functions
  • Mail user functions
  • Mail user filter functions
  • Mail alias functions
  • Mail forward functions
  • Mail fetchmail functions
  • Mail spamfilter user functions
  • Mail spamfilter policy functions
  • Mail spamfilter whitelist functions
  • Mail spamfilter blacklist 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:

New settings tab

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.

Share this page:

Suggested articles

4 Comment(s)

Add comment

Comments

By: Taleman

I notice ISPConfig 3.2.5 has in remote user functions:

Roundcube plugins functions

Is there any documentation on this?

 

By: Taleman

I notice ISPConfig 3.2.5 has in remote user functions:

Roundcube plugins functions

Is there any documentation on this?

 

By: churbz

The 11 permissions above + remote are reduced to just "Roundcube plugins functions" + remote. Tested on ISPConfig 3.2.5.

Notes are in the threads:

Roundcube Attachment Size Limit

ispconfig3_roundcube security

By: ole

I have got a problem with soap authorization. I guess it is because I installed the .htaccess .htpassword protection for the login of the panel. Not sure if I could  just add the following to my .htaccess file at panel.example.com which is hosted at IP 1.2.3.4 or is this a security risk???

# Allow user roundcube from IP access without pwAuthName "Authorized Users Only."AuthType BasicAuthUserFile /usr/local/ispconfig/interface/.htpasswdrequire user roundcubeOrder deny,allowDeny from allAllow from 1.2.3.4Satisfy Any

my ISPconfig is 3.2.6 on Buster, roundcube is 1.3.15, php7.3-soap is 7.3.19 and apache2 is 2.4.38

Any help is greatly appreciated.