Configuration Issue. There Can Be Only One Enabled Plugin for Attachments Handling

Roundcube is a complimentary open up-source, full-featured webmail client written in PHP. A webmail is a mail client in your browser, which means instead of reading and sending emails from a desktop mail client like Mozilla Thunderbird, yous can admission your email from a web browser. This tutorial is going to show you lot how to install Roundcube webmail on Ubuntu xx.04 with Apache or Nginx web server.

Roundcube Features

Roundcube functionality includes:

  • Address book
  • Folder direction
  • Message searching
  • Message filter
  • Spell checking
  • MIME support
  • PGP encryption and signing
  • Users are able to alter their countersign in Roundcube.

Roundcube 1.4 Release

Roundcube one.four was released on November 10, 2019 after two years of development. This release features:

  • A responsive skin chosen Elastic with total mobile device support
  • Email Resent (Bounce) feature
  • Improved Mailvelope integration
  • Support for Redis and Memcached cache
  • Support for SMTPUTF8 and GSSAPI
  • Plus numerous improvements and issues fixes

Prerequisites

To follow this tutorial, it's assumed that

  • Postfix SMTP server and Dovecot IMAP server have been installed on your Ubuntu xx.04 server
  • You take already installed a LAMP stack or LEMP stack on Ubuntu xx.04 server.

If non, delight click the above links and follow the instructions to consummate prerequisites. Note that if y'all set upwards your e-mail server using iRedMail before, then your server meets all requirements and Roundcube is already installed on your server.

Now permit'south proceed to install Roundcube.

Stride 1: Download Roundcube Webmail on Ubuntu twenty.04

Log in to your Ubuntu server via SSH, so run the following command to download the latest 1.4 stable version from Roundcube Github repository.

wget https://github.com/roundcube/roundcubemail/releases/download/1.4.6/roundcubemail-1.four.6-consummate.tar.gz

Note: Y'all can always apply the above URL format to download Roundcube from command line. If a new version comes out, only replace 1.4.6 with the new version number. You tin can check if at that place's new release at Roundcube downloade page.

Excerpt the tarball, move the newly created folder to web root (/var/www/) and rename information technology equally roundcube at the same time.

tar xvf roundcubemail-1.4.6-complete.tar.gz  sudo mv roundcubemail-1.four.6          /var/world wide web/roundcube

Step 2: Install Dependencies

Run the following control to install required PHP extensions.

sudo apt install php-internet-ldap2 php-net-ldap3 php-imagick php7.four-common php7.4-gd php7.four-imap php7.four-json php7.4-curlicue php7.iv-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp

Install Composer, which is a dependency manager for PHP.

sudo apt install composer

Modify into the roundcube directory.

cd /var/www/roundcube

Use Composer to install all needed dependencies (third party libraries) for Roundcube Webmail.

composer install --no-dev

If you see the nothing to install or update bulletin, then all dependencies are installed.

roundcube-webmail-install-dependency-ubuntu-20.04

Make the web server user (www-data) every bit the owner of the temp and logs directory and then that web server can write to these two directories.

sudo chown www-data:www-data temp/ logs/ -R

Stride 3: Create a MariaDB Database and User for Roundcube

Log into MariaDB beat out as root.

sudo mysql -u root

And then create a new database for Roundcube using the post-obit command. This tutorial name it roundcube, yous can utilize whatever proper noun you like for the database.

CREATE DATABASE          roundcube          DEFAULT CHARACTER Set utf8 COLLATE utf8_general_ci;

Next, create a new database user on localhost using the post-obit command. Once more, this tutorial name information technology roundcubeuser, yous can apply whatever proper name you like. Supervene upon password with your preferred countersign.

CREATE USER          roundcubeuser@localhost IDENTIFIED BY 'password';

Then grant all permission of the new database to the new user so later on on Roundcube webmail can write to the database.

GRANT ALL PRIVILEGES ON          roundcube.* TO          roundcubeuser@localhost;

Affluent the privileges tabular array for the changes to take effect.

flush privileges;

Exit MariaDB Shell:

exit;

Import the initial tables to roundcube database.

sudo mysql roundcube < /var/www/roundcube/SQL/mysql.initial.sql

Step 4: Create Apache Virtual Host or Nginx Config File for Roundcube

Apache

