]> git.donarmstrong.com Git - roundcube.git/blob - INSTALL
Merge commit 'upstream/0.1_rc2'
[roundcube.git] / INSTALL
1
2 REQUIREMENTS
3 ============
4
5 * The Apache Webserver
6 * .htaccess support allowing overrides for DirectoryIndex
7 * PHP Version 4.3.1 or greater including
8    - PCRE (perl compatible regular expression)
9    - Mcrypt (supporting Triple DES)
10    - libiconv
11    - Multibyte String (mbstring)
12    - Database driver for either MySQL, Postgres or SQLite 
13 * php.ini options:
14    - error_reporting E_ALL & ~E_NOTICE (or lower)
15    - file_uploads on (for attachment upload features)
16    - memory_limit (increase as suitable to support large attachments)
17 * The PEAR framework with the following packages installed
18    - DB (1.7.11)
19    - Mail_Mime (1.3.1)
20    - Net_SMTP (1.2.10)
21 * PHP compiled with Open SSL to connect to IMAPS and to use the spell checker
22 * A MySQL or PostgreSQL database engine or the SQLite extension for PHP
23 * A database with permission to create tables
24
25
26 INSTALLATION
27 ============
28
29 1. Decompress and put this folder somewhere inside your document root
30 2. Make sure that the following directories (and the files within)
31    are writable by the webserver
32    - /temp
33    - /logs
34 3. Create a new database and a database user for RoundCube (see DATABASE SETUP)
35 4. Create database tables using the queries in file 'SQL/*.initial.sql'
36    (* stands for your database type)
37 5. Rename the files config/*.inc.php.dist to config/*.inc.php
38 6. Modify the files in config/* to suit your local environment
39 7. Done!
40
41
42 DATABASE SETUP
43 ==============
44
45 * MySQL 4.0.x
46 -------------
47 Setting up the mysql database can be done by creating an empty database,
48 importing the table layout and granting the proper permissions to the
49 roundcube user. Here is an example of that procedure:
50
51 # mysql
52 > CREATE DATABASE roundcubemail;
53 > GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost
54     IDENTIFIED BY 'password';
55 > quit
56 # mysql roundcubemail < SQL/mysql.initial.sql
57
58
59 * MySQL 4.1.x/5.x
60 -----------------
61 For MySQL version 4.1 and up, it's recommended to create the database for
62 RoundCube with utf-8 charset. Here's an example of the init procedure:
63
64 # mysql
65 > CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
66 > GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost
67     IDENTIFIED BY 'password';
68 > quit
69
70 # mysql roundcubemail < SQL/mysql5.initial.sql
71
72 Note: 'password' is the master password for the roundcube user. It is strongly
73 recommended you replace this with a more secure password. Please keep in
74 mind: You need to specify this password later in 'config/db.inc.php'.
75
76
77 * SQLite
78 --------
79 Sqlite requires specifically php5 (sqlite in php4 currently doesn't
80 work with roundcube), and you need sqlite 2 (preferably 2.8) to setup
81 the sqlite db (sqlite 3.x also doesn't work at the moment). Here is
82 an example how you can setup the sqlite.db for roundcube:
83
84 # sqlite -init SQL/sqlite.initial.sql sqlite.db
85
86 Make sure your configuration points to the sqlite.db file and that the
87 webserver can write to the file.
88
89
90 * PostgreSQL
91 ------------
92 To use RoundCube with PostgreSQL support you have to follow the next
93 simple steps, which have to be done with the postgres system user (or
94 which ever is the database superuser):
95
96 $ createuser roundcubemail
97 $ createdb -O roundcubemail roundcubemail
98 $ psql roundcubemail
99
100 roundcubemail =# ALTER USER roundcube WITH PASSWORD 'the_new_password';
101 roundcubemail =# \c - roundcubemail
102 roundcubemail => \i SQL/postgres.initial.sql
103
104 All this has been tested with PostgreSQL 8.0.x and 7.4.x. Older
105 versions don't have a -O option for the createdb, so if you are
106 using that version you'll have to change ownership of the DB later.
107
108
109 CONFIGURATION
110 =============
111
112 Change the files in config/* according your to environment and your needs.
113 Details about the config paramaters can be found in the config files.
114
115 You can also modify the default .htaccess file. This is necessary to
116 increase the allowed size of file attachments, for example:
117   php_value       upload_max_filesize     2M
118
119 To enable the experimental HTML editor you need to set the config
120 parameter 'enable_htmleditor' to true.
121
122
123 UPGRADING
124 =========
125
126 If you already have a previous version of RoundCube installed,
127 please refer to the instructions in UPGRADING guide.
128
129