About Roundcube Webmail
Roundcube is a browser-based multilingual IMAP client with an application-like user interface. It provides full functionality you expect from an e-mail client, including MIME support, address book, folder manipulation, message searching and spell checking. To know more about Roundcube visit About Roundcube Webmail.
Roundcube Webmail Features
- Multilingual capabilities
- Find-as-you-type address book
- Richtext/HTML message composing
- Searching messages and contacts
- Threaded message listing
- Int. domain names (IDNA)
- Shared folders and ACL
- Full featured address book
- Extensible using the Plug-in API
- Apache, Lighttpd, Cherokee or Hiawatha web server
- PHP Version 5.2.1 or greater
- MySQL, PostgreSQL, SQLite or MSSQL database
- An IMAP server which supports IMAP4 rev1
- An SMTP server (recommended) or PHP configured for mail delivery
To know more about Roundcube Server requirement.
Download Roundcube Webmail
You can download Roundcube Webmail Client from this link. Download latest stable release of Roundcube webmail. At the time of writing this article Roundcube Webmail Stable release 0.7.1 is available.
Selecting Roundcube Webmail installation path
As you are aware Roundcube Webmail will be installed in Apache Webserver as a web application. We should now make a decision where Roundcube should be installed. Mainly there are two choices:
- DocumentRoot of Apache Webserver: We can simply extract Roundcube Webmail files downloaded and put all files and folders in the directory where DocumentRoot of Apache Webserver is pointed. In this case we can directly access Roundcube Webmail using either “localhost” or “ip_address” of the system.
- In a folder located somewhere else in the File System: Apache Webserver supports Alias using which we can point /webmail to any folder located on the file system. In this case we can access Roundcube Webmail using either “localhost/webmail” or “ip_address/webmail”.
Installing Roundcube Webmail in Alias Directory
- Create a folder where you want to put Roundcube Webmail application. I created a directory named “webmail” in D:hMailServer where hMailServer, Apache Webserver, PHP and MySQL are installed. Then I copied all files/folders extracted from Roundcube downloaded file.
- Create a folder named “alias” in “apache2.2conf ” folder. Add below lines at the end of httpd.conf file located in “apache2.2conf” folder.
- Create a file webmail.conf in apache2.2confalias folder and edit it with Notepad++ or Notepad and place below lines of code in that file
Alias /webmail "D:/hMailServer/webmail/"
<Directory "D:/hMailServer/webmail/"> Options Indexes FollowSymLinks MultiViews ExecCGI AllowOverride All Order allow,deny Allow from all </Directory>
- Restart apache2.2 service.
Configuring Roundcube Webmail
- Create MySQL database named roundcube
- Execute “create database roundcube;” command from MySQL CLI.
- Execute “use roundcube;” command from MySQL CLI
- Edit D:hMailServerwebmailSQLmysql.initial.sql and replace below line with second one. This is because there is an error with the MySQL script file provided with this version of Roundcube. The issue is that according to MySQL manual BLOG/TEXT column can’t have a default value.
`email` text NOT NULL DEFAULT '',
`email` text NOT NULL,
- Execute “source D:/hMailServer/webmail/SQL/mysql.initial.sql;” command from MySQL CLI. This command will execute MySQL statements contained within MySQL script file and will create all tables required Roundcube Webmail.
- Copy these files db.inc.php.dist and main.inc.php.dist from folder D:hMailServerwebmailconfig to the same folder and them rename them to db.inc.php and main.inc.php respectively.
- Edit db.inc.php and replace below to with parameters required for MySQL database connectivity. This is in the form of db_provider://user:password@host/database. After doing modifications save this file.
$rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
In my case it looks like below:
$rcmail_config['db_dsnw'] = 'mysql://root:pass@localhost/roundcube';
- Edit main.inc.php and replace false with true in below line.
$rcmail_config['enable_installer'] = false;
- Now open the Web Browser and point your browser to “localhost/webmail/installer” to check for all the server requirements are available to run Roundcube Webmail.
- Edit main.inc.php and replace true with false in below line.
$rcmail_config['enable_installer'] = true;
- In IMAP Server section specify IMAP Server host and IMAP port. I am installing Roundcube Webmail on the same machine where hMailServer (email server) is installed and hence IMAP host is localhost and port is 143.
$rcmail_config['default_host'] = 'localhost';
// TCP port used for IMAP connections $rcmail_config['default_port'] = 143;
- Under SMTP section specify SMTP Server host and SMTP port.
$rcmail_config['smtp_server'] = 'localhost';
// SMTP port (default is 25; 465 for SSL) $rcmail_config['smtp_port'] = 25;
- Under User Interface section enable Automatically create Inbox, Sent, Drafts, Junk and Trash folders to create these folders at first login.
// automatically create the above listed default folders on first login $rcmail_config['create_default_folders'] = true;
- Under User Preferences section enable htmleditor.
// compose html formatted messages by default // 0 - never, 1 - always, 2 - on reply to HTML message only $rcmail_config['htmleditor'] = 1;
- Now delete D:hMailServerwebmailinstaller folder, so that nobody can accidentally run installer script again.
Accessing emails using Roundcube Webmail
- Point your web-browser to either “localhost/webmail” or “ip_address/webmail” which displays the login screen as shown below. Fill in the login credentials and hit “Login” button.
That’s it for installing Roundcube Webmail Client, which can be configured with any email server which supports IMAP4 rev1 and SMTP. Please do not forget to replace all the file path as per your setup.