If you utilize Apache web server, create a virtual host for Roundcube.

sudo nano /etc/apache2/sites-bachelor/roundcube.conf

Note: If you followed my Postfix/Dovecot tutorial, a virtual host already exists. you should edit the following file. (Delete the existing content.)

sudo nano /etc/apache2/sites-available/mail.case.com.conf

Put the following text into the file. Replace mail.example.com with your existent domain name and don't forget to set DNS A record for it.

<VirtualHost *:80>   ServerName          postal service.example.com          DocumentRoot /var/world wide web/roundcube/    ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log   CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined    <Directory />     Options FollowSymLinks     AllowOverride All   </Directory>    <Directory /var/www/roundcube/>     Options FollowSymLinks MultiViews     AllowOverride All     Order permit,deny     let from all   </Directory>  </VirtualHost>

Save and close the file. So enable this virtual host with:

sudo a2ensite roundcube.conf

Reload Apache for the changes to take outcome.

sudo systemctl reload apache2

Now y'all should be able to run into the Roundcube web-based install sorcerer at http://mail service.example.com/installer.

Nginx

If you use Nginx spider web server, create a virtual host for Roundcube.

sudo nano /etc/nginx/conf.d/roundcube.conf

Note: If you followed my Postfix/Dovecot tutorial, a virtual host already exists. you should edit the following file. (Delete the existing content.)

sudo nano /etc/nginx/conf.d/postal service.case.com.conf

Put the following text into the file. Replace the domain name and don't forget to set up DNS A record for information technology.

