Project

General

Profile

RedmineInstall » History » Version 48

Mat Tipton, 2009-06-03 02:03
ok, well actually maybe the notes in parenthesis already explained this so I'm removing my edit... however, the note is not clear... first it says it applies to greater than r2493 but then it says ignore for greater than .8.x... so it could have just been

1 1 Jean-Philippe Lang
h1. Installing Redmine
2
3
{{>TOC}}
4
5
h2. Requirements
6
7 25 Jean-Philippe Lang
h3. Operating system
8 1 Jean-Philippe Lang
9 25 Jean-Philippe Lang
Redmine should run on most Unix, Linux, Mac and Windows systems as long as ruby is available on this platform.
10
11
h3. Ruby & Ruby on Rails
12
13 30 Jean-Philippe Lang
The required Ruby and Ruby on Rails versions for a given Redmine version is:
14 25 Jean-Philippe Lang
15 30 Jean-Philippe Lang
|_. Redmine version|_. Supported Ruby versions|_. Required Rails version|
16 32 Jean-Philippe Lang
|current trunk|ruby 1.8.6, 1.8.7|Rails 2.2.2|
17
|trunk before r2493|ruby 1.8.6, 1.8.7|Rails 2.1.2|
18 30 Jean-Philippe Lang
|0.8.x|ruby 1.8.6, 1.8.7|Rails 2.1.2|
19
|0.7.x|ruby 1.8.6|Rails 2.0.2|
20 22 Jean-Philippe Lang
21
Official releases include the appropriate Rails version in their @vendor@ directory. So no particular action is needed.
22 1 Jean-Philippe Lang
If you checkout the source from the Redmine repository, you can install a specific Rails version on your machine by running:
23
24 32 Jean-Philippe Lang
  gem install rails -v=2.2.2
25 25 Jean-Philippe Lang
26 28 Jean-Philippe Lang
Notes:
27 27 Jean-Philippe Lang
* RubyGems 1.3.1 is required
28 25 Jean-Philippe Lang
* Rake 0.8.3 is required
29 1 Jean-Philippe Lang
30 25 Jean-Philippe Lang
h3. Database
31
32 35 Jean-Philippe Lang
* MySQL 4.1 or higher (recommended)
33 1 Jean-Philippe Lang
34 35 Jean-Philippe Lang
 * make sure to install the C bindings for ruby that dramatically improve performance. You can get them by running @gem install mysql@.
35
36
* PostgreSQL 8
37
38
 * make sure your database datestyle is set to ISO (Postgresql default setting). You can set it using: @ALTER DATABASE "redmine_db" SET datestyle="ISO,MDY";@
39
40
* SQLite 3
41 26 Jean-Philippe Lang
42 25 Jean-Philippe Lang
h3. Optional components
43 23 Jean-Philippe Lang
44 25 Jean-Philippe Lang
      * SCM binaries (eg. @svn@), for repository browsing (must be available in your PATH). See [[RedmineRepositories]] for SCM compatibility and requirements.
45
      * "RMagick":http://rmagick.rubyforge.org/ (to enable Gantt export to png image)
46 1 Jean-Philippe Lang
47
48 8 Thomas Lecavelier
h2. Installation
49 1 Jean-Philippe Lang
50 6 Jean-Philippe Lang
1. [[Download]] and extract the archive or [[CheckingoutRedmine|checkout]] Redmine.
51
52 36 Yclept Nemo
2. Create an empty database and accompanying user named @redmine@ for example.
53 6 Jean-Philippe Lang
54
For MySQL:
55 1 Jean-Philippe Lang
56 38 Yclept Nemo
<pre>
57 39 Yclept Nemo
create database redmine character set utf8;
58
create user 'redmine'@'localhost' identified by 'my_password';
59
grant all privileges on redmine.* to 'redmine'@'localhost';
60 38 Yclept Nemo
</pre>
61 1 Jean-Philippe Lang
62 3 Jean-Philippe Lang
3. Copy @config/database.yml.example@ to @config/database.yml@ and edit this file in order to configure your database settings for "production" environment.
63 1 Jean-Philippe Lang
64 14 Jean-Philippe Lang
Example for a MySQL database:
65
66
<pre>
67
production:
68
  adapter: mysql
69
  database: redmine
