Install and set-up Roundcube webmail interface

Leave reply

Install and set-up Roundcube webmail interfaceThe following article is about how to install and set-up the Roundcube webmail interface on a CentOS VPS.

It is actually part 2 of our mailserver with virtual users and domains using Postfix and Dovecot on a CentOS 6 VPS series.

What is Roundcube?

Roundcube is a web-based IMAP email client written in PHP. Roundcube’s most prominent feature is the pervasive use of Ajax technology to present a more fluid and responsive user interface than the one of traditional webmail clients. It provides full functionality you expect from an email client, including MIME support, address book, folder manipulation, message searching, spell checking etc…

As usual, before proceeding any further, SSH to your CentOS 6 VPS, fire-up a screen session and make sure your system is fully up-to-date by running:

## screen -U -S roundcube-screen
## yum update

Roundcube requires PHP, a webserver and a database server. We are going to use the LAMP stack here, so, if LAMP is not already set-up on your system please check our LAMP stack article on how to set it up.

Ok, next step is to set-up a database for Roundcube using the following commands:

## mysql -u root -p
mysql> CREATE DATABASE IF NOT EXISTS `roundcube`;
mysql> GRANT ALL PRIVILEGES ON `roundcube` . * TO 'roundcube'@'localhost' IDENTIFIED BY 'mySecretPassword';
mysql> FLUSH PRIVILEGES;
mysql> quit

make sure you change ‘mySecretPassword‘ with your own one.

Before downloading and installing Roundcube, let’s first create Roundcube’s Apache configuration file in /etc/httpd/conf.d/90-roundcube.conf by using an editor:

## vim  /etc/httpd/conf.d/90-roundcube.conf

and paste the following:

Alias /webmail /var/www/html/roundcube

<Directory /var/www/html/roundcube>
    Options -Indexes
    AllowOverride All
</Directory>

<Directory /var/www/html/roundcube/config>
    Order Deny,Allow
    Deny from All
</Directory>

<Directory /var/www/html/roundcube/temp>
    Order Deny,Allow
    Deny from All
</Directory>

<Directory /var/www/html/roundcube/logs>
    Order Deny,Allow
    Deny from All
</Directory>

So far so good. Now, download and set-up the latest version of Roundcube to /var/www/html/roundcube using:

## curl -L "http://sourceforge.net/projects/roundcubemail/files/latest/download?source=files" > /tmp/roundcube-latest.tar.gz
## tar -zxf /tmp/roundcube-latest.tar.gz -C /var/www/html
## rm -f /tmp/roundcube-latest.tar.gz
## cd /var/www/html
## mv roundcubemail-* roundcube
## chown root: -R roundcube/
## chown apache: -R roundcube/temp/
## chown apache: -R roundcube/logs/

Next thing to do, is to set-up Roundcube’s main.inc.php configuration file. But, before setting it up, let’s first create all the necessary database tables for Roundcube using:

## mysql -u roundcube -p"mySecretPassword" roundcube < roundcube/SQL/mysql.initial.sql

again, make sure you use the correct MySQL user/password combination

with tables in place, proceed with copying the main.inc.php.dist sample configuration file and editing main.inc.php:

## cp roundcube/config/main.inc.php.dist roundcube/config/main.inc.php
## vim roundcube/config/main.inc.php
change:
  $rcmail_config['default_host'] = '';
to
  $rcmail_config['default_host'] = 'localhost';

change:
  $rcmail_config['smtp_server'] = '';
to
  $rcmail_config['smtp_server'] = 'localhost';

change:
  $rcmail_config['smtp_user'] = '';
to
  $rcmail_config['smtp_user'] = '%u';

change:
  $rcmail_config['smtp_pass'] = '';
to
  $rcmail_config['smtp_pass'] = '%p';

change:
  $rcmail_config['quota_zero_as_unlimited'] = false;
to
  $rcmail_config['quota_zero_as_unlimited'] = true;

change:
  $rcmail_config['preview_pane'] = false;
to
  $rcmail_config['preview_pane'] = true;

change:
  $rcmail_config['read_when_deleted'] = true;
to
  $rcmail_config['read_when_deleted'] = false;

change:
  $rcmail_config['check_all_folders'] = false;
to
  $rcmail_config['check_all_folders'] = true;

save and close the configuration file and proceed with setting up Roundcube’s database configuration file:

## cp roundcube/config/db.inc.php.dist roundcube/config/db.inc.php
## vim roundcube/config/db.inc.php
change:
  $rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
