summaryrefslogtreecommitdiff
path: root/INSTALL
blob: c22bc5325057d0fe111a18d072fbf32122395e51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121

REQUIREMENTS
============

* The Apache Webserver
* .htaccess support allowing overrides for DirectoryIndex
* PHP Version 4.3.1 or greater
* PCRE (perl compatible regular expression) installed with PHP
* php.ini options:
   - error_reporting E_ALL & ~E_NOTICE (or lower)
   - file_uploads on (for attachment upload features)
   - memory_limit (increase as suitable to support large attachments)
* PHP compiled with Open SSL to connect to IMAPS and to use the spell checker
* A MySQL or PostgreSQL database engine or the SQLite extension for PHP
* A database with permission to create tables


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. Create database tables using the queries in file 'SQL/*.initial.sql'
   (* stands for your database type)
5. Rename the files config/*.inc.php.dist to config/*.inc.php
6. Modify the files in config/* to suit your local environment
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.


* PostgreSQL
------------
To use RoundCube with PostgreSQL support you have to follow the next
simple steps, which have to be done with the postgres system user (or
which ever is the database superuser):

$ createuser roundcubemail
$ createdb -O roundcubemail roundcubemail
$ psql roundcubemail

roundcubemail =# ALTER USER roundcube WITH PASSWORD 'the_new_password';
roundcubemail =# \c - roundcubemail
roundcubemail => \i SQL/postgres.initial.sql

All this has been tested with PostgreSQL 8.0.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.


CONFIGURATION
=============

Change the files in config/* according your to environment and your needs.
Details about the config paramaters can be found in the config files.

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

To enable the experimental HTML editor you need to set the config
parameter 'enable_htmleditor' to true.


UPGRADING
=========

If you already have a previous version of RoundCube installed,
please refer to the instructions in UPGRADING guide.