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 which can be MySQL SQLite or PostgreSQL.
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 which can be MySQL SQLite or PostgreSQL. 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 roundcube /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; > GRANT ALL PRIVILEGES ON roundcube.* TO roundcube@localhost IDENTIFIED BY 'password'; > FLUSH PRIVILEGES; > quit # mysql 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. You get two text boxes on top of the page displayed. Copy the contents and put them into two files within the config directory. Name them main.inc.php and db.inc.php as stated above the text boxes.
Click "CONTINUE". The configuration is now tested against the webserver. 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 to test the SMTP settings.
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.