Skip to content

Installation

Johannes Feichtner edited this page Jun 19, 2022 · 11 revisions

Step 1: Prerequisites

Step 2: Configuration of ISPConfig

Go to your ISPConfig panel and add a new remote user: Tab "System" > "Remote Users"

Tick the checkbox Remote Access and activate the following functions:

  • 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

Step 3: Setup of ispconfig3_roundcube

Download the latest plugin package for Roundcube, either via ZIP archive or use a version management system like Git.

As a starting point for either option, make sure you are located in the Roundcube root directory before executing the listed commands. Also, make sure not to miss the trailing '.' (period) when copying the commands. It causes the plugin folders to be fetched to the current directory (and omits the creation of an undesired extra folder).

Install via Git

cd plugins
git clone https://github.com/w2c/ispconfig3_roundcube.git .

Update via Git

cd plugins
git pull origin master

Install from archive

Download the most recent version from: https://github.com/w2c/ispconfig3_roundcube/archive/master.zip
Extract the content of the ispconfig3_roundcube-master folder in the ZIP file to the plugins directory of your Roundcube installation.

Step 4: First-time setup

Copy the file ./ispconfig3_account/config/config.inc.php.dist to ./ispconfig3_account/config/config.inc.php.

Step 5: Configuration of ispconfig3_roundcube

In the newly created config file (./ispconfig3_account/config/config.inc.php) replace the sample values with your individual settings:

$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;
  • Also change the port, if necessary
  • If your ISPConfig installation is using a self-signed server certificate (= not issued by a public CA, such as Letsencrypt), you might have to set soap_validate_cert to false. Otherwise, if the certificate is not trusted, you will see the error message "Soap Error: Could not connect to host".
  • An alternative solution is to make the system trust the self-signed TLS certificate by adding it to the system trust store:
cp /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/share/ca-certificates/
update-ca-certificates
  • Now edit your php.ini and set the trust anchor, e.g.:
nano /etc/php/7.4/fpm/php.ini
  • Scroll down to the [openssl] block and set openssl.cafile=/etc/ssl/certs/ca-certificates.crt

Example

Let's assume your username is "Santa", your password is "Claus" and your server's domain is "christmas.com" (or an IP address). If your ISPConfig panel can be accessed via port 1111 and you are using TLS with a trusted certificate, your configuration would be:

$config['identity_limit'] = false;
$config['remote_soap_user'] = 'Santa';
$config['remote_soap_pass'] = 'Claus';
$config['soap_url'] = 'https://christmas.com:1111/remote/';
$config['soap_validate_cert'] = true;

Step 6: Configuration of Roundcube

In the config file of Roundcube look for this line:

// List of active plugins (in plugins/ directory)
$config['plugins'] = array();

If there are already plugins listed, add the following to the array:

, "jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_autoselect", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter", "ispconfig3_forward", "ispconfig3_wblist"

!! The jqueryui plugin has to be listed prior to the ISPConfig3 plugins !! !! If you are just using one server for mail, do not activate the autoselect plugin !!

Otherwise, if there are no plugins yet, replace the line with the following:

// List of active plugins (in plugins/ directory)
$config['plugins'] = array("jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_autoselect", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter", "ispconfig3_forward", "ispconfig3_wblist");

Any plugins you want to be inactive, have to be removed from this line. For instance, if you do not wish to have "ispconfig3_pass" (password changer) enabled, you have to omit it. The entire line would then look like this:

// List of active plugins (in plugins/ directory)
$config['plugins'] = array("jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_autoselect", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter", "ispconfig3_forward", "ispconfig3_wblist");

Step 7: Success

A new tab named "Accounts" should now be visible on your settings page in Roundcube, displaying all plugins enabled in step 6.

PS: If you encounter any issue, look here: Troubleshooting / FAQ