| | |
| | | INTRODUCTION |
| | | ============ |
| | | |
| | | This file describes the basic steps to install RoundCube Webmail on your |
| | | 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 |
| | | * The Apache, Lighttpd, Cherokee or Hiawatha web server |
| | | * .htaccess support allowing overrides for DirectoryIndex |
| | | * PHP Version 5.2 or greater including |
| | | * PHP Version 5.2.1 or greater including |
| | | - PCRE, DOM, JSON, XML, Session, Sockets (required) |
| | | - libiconv (recommended) |
| | | - mbstring, fileinfo, mcrypt (optional) |
| | | - PHP Data Objects (PDO) with driver for either MySQL, PostgreSQL or SQLite (required) |
| | | Note: MySQL database driver requires PHP 5.3 or newer. |
| | | - Libiconv, Zip (recommended) |
| | | - Fileinfo, Mcrypt, mbstring (optional) |
| | | * PEAR packages distributed with Roundcube or external: |
| | | - Mail_Mime 1.8.1 or newer |
| | | - Mail_mimeDecode 1.5.5 or newer |
| | | - Net_SMTP (latest from https://github.com/pear/Net_SMTP/) |
| | | - Net_IDNA2 0.1.1 or newer |
| | | - Auth_SASL 1.0.6 or newer |
| | | * php.ini options (see .htaccess file): |
| | | - error_reporting E_ALL & ~E_NOTICE (or lower) |
| | | - memory_limit>16MB (increase as suitable to support large attachments) |
| | | - memory_limit > 16MB (increase as suitable to support large attachments) |
| | | - file_uploads enabled (for attachment upload features) |
| | | - session.auto_start disabled |
| | | - zend.ze1_compatibility_mode disabled |
| | | - suhosin.session.encrypt disabled |
| | | - mbstring.func_overload disabled |
| | | - magic_quotes_runtime disabled |
| | | - magic_quotes_sybase disabled |
| | | * PHP compiled with OpenSSL to connect to IMAPS and to use the spell checker |
| | | * A MySQL, PostgreSQL or MSSQL database engine or the SQLite extension for PHP |
| | | * A MySQL (4.0.8 or newer), PostgreSQL, MS SQL Server (2005 or newer) database engine |
| | | or SQLite support in PHP |
| | | * One of the above databases with permission to create tables |
| | | * An SMTP server (recommended) or PHP configured for mail delivery |
| | | |
| | |
| | | are writable by the webserver |
| | | - /temp |
| | | - /logs |
| | | 3. Create a new database and a database user for RoundCube (see DATABASE SETUP) |
| | | 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 CONFIGURATION) |
| | | 6. After creating and testing the configuration, remove the installer directory |
| | |
| | | CONFIGURATION HINTS |
| | | =================== |
| | | |
| | | RoundCube writes internal errors to the 'errors' log file located in the logs |
| | | Roundcube writes internal errors to the 'errors' log file located in the logs |
| | | directory which can be configured in config/main.inc.php. If you want ordinary |
| | | PHP errors to be logged there as well, enable the 'php_value error_log' line |
| | | in the .htaccess file and set the path to the log file accordingly. |
| | | |
| | | By default the session_path settings of PHP are not modified by Roundcube. |
| | | However if you want to limit the session cookies to the directory where |
| | | Roundcube resides you can uncomment and configure the according line |
| | | in the .htaccess file. |
| | | |
| | | |
| | | DATABASE SETUP |
| | | ============== |
| | | |
| | | Note: Database for RoundCube must use UTF-8 character set. |
| | | Note: Database for Roundcube must use UTF-8 character set. |
| | | |
| | | * MySQL |
| | | ------- |
| | |
| | | |
| | | * PostgreSQL |
| | | ------------ |
| | | To use RoundCube with PostgreSQL support you have to follow these |
| | | 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 |
| | | $ createuser -P roundcube |
| | | $ createdb -O roundcube -E UNICODE roundcubemail |
| | | $ psql roundcubemail |
| | | $ psql -U roundcube -f SQL/postgres.initial.sql roundcubemail |
| | | |
| | | roundcubemail =# ALTER USER roundcube WITH PASSWORD 'the_new_password'; |
| | | roundcubemail =# \c - roundcube |
| | | roundcubemail => \i SQL/postgres.initial.sql |
| | | Note: in some system configurations you might need to add '-U postgres' to |
| | | createuser and createdb commands. |
| | | |
| | | 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. |
| | | |
| | | * Microsoft SQL Server |
| | | ---------------------- |
| | | Language/locale of the database must be set to us_english (1033). More info |
| | | on this at http://trac.roundcube.net/ticket/1488918. |
| | | |
| | | |
| | | Database cleaning |
| | | ----------------- |
| | | To keep your database slick and clean we recommend to periodically execute |
| | | bin/cleandb.sh which finally removes all records that are marked as deleted. |
| | | Best solution is to install a cronjob running this script daily. |
| | | |
| | | |
| | | |
| | | MANUAL CONFIGURATION |
| | |
| | | UPGRADING |
| | | ========= |
| | | |
| | | If you already have a previous version of RoundCube installed, |
| | | If you already have a previous version of Roundcube installed, |
| | | please refer to the instructions in UPGRADING guide. |
| | | |
| | | |
| | |
| | | ========== |
| | | |
| | | There are two forms of optimisation here, compression and caching, both aimed |
| | | at increasing an end user's experience using RoundCube Webmail. Compression |
| | | at increasing an end user's experience using Roundcube Webmail. Compression |
| | | allows the static web pages to be delivered with less bandwidth. The index.php |
| | | of RoundCube Webmail already enables compression on its output. The settings |
| | | of Roundcube Webmail already enables compression on its output. The settings |
| | | below allow compression to occur for all static files. Caching sets HTTP |
| | | response headers that enable a user's web client to understand what is static |
| | | and how to cache it. |
| | |
| | | |
| | | compress.filetype = ("text/plain", "text/html", "text/javascript", "text/css", "text/xml", "image/gif", "image/png") |
| | | } |
| | | |
| | | |