What is RoundCube ?
RoundCube is a PHP Web Mail application using SMTP and IMAP servers on the Network or on the local host. RoundCube also requires a database. Recommended databases are MySQL or SQLite. PostgreSQL would be too buggy for production.
Download and untar the software. As RoundCube is a PHP application there is nothing to compile. Review the INSTALL files to check dependancies and other recommendations. Create a link from the http directory or anywhere you deem appropriate :
# tar -C /usr/local -xvf roundcubemail-x.y.z.tar.gz # cd /usr/local # chown -R root:root roundcubemail-x.y.z # cd roundcubemail-x.y.z # chown -R apache:apache temp # chown -R apache:apache logs # less INSTALL # ln -s /usr/local/roundcubemail-x.y.z /var/www/htdocs/roundcube
RoundCube requires a database. Recommended databases are MySQL or SQLite. PostgreSQL would be too buggy for production. On this installation we use MySQL. Create the RoundCube database and user using phpMyAdmin or using MySQL commands :
# cd /usr/local/roundcubemail-x.y.z # mysql -u root -p Enter password: > CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; > GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube.% IDENTIFIED BY 'password'; > FLUSH PRIVILEGES; > quit # mysql -u roundcube -p roundcubemail < SQL/mysql.initial.sql # cp config/defaults.inc.php config.inc.php
Update the config file. Specify the database user password & the SMTP configuration. enable_installer affords using the test script that was once an installer script.
# vi config/config.inc.php . . . $config['db_dsnw'] = 'mysql://roundcube:password@localhost/roundcubemail'; $config['smtp_server'] = 'tls://inner.studioware.com'; $config['smtp_port'] = 587; $config['smtp_user'] = '%u'; $config['smtp_pass'] = '%p'; $config['smtp_auth_type'] = 'PLAIN'; . . . $config['enable_installer'] = false; :x
Point your browser to http://localhost/roundcube/installer. Follow the instructions given. In case you see some red NOT OK messages, then you need to fix something. When everything works, remove all the permissions on the installer directory. Otherwise the installer script could be re-launched again from the start, disclosing existing configuration information - including the passwords. Also make sure that files in directories config, temp, logs are protected from disclosure by the following non-overidable statements in the .htaccess hierarchy :
Order allow,deny Deny from all
For more information on installation and configuration of RoundCube check the RoundCube Wiki.
To keep your database slick and clean it is recommended to periodically execute bin/cleandb.sh which finally removes all records that are marked as deleted. The best solution is to install a cron job running this script daily.