Roundcube Installation Guide

Roundcube is an email webclient which is easy and intuitive to use. I am using it for my private mails, connecting via IMAP and SMTP to my hoster. One of the great advantages is the “flag” option which is synchronized via IMAP to my Apple devices.

Following is a step-by-step installation guide for Roundcube plus an update scenario. It is a kind of “memo for myself”, but hopefully, others can use it as well.

I wrote this guide as Roundcube 1.1.1 was the newest version. Later in this guide, I updated the installation to version 1.1.2.

The prerequisites for this are an Linux distribution (I am currently using Ubuntu 14.04 LTS 64-bit), a DNS domain name to the static IP address of the server and a valid SSL certificate. I furthermore assume that there is already an Apache server running and a MySQL database active. If not, start with the following that installs apache2, mysql and php5, and enables three specific apache modules. During this process, the SQL root password must be chosen:

The error message “Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName” can be corrected by setting the correct server name:

Roundcube Base

Make a folder inside the /var/www path, download the current (not the 1.1.1 version as I did for this record!) and “complete” roundcube version, unpack it, and change the ownership:

In my case, the hidden “.htaccess” file was NOT copied, so I did it separately:

Database

Log into mysql (prompted for the root password), create a new database and user (change the THISISTHEPASSWORD to a new one of your own) and grant the privileges:

Followed by a copy of the initial.sql database that ships with the roundcube download. Note that the password must be specified DIRECTLY behing the -p option. No space in between!

Virtual Host

Create a new virtual host for the Apache HTTP server:

and paste in the following lines. Replace the “DOMAIN.TLD” with your domain. This actually creates two virtual hosts, one listening on the unencrypted http port 80 (only redirects to https), and the other one on https port 443.

To change the SSL cipher suites of apache to better ones, refer to this tutorial.

Enable the new site and reload the apache service:

Finalize via Web GUI

Now, access the following URL in order to finalize the installation:

One thing was noted as an error: “date.timezone:  NOT OK(not set)”. This can be corrected with the following new line inside the php.ini file:

In the “Database setup” part, enter the following four values:

This should fit for now. You can do some tests on the final site, then it’s finished.

Finally, as recommended, delete the “installer” folder:

File Size

One thing to adjust is the maximum file size for file attachements (see here). Open the htaccess file and adjust the following two lines:

Done. ;)

Update

This is a demo case in which I updated from Roundcube 1.1.1 to 1.1.2. See the changelog  and official howto-upgrade pages from roundcube.

At first, backup the roundcube folder:

and export the whole SQL database, e.g., via phpMyAdmin (not explained here).

Download the new package, extract it, and run the script. Worked without any errors. Great!

Featured image “icecubes 1” by coolabanana is licensed under CC BY 2.0.

3 thoughts on “Roundcube Installation Guide

  1. Schönes Tool, hatte ich auch lange selbst bei mir installiert, mittlerweile läuft es aber auch bei meinem Provider, das spart mir die Arbeit. Außerdem nutze ich es sehr selten, den meistens hab ich entweder meinen Rechner dabei und/oder das Handy, jeweils mit Mailclient.

    1. Jo, bei mir lief es auch beim Provider, bis er Roundcube durch einen “moderneren” Mailclient ersetzt hat, welcher leider diese IMAP Flags nicht mehr beherrscht. Sehr doof.
      Und da ich auf meinem dienstlichen Notebook nicht meine privaten Mails mit einem Client abrufen möchte, ist der Webclient hier echt super.

  2. DAMKE! beste und einfachste Anleitung zum RC! Schade dass ich sie nicht gleich gefunden habe;-)

Leave a Reply

Your email address will not be published. Required fields are marked *