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 # /usr/local/mysql/bin/mysql -u root -p Enter password: > CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; > GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'password'; > FLUSH PRIVILEGES; > quit # /usr/local/mysql/bin/mysql -p -u roundcube < SQL/mysql.initial.sql
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 finished the configuration hit the "CREATE CONFIG" button. The config appears in a text box on top of the page. Click "Download" then "CONTINUE". The configuration is now tested against the server. If you're requested, click the "Initialize database" button to create the necessary tables. If there are no red NOT OK messages left, you can try to send a mail and authenticate as an IMAP user.
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.