to
  $rcmail_config['db_dsnw'] = 'mysqli://roundcube:mySecretPassword@localhost/roundcube';

save and close the configuration file and remove the installer directory using:

## rm -rf roundcube/installer/

finally, restart Apache using:

## service httpd restart

and login to your webmail at http://yourdomain.com/webmail


Adding Roundcube Webmail to the mailserver set-up with virtual users and domains using Postfix and Dovecot on a CentOS VPS provides you with a web-based email client solution for managing your user’s emails.

There are still other parts missing such as SSL encrypted connection, anti-spam service, digital signatures using opendkim, filter rules etc for a full-featured mail server. In the next few related articles, we will be adding additional features to the set-up so stay tuned.

Update: Part 3 – Set-up SSL encrypted connection in Postfix, Dovecot and Apache

Update: Part 4 – How to install and integrate SpamAssassin with Postfix on a CentOS 6 VPS

Update: Part 5 – How to install and integrate OpenDKIM with Postfix on a CentOS 6 VPS

Update: Part 6 – How to set-up server-side email filtering with Dovecot Sieve and Roundcube on a CentOS 6 VPS


Of course, if you are one of our Linux VPS Hosting customers, you don’t have to do any of this, simply ask our admins, sit back and relax. Our admins will set this up for you immediately.

PS. If you liked this post please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

15 Responses to “Install and set-up Roundcube webmail interface”

  1. Timothy

    Thanks for setting up the guide however I am stuck at where it says to type “## mysql -u roundcube -p”mySecretPassword” roundcube and I have to ctrl c to quit because nothing else happens.

    Am I stuck now…..please respond with help asap. thanks

    Reply
    • admin

      You need to be inside your ‘/var/www/html/’ directory and execute the command, but without the two ‘##’ at the beginning. The command should be:

      mysql -u roundcube -p”mySecretPassword” roundcube < roundcube/SQL/mysql.initial.sql

      Where ‘mySecretPassword’ is the password you chose when creating the database. Please clarify your question further if this answer was not clear enough or maybe misleading.

      Reply
  2. Timothy

    Thanks for the reply, I forgot the l in sql when copying the command silly me. I tried it and works, great thanks to you!!!!!!

    Reply
  3. Set-up SSL encrypted connection in Postfix, Dovecot and Apache | RoseHosting.com Linux VPS Hosting Blog

    […] This article is part 3 of our part 1 mailserver set-up with virtual users and domains using Postfix and Dovecot on a CentOS 6 VPS and part 2 which explains how to install and set-up the Roundcube webmail interface […]

    Reply
  4. How to install and integrate SpamAssassin with Postfix on a CentOS 6 VPS | RoseHosting.com Linux VPS Hosting Blog

    […] users and domains using Postfix and Dovecot on a CentOS 6 VPS, followed by part 2 which explains how to install and set-up the Roundcube webmail interface on a linux vps server and then part 3 which is all about how to set-up an SSL encrypted connection […]

    Reply
  5. Nauman

    SIr,

    Please tell me whats the default username and password for login in webmail ?

    i complete the whole istallation, as you described… but i need login credentials,,,, it is giving me error “connection to storage server failed”

    Reply
    • admin

      You should login with your email and password. Please refer to the previous article in this series.

      Reply
  6. Renuka

    I am not able to login into round cube webmail

    Reply
  7. Seyma

    Hi,

    I’ve just followed the above steps, but I got one error at the end. When I access via a web browser, it say that “DATABASE ERROR: CONNECTION FAILED!” Unable to connect to the database!
    I tried to check and reconfigured it again, but the problem still exist.

    Please advise what should I do to solve this.
    Thanks

    Reply
  8. Laxmikant Gudipaty

    Can anyone help out in setting up a LAN based mail server using Roundcube?
    I’m a newbie,so dont be too hard on me. I need well defined instructions to set up a local mail server that works only within LAN and my machine being the mail server. I havent had much luck in finding out documentation on how to go on about this. Thanks

    Reply
  9. How to set-up server-side email filtering with Dovecot Sieve and Roundcube on a CentOS 6 VPS | RoseHosting.com Linux VPS Hosting Blog

    […] The project behind this is known as Pigeonhole. It’s great because it adds support for the Sieve language (RFC 5228) and the ManageSieve protocol (RFC 5804) to the Dovecot Secure IMAP Server. Additionally, one can easily manage these filter rules via Roundcube’s web interface. […]

    Reply

Leave a Reply


7 + = 15