INTRODUCTION ============ This file describes the basic steps to install RoundCube Webmail on your web server. For additional information, please also consult the project's wiki page at http://trac.roundcube.net/wiki REQUIREMENTS ============ * The Apache or Lighttpd Webserver * .htaccess support allowing overrides for DirectoryIndex * PHP Version 5.2 or greater including - PCRE (perl compatible regular expression) - DOM (xml document object model) - libiconv (recommended) - mbstring (optional) * php.ini options: - error_reporting E_ALL & ~E_NOTICE (or lower) - memory_limit (increase as suitable to support large attachments) - file_uploads enabled (for attachment upload features) - session.auto_start disabled - zend.ze1_compatibility_mode disabled * PHP compiled with OpenSSL to connect to IMAPS and to use the spell checker * A MySQL or PostgreSQL database engine or the SQLite extension for PHP * One of the above databases with permission to create tables * An SMTP server or PHP configured for mail delivery INSTALLATION ============ 1. Decompress and put this folder somewhere inside your document root 2. Make sure that the following directories (and the files within) are writable by the webserver - /temp - /logs 3. Create a new database and a database user for RoundCube (see DATABASE SETUP) 4. Point your browser to http://url-to-roundcube/installer/ 5. Follow the instructions of the install script (or see MANUAL CONFINGURATION) 6. After creating and testing the configuration, remove the installer directory 7. Done! DATABASE SETUP ============== * MySQL 4.0.x ------------- Setting up the mysql database can be done by creating an empty database, importing the table layout and granting the proper permissions to the roundcube user. Here is an example of that procedure: # mysql > CREATE DATABASE roundcubemail; > GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'password'; > quit # mysql roundcubemail < SQL/mysql.initial.sql * MySQL 4.1.x/5.x ----------------- For MySQL version 4.1 and up, it's recommended to create the database for RoundCube with utf-8 charset. Here's an example of the init procedure: # mysql > CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; > GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'password'; > quit # mysql roundcubemail < SQL/mysql5.initial.sql Note: 'password' is the master password for the roundcube user. It is strongly recommended you replace this with a more secure password. Please keep in mind: You need to specify this password later in 'config/db.inc.php'. * SQLite -------- Sqlite requires specifically php5 (sqlite in php4 currently doesn't work with roundcube), and you need sqlite 2 (preferably 2.8) to setup the sqlite db (sqlite 3.x also doesn't work at the moment). Here is an example how you can setup the sqlite.db for roundcube: # sqlite -init SQL/sqlite.initial.sql sqlite.db Make sure your configuration points to the sqlite.db file and that the webserver can write to the file and the directory containing the file. * PostgreSQL ------------ To use RoundCube with PostgreSQL support you have to follow these simple steps, which have to be done as the postgres system user (or which ever is the database superuser): $ createuser roundcube $ createdb -O roundcube roundcubemail $ psql roundcubemail roundcubemail =# ALTER USER roundcube WITH PASSWORD 'the_new_password'; roundcubemail =# \c - roundcube roundcubemail => \i SQL/postgres.initial.sql All this has been tested with PostgreSQL 8.x and 7.4.x. Older versions don't have a -O option for the createdb, so if you are using that version you'll have to change ownership of the DB later. MANUAL CONFIGURATION ==================== First of all, rename the files config/*.inc.php.dist to config/*.inc.php. You can then change these files according to your environment and your needs. Details about the config parameters can be found in the config files. See http://trac.roundcube.net/wiki/Howto_Install for even more guidance. You can also modify the default .htaccess file. This is necessary to increase the allowed size of file attachments, for example: php_value upload_max_filesize 2M UPGRADING ========= If you already have a previous version of RoundCube installed, please refer to the instructions in UPGRADING guide.