| | |
| | | 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 |
| | | - PCRE, DOM, JSON, XML, Session, Sockets (required) |
| | | - libiconv (recommended) |
| | | - mbstring, fileinfo, mcrypt (optional) |
| | | * PHP Version 5.3.7 or greater (but not PHP 7) including |
| | | - PCRE, DOM, JSON, Session, Sockets (required) |
| | | - PHP Data Objects (PDO) with driver for either MySQL, PostgreSQL or SQLite (required) |
| | | - Libiconv, Zip (recommended) |
| | | - OpenSSL, Fileinfo, Mcrypt, mbstring (optional) |
| | | * PEAR packages distributed with Roundcube or external: |
| | | - MDB2 2.5.0 or newer |
| | | - Mail_Mime 1.7.0 or newer |
| | | - Net_SMTP 1.4.2 or newer |
| | | - Mail_Mime 1.9.0 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 |
| | | - Net_Sieve 1.3.2 or newer (for managesieve plugin) |
| | | - Crypt_GPG 1.2.0 or newer (for enigma plugin) |
| | | * php.ini options (see .htaccess file): |
| | | - error_reporting E_ALL & ~E_NOTICE (or lower) |
| | | - 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 |
| | | * PHP compiled with OpenSSL to connect to IMAPS and to use the spell checker |
| | | * A MySQL (4.0.8 or newer), PostgreSQL, MSSQL database engine |
| | | or the SQLite extension for PHP |
| | | - magic_quotes_runtime disabled |
| | | - magic_quotes_sybase disabled |
| | | - register_globals disabled (PHP < 5.4) |
| | | * PHP compiled with OpenSSL to use secure (tls/ssl) connections and to use the spell checker |
| | | * 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 |
| | | * Composer installed either locally or globally (https://getcomposer.org) |
| | | |
| | | |
| | | INSTALLATION |
| | | ============ |
| | | |
| | | 1. Decompress and put this folder somewhere inside your document root |
| | | 2. Make sure that the following directories (and the files within) |
| | | 2. Install dependencies using composer: |
| | | - get composer from https://getcomposer.org/download/ |
| | | - rename the composer.json-dist file into composer.json |
| | | - if you want to use LDAP address books, enable the LDAP libraries in your |
| | | composer.json file by moving the items from "suggest" to the "require" |
| | | section (remove the explanation texts after the version!). |
| | | - run `php composer.phar install --no-dev` |
| | | 3. 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 CONFIGURATION) |
| | | 6. After creating and testing the configuration, remove the installer directory |
| | | 7. Done! |
| | | 4. Create a new database and a database user for Roundcube (see DATABASE SETUP) |
| | | 5. Point your browser to http://url-to-roundcube/installer/ |
| | | 6. Follow the instructions of the install script (or see MANUAL CONFIGURATION) |
| | | 7. After creating and testing the configuration, remove the installer directory |
| | | 8. Check Known Issues section of this file |
| | | |
| | | |
| | | CONFIGURATION HINTS |
| | | =================== |
| | | |
| | | 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 |
| | | directory which can be configured in config/config.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. |
| | | |
| | |
| | | |
| | | * SQLite |
| | | -------- |
| | | 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 |
| | | Loading resources from SQL/sqlite.initial.sql |
| | | SQLite version 2.8.16 |
| | | Enter ".help" for instructions |
| | | sqlite> .exit |
| | | # chmod o+rw sqlite.db |
| | | |
| | | Make sure your configuration points to the sqlite.db file and that the |
| | | Versions of sqlite database engine older than 3 aren't supported. |
| | | Database file and structure is created automatically by Roundcube. |
| | | Make sure your configuration points to some file location and that the |
| | | webserver can write to the file and the directory containing the file. |
| | | |
| | | |
| | |
| | | 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 |
| | | ----------------- |
| | | Do keep your database slick and clean we recommend to periodically execute |
| | | 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 |
| | | ==================== |
| | | |
| | | 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. |
| | | First of all, copy the sample configuration file config/config.inc.php.sample |
| | | to config/config.inc.php and make the necessary adjustments according to your |
| | | environment and your needs. More configuration options can be copied from the |
| | | config/defaults.inc.php file into your local config.inc.php file as needed. |
| | | Read the comments above the individual configuration options to find out what |
| | | they do or read 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 |
| | | |
| | | |
| | | SECURE YOUR INSTALLATION |
| | | ======================== |
| | | |
| | | Access through the webserver to the following directories should be denied: |
| | | |
| | | /config |
| | | /temp |
| | | /logs |
| | | |
| | | Roundcube uses .htaccess files to protect these directories, so be sure to |
| | | allow override of the Limit directives to get them taken into account. The |
| | | package also ships a .htaccess file in the root directory which defines some |
| | | rewrite rules. In order to properly secure your installation, please enable |
| | | mod_rewrite for Apache webserver and double check access to the above listed |
| | | directories and their contents is denied. |
| | | |
| | | NOTE: In Apache 2.4, support for .htaccess files has been disabled by |
| | | default. Therefore you first need to enable this in your Apache main or |
| | | virtual host config by with: |
| | | |
| | | AllowOverride all |
| | | |
| | | |
| | | UPGRADING |
| | |
| | | } |
| | | |
| | | |
| | | KNOWN ISSUES |
| | | ============ |
| | | |
| | | Installations with uw-imap server should set imap_disabled_caps = array('ESEARCH') |
| | | in main configuration file. ESEARCH implementation in this server is broken (#1489184). |