70
  host: localhost
71 40 Yclept Nemo
  username: redmine
72
  password: my_password
73 3 Jean-Philippe Lang
</pre>
74
75 44 Alexey Lustin
Example for a PostgreSQL database:
76
77
<pre>
78
production:
79
  adapter: postgresql
80
  database: <your_database_name>
81
  host: <postgres_host>
82
  username: <postgres_user>
83 46 Istvan DEMETER
  password: <postgres_user_password>
84 44 Alexey Lustin
  encoding: utf8
85
  schema_search_path: <database_schema> (default - public)
86
</pre>
87
88 48 Mat Tipton
4. Generate a session store secret (r2493 and higher only.  0.8.x users can skip this step)
89 1 Jean-Philippe Lang
90 48 Mat Tipton
Redmine stores session data in cookies by default, which requires a secret to be generated. This can be done by running:
91 41 Yclept Nemo
92 48 Mat Tipton
   rake config/initializers/session_store.rb
93 41 Yclept Nemo
94
5. Create the database structure, by running the following command under the application root directory:
95
96 1 Jean-Philippe Lang
  rake db:migrate RAILS_ENV="production"
97
98
It will create tables and an administrator account.
99
100 41 Yclept Nemo
6. Insert default configuration data in database, by running the following command:
101 1 Jean-Philippe Lang
102 32 Jean-Philippe Lang
  rake redmine:load_default_data RAILS_ENV="production"
103
104
This step is optional but *highly recommended*, as you can define your own configuration from scratch. It will load default roles, trackers, statuses, workflows and enumerations.
105
106
7. Setting up permissions
107
108 14 Jean-Philippe Lang
NB: _Windows users have to skip this section._
109
110
The user who runs Redmine must have write permission on the following subdirectories: @files@, @log@, @tmp@ (create the last one if not present).
111
112
Assuming you run Redmine with a @redmine@ user:
113
114 31 Eric Davis
<pre>
115 1 Jean-Philippe Lang
mkdir tmp public/plugin_assets
116 31 Eric Davis
sudo chown -R redmine:redmine files log tmp public/plugin_assets
117 14 Jean-Philippe Lang
sudo chmod -R 755 files log tmp public/plugin_assets
118
</pre>
119 1 Jean-Philippe Lang
120 32 Jean-Philippe Lang
8. Test the installation by running WEBrick web server:
121 1 Jean-Philippe Lang
122 33 Jean-Philippe Lang
  ruby script/server webrick -e production
123 1 Jean-Philippe Lang
124 14 Jean-Philippe Lang
Once WEBrick has started, point your browser to http://localhost:3000/. You should now see the application welcome page.
125 1 Jean-Philippe Lang
126 32 Jean-Philippe Lang
9. Use default administrator account to log in:
127 1 Jean-Philippe Lang
128
    * login: admin
129 14 Jean-Philippe Lang
    * password: admin
130 1 Jean-Philippe Lang
131
You can go to @Admin & Settings@ to modify application settings.
132
133 21 Jean-Philippe Lang
h2. SMTP server Configuration
134
135
h3. 0.8.x releases
136
137
Copy @config/email.yml.example@ to @config/email.yml@ and edit this file to adjust your SMTP settings.
138
139 45 Cyber Sprocket
See the [[Email Configuration|email configuration]] examples.
140
141 1 Jean-Philippe Lang
h3. 0.7.x releases
142
143
In config/environment.rb, you can set parameters for your SMTP server:
144
145
    * config.action_mailer.smtp_settings: SMTP server configuration
146 7 Thomas Lecavelier
    * config.action_mailer.perform_deliveries: set to false to disable mail delivering
147 11 Jean-Philippe Lang
148
Don't forget to restart the application after any change.
149
150
h2. Backups
151
152
Redmine backups should include:
153
* data (stored in your redmine database)
154
* attachments (stored in the @files@ directory of your Redmine install)
155
156
Here is a simple shell script that can be used for daily backups (assuming you're using a mysql database):
157
158
<pre>
159
# Database
160
/usr/bin/mysqldump -u <username> -p <password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%y_%m_%d`.gz
161
162
# Attachments
163 1 Jean-Philippe Lang
rsync -a /path/to/redmine/files /path/to/backup/files
164
</pre>