Warning: Before you move farther into installation, I must warn you that RoundCube is a Web Mail Client in it’s infancy. It provides you look and feel like your desktop email client. The only advantage it has over squirrel mail is that it has facility to show and compose HTML mails. It does not contain password changing facility as of version 0.2.1.
Also, it does not contain options to Filter messages as well.

There are hacks, though. I am using Qmail setup, with Squirrelmail+change_password plugin already installed on the mail server. I can use that. OR, I can use a link to qmailadmin administration page, where users can change their passwords, effortlessly. The INSTALL file mentions requirements as:


  • The Apache or Lighttpd Webserver
  • .htaccess support allowing overrides for DirectoryIndex
  • PHP Version 5.2 or greater including
  • PCRE (perl compatible regular expression)
  • DOM (xml document object model)
  • libiconv (recommended)
  • mbstring (optional)
  • php.ini options:
  • error_reporting E_ALL & ~E_NOTICE (or lower)
  • memory_limit (increase as suitable to support large attachments)
  • file_uploads enabled (for attachment upload features)
  • session.auto_start disabled
  • zend.ze1_compatibility_mode disabled
  • PHP compiled with OpenSSL to connect to IMAPS and to use the spell checker
  • A MySQL or PostgreSQL database engine or the SQLite extension for PHP
  • One of the above databases with permission to create tables
  • An SMTP server or PHP configured for mail delivery

However, in my experience, I have installed successfully on CentOS 5.3, with PHP 5.1 .

Download the Roundcube TAR file from http://roundcube.net . Un-tar it under your document root, if you want it just for your specific website, OR, you can un-tar it in /var/www/roundcube and create a server wide alias. This way, it will be accessible to all websites hosted on your server.

Assuming your web server runs as user apache:- Change the ownership of the entire directory tree of RoundCube source to apache:apache, if you are setting it up server wide.

Change the ownership of the entire directory tree of RoundCube source to yourftpaccount:apache, if you are setting it up only for your website, under your document root sub tree. If your document root is /var/www/vhosts/mysite.com/httpdocs., then you may want to install roundcube in: /var/www/vhosts/mysite.com/httpdocs/webmail .

Make sure that config, temp and logs directories are readable and writeable by user apache.

Once you reach here, you may want to configure it.

If you have installed it server wide, under /var/www/roundcube, you will first need to create an Alias in your apache config file. You can do it as :-

cat > /etc/httpd/conf.d/roundcube.conf << EOF  
Alias /roundcube /var/www/roundcube  

service httpd reload  

If you have installed it only for one website, inside a directory named webmail, under it’s document root, you can continue onwards.

Go inside the directory webmail/config and change the names of files *.inc.php.dist to *.inc.php . Now you can use either the web installer method, or the manual method. To use the web-installer method, which is diabled by default, you would need to :

set $rcmail_config[‘enable_installer’] = true; in config/main.inc.php

and run/access http://yourwebsite/webmail/installer from a web browser. This should get you done in a few steps.

If you are doing a manual install, here are the instructions (which are easy as well) :-

The roundcube INSTALL file says:-

First you need to create a database for roundcube, in mysql.

# mysql –u root  
CREATE DATABASE roundcubedb /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;  
GRANT ALL PRIVILEGES ON roundcubedb.* TO roundcubeuser@localhost IDENTIFIED BY 'secret';  

Then, populate this DB as :-

[root@www roundcubemail-0.2.1]# mysql -u root -psecretdbpassword roundcubedb < SQL/mysql.initial.sql

Next edit the config/db.inc.php file and set value for the following variables.

$rcmail_config[‘db_dsnw’] = ‘mysql://roundcubeuser:secret@localhost/roundcubedb’;

Then edit the config/main.inc.php and adjust the following variables:

$rcmail_config[‘default_host’] = ‘mail.yoursite.com’;

This one is not a must actually. If you do not set it, you will see a “Server” textbox on the webmail login page, below your id and password text boxes. You may supply “localhost” or “mail.yoursite.com” , or whatever is the name of your mail server in that box. That is it!. you are done.

Now login to your roundcube interface by accessing http://yourwebsite/webmail . Use complete email-id as username and your email password . Login and enjoy!

Changing email password:-

Assuming, you have an email id as webmaster@example.com , and you have QmailAdmin installed on your system, like I do, then you would login as :

URL: http://www.yoursite.com/cgi-bin/qmailadmin UserAccount: webmaster
DomainName: example.com
Password: your-current-email-password

Once you login, you will see options to set your full name, your password, email routing, incase you want your mail to be forwarded elsewhere, and an option to set vacation auto-response. Update your settings here and press the “Modify User” button at the bottom to save changes. You are done. Similarly if you have other hosted or hosting environments, such as plesk / cpanel, etc, you may use their email control panel to change your password.