server {   listen 80;   listen [::]:eighty;   server_name          mail.example.com;   root /var/world wide web/roundcube/;   index alphabetize.php index.html alphabetize.htm;    error_log /var/log/nginx/roundcube.fault;   access_log /var/log/nginx/roundcube.access;    location / {     try_files $uri $uri/ /alphabetize.php;   }    location ~ \.php$ {    try_files $uri =404;     fastcgi_pass unix:/run/php/php7.4-fpm.sock;     fastcgi_index index.php;     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;     include fastcgi_params;   }    location ~ /.well-known/acme-challenge {     allow all;   }  location ~ ^/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {     deny all;   }   location ~ ^/(bin|SQL)/ {     deny all;   }  # A long browser cache lifetime tin speed upward repeat visits to your folio   location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {        access_log        off;        log_not_found     off;        expires           360d;   } }

Save and shut the file. Then exam Nginx configurations.

sudo nginx -t

If the test is successful, reload Nginx for the changes to take effect.

sudo systemctl reload nginx

Now you should be able to run into the Roundcube web-based install wizard at http://mail.example.com/installer.

Step 5: Enabling HTTPS

Information technology'due south highly recommended that you use TLS to encrypt your webmail. We can enable HTTPS past installing a free TLS certificate issued from Let's Encrypt. Run the following command to install Allow's Encrypt customer (certbot) on Ubuntu 20.04 server.

sudo apt install certbot

If you lot use Nginx, and so you also need to install the Certbot Nginx plugin.

sudo apt install python3-certbot-nginx

Next, run the following control to obtain and install TLS document.

sudo certbot --nginx --concord-tos --redirect --hsts --staple-ocsp --email          [email protected]          -d          post.instance.com        

If you lot use Apache, install the Certbot Apache plugin.

sudo apt install python3-certbot-apache

And run this command to obtain and install TLS document.

sudo certbot --apache --concord-tos --redirect --hsts --staple-ocsp --electronic mail          [email protected]          -d          mail.case.com        

Where

  • --nginx: Use the nginx plugin.
  • --apache: Use the Apache plugin.
  • --concur-tos: Agree to terms of service.
  • --redirect: Force HTTPS by 301 redirect.
  • --hsts: Add the Strict-Transport-Security header to every HTTP response. Forcing browser to always use TLS for the domain. Defends confronting SSL/TLS Stripping.
  • --staple-ocsp: Enables OCSP Stapling. A valid OCSP response is stapled to the certificate that the server offers during TLS.

The certificate should now be obtained and automatically installed.

roundcube webmail https letsencrypt

Note: If you followed my Postfix/Dovecot tutorial, and now you install Roundcube on the aforementioned server, then certbot will probably tell yous that a certificate for mail.example.com already exists as shown below, and then you can choose to install the existing TLS document to your web server configuration file.

roundcube postfix dovecot certbot https certificate

Pace six: Adding Local DNS Entry

Information technology'south recommended to edit the /etc/hosts file on the postal service server and add together the following entry, and then that Roundcube won't have to query the public DNS, which will speed upward web folio loading a fiddling fleck.

127.0.0.one  localhost          mail service.example.com        

Step vii: Finish the Installation in Web Browser

In your web browser, go to the Roundcube installer page.

https://mail.example.com/installer

The web installer will starting time bank check if PHP extensions, database and third party libraries are installed. If you follow this tutorial, then all requirements should be met.

roundcube-ubuntu-20.04

Click Next push. In the 2nd page, go to the Database setup department. You demand to make full in MariaDB database details that you created in step 3.

roundcube mariadb user

The IMAP and SMTP section allows y'all to configure how to receive and submit email. Enter the following values for IMAP.

  • IMAP host: ssl://mail.example.com port: 993

Enter the post-obit values for SMTP settings.

  • SMTP port: tls://postal service.instance.com port: 587. Note that yous must utilize tls:// as the prefix for port 587. The ssl:// prefix should exist used for port 465.

roundcube smtp settings

Side by side, you tin can scroll down to the Plugins section to enable some plugins. For case, the password plugin, mark as junk plugin, and and so on. I enabled all of them. (Y'all can e'er disable a plugin afterward installation in the /var/www/roundcube/config/config.inc.php file.)

roundcube enable plugins

Once that'southward done, click create config button which will create configuration based on the data you entered. You need to copy the configuration and salve it as config.inc.php under the /var/www/roundcube/config/ directory.

roundcube webmail installer

Once the config.inc.php file is created, click go on button. In the terminal step, test your SMTP and IMAP settings by sending a test email and checking IMAP login. Note that yous need to enter your full electronic mail address in the Sender field when testing SMTP config.

roundcube webmail test smtp & imap config

If the exam fails, then you can click the 2. Create config link on the top of page to go dorsum to step ii and recreate the config.inc.php file.

If test is successful, get to your Webmail domain without /installer and login.

roundcube webmail elastic skin

Roundcube Webmail interface

roundcube ubuntu server apache nginx

Now you should remove the whole installer folder from the document root or make sure that enable_installer option in config.inc.php file is disabled.

sudo rm /var/www/roundcube/installer/ -r

These files may expose sensitive configuration data similar server passwords and encryption keys to the public. Make certain you cannot access the installer page from your browser.

Pace viii: Configure the Sieve Bulletin Filter

You can create folders in Roundcube webmail and then create rules to filter email messages into different folders. In order to practise this, yous demand to install the ManageSieve server with the post-obit control.

sudo apt install dovecot-sieve dovecot-managesieved

By default, Postfix uses its builtin local delivery amanuensis (LDA) to move inbound emails to the message shop (inbox, sent, trash, Junk, etc). We tin can configure it to use Dovecot to deliver emails, via the LMTP protocol, which is a simplified version of SMTP. LMTP allows for a highly scalable and reliable postal service organisation and it is required if yous want to use the sieve plugin to filter inbound letters to different folders.

Install the Dovecot LMTP Server.

sudo apt install dovecot-lmtpd

Edit the Dovecot principal configuration file.

sudo nano /etc/dovecot/dovecot.conf

Add lmtp and sieve to the supported protocols.

protocols = imap lmtp sieve

Salve and close the file. So edit the Dovecot ten-principal.conf file.

sudo nano /etc/dovecot/conf.d/x-master.conf

Change the lmtp service definition to the post-obit.

service lmtp {                    unix_listener /var/spool/postfix/private/dovecot-lmtp {                    group = postfix                    mode = 0600                    user = postfix                    }          }

Next, edit the Postfix principal configuration file.

sudo nano /etc/postfix/main.cf

Add the post-obit lines at the end of the file. The first line tells Postfix to deliver emails to local message store via the dovecot LMTP server. The second line disables SMTPUTF8 in Postfix, because Dovecot-LMTP doesn't support this email extension.

mailbox_transport = lmtp:unix:private/dovecot-lmtp smtputf8_enable = no

Save and close the file. Open the /etc/dovecot/conf.d/xv-lda.conf file.

sudo nano /etc/dovecot/conf.d/fifteen-lda.conf

Gyre to the cease of the file, uncomment the mail_plugins line and add the sieve plugin to local delivery amanuensis (LDA).

protocol lda {     # Space separated list of plugins to load (default is global mail_plugins).     mail_plugins = $mail_plugins sieve }

Relieve and close the file. If you tin discover the 20-lmtp.conf file nether /etc/dovecot/conf.d/ directory, then you should too enable the sieve plugin in that file like below.

protocol lmtp {       mail_plugins = quota sieve }

Edit the /etc/dovecot/conf.d/10-mail service.conf file.

sudo nano /etc/dovecot/conf.d/10-postal service.conf

Sieve scripts are stored under each user'south abode directory. If you followed my PostfixAdmin tutorial and are using virtual mailbox domains, then yous need to enable mail_home for the virtual users by adding the following line in the file, because virtual users don't accept abode directories by default.

mail_home = /var/vmail/%d/%north

Save and close the file.

Finally, restart Postfix and Dovecot.

sudo systemctl restart postfix dovecot

Now you can go to Roundcube webmail, open up an email bulletin and click the more button and select create filters to create message filters. For example, I create a filter that moves every email sent from redhat.com to the Crimson Hat folder.

roundcube sieve filter

If you don't have the create filter option, information technology'due south probably because yous didn't enable the managesieve plugin. Edit the config.inc.php file.

sudo nano /var/www/roundcube/config/config.inc.php

Add the managesieve plugin in the array at the end of this file. The plugin order doesn't matter.

$config['plugins'] = assortment('acl', 'additional_message_headers',          'managesieve', .....);

Save and close the file.

Note that if you motility a sieve filter set from an old mail server to your new mail server, you demand to go to Settings -> Filters, and so click Deportment and enable the filter set, or Dovecot LMTP server won't execute the sieve filter.

Step nine: Removing Sensitive Data from Email Headers

By default, Roundcube will add a User-Agent electronic mail header, indicating that you are using Roundcube webmail and the version number. You can tell Postfix to ignore information technology so recipient tin can not see it. Run the following command to create a header check file.

sudo nano /etc/postfix/smtp_header_checks

Put the post-obit lines into the file.

/^User-Amanuensis.*Roundcube Webmail/            IGNORE        

Save and close the file. And then edit the Postfix main configuration file.

sudo nano /etc/postfix/primary.cf

Add together the following line at the stop of the file.

smtp_header_checks = regexp:/etc/postfix/smtp_header_checks

Relieve and close the file. Then run the following command to rebuild hash table.

sudo postmap /etc/postfix/smtp_header_checks

Reload Postfix for the alter to take effect.

sudo systemctl reload postfix

Now Postfix won't include User-Amanuensis: Roundcube Webmail in the headers when sending outgoing emails.

Step 10: Configure the Password Plugin in Roundcube

Roundcube includes a countersign plugin that allows users to change their passwords from the webmail interface. Edit the config.inc.php file.

sudo nano /var/www/roundcube/config/config.inc.php

Make sure the password plugin in the plugin list at the stop of this file. The plugin club doesn't matter.

$config['plugins'] = array('acl', 'additional_message_headers',          'countersign', .....);

Save and close the file.

However, nosotros need to configure this plugin before information technology will piece of work. Run the following control to copy the distributed password plugin config file to a new file.

sudo cp /var/www/roundcube/plugins/countersign/config.inc.php.dist /var/www/roundcube/plugins/password/config.inc.php

Edit the password plugin configuration file.

sudo nano /var/www/roundcube/plugins/password/config.inc.php

Find the following line:

$config['password_db_dsn'] = '';

This parameter is used to tell the password plugin where the user passwords are stored. By default, the value is empty and it will query the roundcube database, which doesn't shop user passwords. If you followed my PostfixAdmin tutorial, and so user passwords are stored in the postfixadmin.mailbox tabular array, and then we need to alter the value to:

$config['password_db_dsn'] = 'mysql://postfixadmin:postfixadmin_database_password@127.0.0.1/postfixadmin';

The tells the password plugin to connect to the postfixadmin database. If y'all don't remember your postfixadmin database password, yous can detect it in the /etc/dovecot/dovecot-sql.conf.ext file. If your PostfixAdmin password contains a single quote grapheme, then yous can use backslash (\') to escape it.

Then find the following line.

$config['password_query'] = 'SELECT update_passwd(%c, %u)';

Modify it to the following.

$config['password_query'] = 'UPDATE mailbox Prepare countersign=%D,modified=At present() WHERE username=%u';

I recommend enabling a password forcefulness checker to prevent users from setting weak passwords. Go to the beginning of this file, you tin can notice the post-obit line.

$config['password_strength_driver'] = null;

We can use the zxcvbn password strength driver, and then change it to:

$config['password_strength_driver'] = 'zxcvbn';

Add the following line in this file to allow stiff passwords only.

$config['password_zxcvbn_min_score'] = 5;

Note: The $config['password_minimum_score'] parameter doesn't work with the zxcvbn driver, so leave it solitary.

You can too set a minimum length for the password. Detect the post-obit line.

$config['password_minimum_length'] = 0;

Change information technology to:

$config['password_minimum_length'] = 8;

Think that we used the ARGON2I password scheme in the PostfixAdmin tutorial, so we also need to configure the countersign plugin to use ARGON2I. Detect the following lines in the file.

$config['password_algorithm'] = 'articulate';

By default, the password volition exist stored equally clear text, modify the value to the following to use Dovecot's builtin password algorithm.

$config['password_algorithm'] = 'dovecot';

And then find the following line, which tells where the Dovecot's countersign hash generator is located.

$config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw'; // for dovecot-1.x

Change information technology to the following.

$config['password_dovecotpw'] = '/usr/bin/doveadm pw -r v';

Then find the following line, which tells which password scheme will exist used.

$config['password_dovecotpw_method'] = 'CRAM-MD5';

Alter it to:

$config['password_dovecotpw_method'] = 'ARGON2I';

Find the following line.

$config['password_dovecotpw_with_method'] = false;

Change simulated to true. This will add a {ARGON2I} prefix to the hashed password, and then y'all will recognize which password scheme is used.

$config['password_dovecotpw_with_method'] = true;

Save and close the file. Since this file contains the database password, we should allow simply the www-data user to read and write to this file.

sudo chown www-information:www-data /var/www/roundcube/plugins/password/config.inc.php sudo chmod 600 /var/www/roundcube/plugins/password/config.inc.php

Now users should be able to change their passwords in the Roundcube webmail interface.

roundcube webmail change password

How to Ready Holiday/Out-of-Office Messages

We can use the sieve filter to create holiday/out-of-function messages. Go to Roundcube Settings -> Filters. So click the create button to create a filter.

  • Give this filer a name like "out of part".
  • New filters are not disabled, so you can leave the push lone.
  • In the Scope field, select all messages.
  • Select Replay with message in the Deportment settings, and enter the message that will be automatically sent.
  • Enter one in how ofter transport messages. Leave other text field empty.
  • Click the Save push and you are done.

roundcube vacation out of office message

When you are back to role, you tin can toggle the "Filter disabled" button, and click the Save push button to disable this filter.

Increase Upload File Size Limit

If you use PHP-FPM to run PHP scripts, then files such as images, PDF files uploaded to Roundcube can not be larger than 2MB. To increase the upload size limit, edit the PHP configuration file.

sudo nano /etc/php/7.4/fpm/php.ini

Observe the following line (line 846).

upload_max_filesize = 2M

Alter the value like below. Note that this value should non be larger than the attachment size limit set by Postfix SMTP server.

upload_max_filesize =          50M        

Then discover the following line (line 694).

post_max_size = 8M

Modify the maximum size of Postal service data that PHP will accept.

post_max_size =          50M        

Save and close the file. Alternatively, you can run the following two commands to alter the value without manually opening the file.

sudo sed -i 'due south/upload_max_filesize = 2M/upload_max_filesize =          50M/g' /etc/php/7.4/fpm/php.ini  sudo sed -i 's/post_max_size = 8M/post_max_size =          50M/1000' /etc/php/7.4/fpm/php.ini

Then restart PHP-FPM.

sudo systemctl restart php7.4-fpm

Nginx also sets a limit of upload file size. The default maximum upload file size limit set by Nginx is 1MB. If you lot use Nginx, edit the Nginx configuration file.

sudo nano /etc/nginx/conf.d/mail.example.com.conf

Add the following line in the SSL virtual host.

client_max_body_size          50M;

Save and close the file. Then reload Nginx for the changes to accept effect.

sudo systemctl reload nginx

At that place are 3 plugins in Roundcube for attachments/file upload:

  • database_attachments
  • filesystem_attachments
  • redundant_attachments

Roundcube can use but one plugin for attachments/file uploads. I found that the database_attachment plugin can be error_prone and cause you problem. To disable information technology, edit the Roundcube config file.

sudo nano /var/www/roundcube/config/config.inc.php

Scroll downwardly to the end of this file. You lot will see a list of active plugins. Remove 'database_attachments' from the listing. Relieve and shut the file.

Setting Upward Multiple Post Domains

To host multiple mail domains, please read the following article:

  • How to Host Multiple Postal service Domains in PostfixAdmin on Ubuntu

Troubleshooting Tips

If you encounter errors, y'all tin check the spider web server error logs at /var/log/apache2/roundcube_error.log (if you are using Apache), or /var/log/nginx/roundcube.error (if y'all are using Nginx.), also the Roundcube error logs in /var/www/roundcube/logs/ directory.

Connectedness to Storage Server Failed

If you see the Connection to storage server failed fault when trying to log into RoundCube, it's probably because

  • Dovecot server isn't running. You tin can restart Dovecot with sudo systemctl restart dovecot and check its condition with systemctl status dovecot.
  • You are using a cocky-signed TLS certificate. Roundcube requires a valid TLS certificate issued from a trusted document authorization such as Let's Encrypt.
  • Your TLS certificate expired. Yous can renew the Let'southward Encrypt TLS certificate with sudo certbot renew, and so restart Postfix and Dovecot (sudo systemctl restart postfix dovecot).

Y'all can too attempt calculation a custom DNS entry in /etc/hosts file as described in step 8 on the Roundcube server, then Roundcube can properly resolve the mail server hostname.

Could Not Load Message From Server

If yous see the "Internal error: could not load message from server" error, it'due south probabaly considering you are trying to open up an deleted email (invalid URL). Attempt going to the mail service root domain (mail.instance.com) to see if information technology works.

Sieve Message Filter Doesn't Piece of work?

If you followed step 8 to gear up sieve filter to the letter, but all the same can't get it to work, then you tin can enable debugging in Dovecot to discover out what's wrong.

sudo nano /etc/dovecot/dovecot.conf

Add the following line at the cease of this file to enable debugging in Dovecot.

mail_debug=aye

Save and close the file. Then restart Dovecot.

sudo systemctl restart dovecot

Adjacent, send a test electronic mail to your domain email address and open the mail log file.

sudo nano /var/log/mail.log

Y'all tin observe debugging information for Sieve message filter. For example, I institute that Dovecot was unable to run my Sieve script.

January 10 11:35:24 mail dovecot: lmtp([email protected]) Debug: sieve: Aborted running script `/var/vmail/linuxbabe.com/xiao/.dovecot.svbin'

It turns out that my Sieve filter has too many rules and some of them are conflicting with each other. I delete those conflicting rules and it works again.

How to Upgrade Roundcube

Information technology'south very simple. For example, here'south how to upgrade to Roundcube one.5.0.

Download the Roundcube latest version to your home directory.

cd ~  wget https://github.com/roundcube/roundcubemail/releases/download/ane.5.0/roundcubemail-ane.5.0-consummate.tar.gz

Extract the archive.

tar xvf roundcubemail-1.5.0-consummate.tar.gz

Modify the owner to www-data.

chown www-data:www-data roundcubemail-1.5.0/ -R

And so run the install script.

roundcubemail-1.5.0/bin/installto.sh /var/www/roundcube/

One time it's done, log into Roundcube webmail and click the Nigh button to bank check what version of Rouncube y'all are using.

Wrapping Up

I promise this tutorial helped you install Roundcube Webmail on Ubuntu 20.04. As e'er, if yous found this post useful, subscribe to our costless newsletter to become more tips and tricks 🙂

matthewsforaors.blogspot.com

Source: https://www.linuxbabe.com/ubuntu/install-roundcube-webmail-ubuntu-20-04-apache-nginx

0 Response to "Configuration Issue. There Can Be Only One Enabled Plugin for Attachments Handling"

Postar um comentário

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel