NOTE: This HowTo assumes you are using a RedHat or Fedora based distro, but most of this info can be applied to any Unix based Operating System.
Contents
Download
- Download the latest version of Roundcube
wget http://easynews.dl.sourceforge.net/sourceforge/roundcubemail/roundcubemail-0.1beta.tar.gz
If the Above link is broken or out of date, get the latest version Here
UnTar
tar -xvzf roundcubemail-0.1beta.tar.gz
Move
mv roundcubemail-0.1beta /var/www/roundcube
Read the Documentation
cd /var/www/roundcube less README (press q to quit)
less INSTALL (press q to quit)
Change Ownership & Premissions
chown -R root.root roundcube/
cd roundbube/
chmod 755 log/ temp/
Database Setup
(This Assumes you already have MySQL installed)
- Creating the RoundCube Database
mysql -u root -p (When prompted for a password enter the root password)
mysql> CREATE DATABASE `roundcube` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- Create RoundCube User and Grant Privileges
mysql> GRANT ALL PRIVILEGES ON roundcube.* TO roundcube@localhost IDENTIFIED BY 'Your-Password-Here';
(where 'Your-Password-Here' is the password you want for the roundcube user)
- Exit MySQL
mysql> quit
- Import RoundCube Database Tables
mysql -u root -p roundcube < /var/www/roundcube/SQL/mysql.initial.sql
(When prompted for a password enter the root password)
Initial Configuration
- Copy the sample configuration file
cd config/ cp db.inc.php.dist db.inc.php cp main.inc.php.dist main.inc.php
- Configure Database Settings
vi db.inc.php
change this line: $rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
to
$rcmail_config['db_dsnw'] = 'mysql://roundcube:Your-Password-Here@localhost/roundcube';
Note: I created the database as 'roundcube' but the sample database config calls it 'roundcubemail' change it where necessary
- Configure Main Settings
(NOTE: these are the settings I use, they may differ depending on your particular mail server configuration)
vi main.inc.php
$rcmail_config['enable_caching'] = FALSE;
$rcmail_config['message_cache_lifetime'] = '1h';
$rcmail_config['default_host'] = 'ssl://localhost:993';
$rcmail_config['default_port'] = 993;
$rcmail_config['virtuser_file'] = 'mailbox';
$rcmail_config['virtuser_query'] = 'SELECT username FROM mailbox WHERE username = "%u"';
$rcmail_config['smtp_user'] = '%u';
$rcmail_config['smtp_pass'] = '%p';
$rcmail_config['smtp_auth_type'] = 'PLAIN';
- Optional
$rcmail_config['pagesize'] = 100;
$rcmail_config['timezone'] = 4;
Apache Configuration
(For more info on Apache go here)
- Edit/Create your VHost file
vi /etc/httpd/conf.d/roundcube.mydomain.conf
### Virtual Host roundcube.mydomain.com ###
<VirtualHost *:80>
ServerName roundcube.mydomain.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^roundcube\.mydomain\.com
RewriteRule ^/$ https://roundcube.mydomain.com [R,L]
</VirtualHost>
### SSL Virtual Host roundcube.mydomain.com ###
<VirtualHost *:443>
ServerName roundcube.mydomain.com
DocumentRoot /var/www/roundcube/
DirectoryIndex index.php
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/certs/server.key
<Directory "/var/www/roundcube/">
SSLRequireSSL
AllowOverride all
DirectoryIndex index.php
Allow from all
Order deny,allow
</Directory>
</VirtualHost>
Trouble Shooting
Getting a blank page when you try to connect?
Visit: http://roundcubeforum.net/index.php?topic=176.0
Make sure all your database settings are correct. (Database Name, Database Username, Password, SELECT Statements, Etc...)