Project

General

Profile

RusRedmineInstall » History » Version 11

Ruslan Khasanov, 2013-02-03 13:37

1 2 Ruslan Khasanov
[[RusGuide|Руководство]]->[[RusInstallation_guide|Руководство по установке]]
2
3 11 Ruslan Khasanov
Оригинал: [[RedmineInstall|Installing Redmine v.195]]
4 4 Ruslan Khasanov
5 5 Andrey Polyakov
h1. Установка Redmine
6 1 Ruslan Khasanov
7
{{>toc}}
8
9 11 Ruslan Khasanov
Данная документацию по установке Redmine 1.4.0 и выше. Вы все еще можете прочитать документ для 1.3.x "здесь":/projects/redmine/wiki/RedmineInstall?version=146.
10
11 5 Andrey Polyakov
h2. Требования
12
13 1 Ruslan Khasanov
h3. Операционная система
14
15 11 Ruslan Khasanov
Redmine должен работать на Unix, Linux, [[RedmineInstallOSX|Mac]], [[RedmineInstallOSXServer|Mac Server]] and Windows поскольку Ruby доступен для этих платформ. Конкретные инструкции доступны здесь [[HowTos|тут]].
16 5 Andrey Polyakov
17 9 Andrey Polyakov
h3. Ruby & Ruby on Rails & Rack
18 5 Andrey Polyakov
19 1 Ruslan Khasanov
|_=.версия Redmine|_=.Поддерживаемая 
20
                    версия Ruby     |_=.Необходимая
21 11 Ruslan Khasanov
                                     версия Rails  |_=.Поддерживаемая 
22
                    версия RubyGems |
23
|текущий trunk     |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.11         |RubyGems <= 1.8|
24
|2.2.1             |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.11         |RubyGems <= 1.8|
25
|2.2.0             |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.9          |RubyGems <= 1.8|
26
|2.1.6             |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.11         |RubyGems <= 1.8|
27
|2.1.[0-5]         |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.8          |RubyGems <= 1.8|
28
|2.0.[3-4]         |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.6          |RubyGems <= 1.8|
29
|2.0.2             |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.5          |RubyGems <= 1.8|
30
|2.0.[0-1]         |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.3          |RubyGems <= 1.8|
31
|1.4.6             |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 2.3.15         |RubyGems <= 1.8|
32
|1.4.[0-5]         |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 2.3.14         |RubyGems <= 1.8|
33 1 Ruslan Khasanov
34
h3. База данных
35
36
* MySQL 5.0 и выше (рекомендуется)
37 11 Ruslan Khasanov
** установите C биндинги для Ruby, которые существенно улучшают производительность. Вы можете получить их запустив @gem install mysql@.
38 1 Ruslan Khasanov
39 11 Ruslan Khasanov
* PostgresSQL 8.2 или выше
40
** убедитесь, что тип данных установлен в ISO (настройка по-умолчанию для Postgres). Вы можете установить ее используя: @ALTER DATABASE "redmine_db" SET datestyle="ISO,MDY";@
41 1 Ruslan Khasanov
** некоторые ошибки в PostgreSQL 8.4.0 и 8.4.1 вызывают ошибки в Redmine(#4259, #4314), они исправлены в PostgreSQL 8.4.2
42
43 11 Ruslan Khasanov
* Microsoft SQL Server *<notextile>*новое*</notextile>*
44
** поддержка запланирована для версии version#60 (но она уже доступна в trunk для ранних версий)
45
	
46
* SQLite 3 (не для многопользовательского использования!)
47 1 Ruslan Khasanov
48 11 Ruslan Khasanov
h3. Не обязательные компоненты
49
50 1 Ruslan Khasanov
* Бинарники системы управления исходным кодом (SCM) (например svn), для просмотра хранилища(должны быть доступны в PATH). Прочитайте[[RusRedmineRepositories|хранилища Redmine]] для получения информации о совместимости и требованиях.
51 11 Ruslan Khasanov
* "ImageMagick":http://www.imagemagick.org/ (чтобы включить возможность экспорта диаграммы Ганта в png изображение)
52
* "Ruby OpenID Library":http://openidenabled.com/ruby-openid/ (чтобы активировать поддержку OpenID). Требуется версия 2 или выше.
53 1 Ruslan Khasanov
54
h2. Версии Redmine
55
56
Большинству пользователей рекомендуется устанавливать последние версии релизов Redmine. В настроящее время новые версии Redmine выпускаются каждые 6 месяцев, эти релизы считаются стабильными и пригодными к использованияю. Не рекомендуется устанавливать Redmine из trunc репозитария, пока если вы глубоко не изучите Ruby On Rails и не сможете идти в ногу с изменениями - время от времени транк ломается.
57
58
h2. Установка
59
60 11 Ruslan Khasanov
h3. Шаг 1 - Redmine application
61
62
Получите исходный код Redmine, загрузив архив релиза или получив код из хранилища. См. [[Download]].
63
64
h3. Шаг 2 - Установка зависимостей
65
66
Redmine использует "Bundler":http://gembundler.com/ для управления зависимостями gems пакетов.
67
68
Вам необходимо вначале установить Bundler:
69
70
  gem install bundler
71
72
Затем вы можете установить все зависимости требующиеся Redmine с помощью следующей команды:
73
74
  bundle install --without development test
75
76
h4. не обязательные зависимости
77
78
h5. RMagick (позволяет использовать ImageMagick для работы с изображениями в при экспорте в PDF и PNG)
79
80
Если ImageMagick не установлен в вашей системе, вы должны пропустить установку gem-пакета rmagick используя команду:
81
82
 @bundle install --without development test rmagick@
83
84
Если у вас проблемы с установкой @rmagick@ на Windows, посмотрите [[HowTo_install_rmagick_gem_on_Windows|это HowTo]].
85
86
h5. Неиспользуемые адаптеры баз данных
87
88
Вы также можете пропустить установку адаптеров баз данных, которые вы не используете.
89
90
Например, если вы используете MySQL, вы можете пропустить установку пакетов PostgreSQL, SQLite с помощью команды:
91
92
 @bundle install --without development test postgresql sqlite@
93
94
h4. Дополнительные зависимости (@Gemfile.local@)
95
96
Если вам нужно загрузить gem-пакеты, которые не требуются для ядра Redmine (например, Puma, FCGI), создайте файл @Gemfile.local@ в корневом каталог Redmine. Данный файл будет автоматически загружаться при запуске @bundle install@.
97
98
Например:
99
<pre>
100
# Gemfile.local
101
gem 'puma'
102
</pre>
103
104
h3. Создайте пустую базу данных и сопутствующего пользователя
105
106
Здесь для примера база данных и пользователь базы будет назван @redmine@, но вы его можете заменить на что-нибудь ещё.
107
108
h4. MySQL
109
110
<pre>
111 1 Ruslan Khasanov
create database redmine character set utf8; 
112
create user 'redmine'@'localhost' identified by 'my_password'; 
113
grant all privileges on redmine.* to 'redmine'@'localhost';
114 11 Ruslan Khasanov
</pre>
115
116
Для версий MySQL до 5.0.2 вместо шага @create user@ используйте:
117
<pre>
118 1 Ruslan Khasanov
grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'my_password';
119 11 Ruslan Khasanov
</pre>
120
121
h4. PostgreSQL
122
123
<pre>
124 1 Ruslan Khasanov
CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
125
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
126 11 Ruslan Khasanov
</pre>
127
128
h3. Шаг 4 - Настройка подключения к базе данных
129
130
Скопируйте файл config/database.yml.example в config/database.yml и отредактируйте этот файл так, чтобы настроить параметры базы данных для "production" окружения(реальное окружения, используемое для работы).
131
132
Пример для базы данных MySQL, использующей ruby1.8 или jruby:
133
134 1 Ruslan Khasanov
<pre>
135 5 Andrey Polyakov
production: 
136 7 Andrey Polyakov
 adapter: mysql 
137 1 Ruslan Khasanov
 database: redmine 
138
 host: localhost 
139
 username: redmine 
140
 password: my_password
141
</pre>
142 11 Ruslan Khasanov
143
Пример для базы данных MySQL, использующей ruby1.9 (адаптер должен быть установлен в @mysql2@):
144
145
<pre>
146
production: 
147
 adapter: mysql2 
148
 database: redmine 
149
 host: localhost 
150
 username: redmine 
151
 password: my_password
152
</pre>
153
154 1 Ruslan Khasanov
Если ваш сервер не работает со стандартным портом (3306), используйте эту конфигурацию:
155
<pre>
156
production: 
157
  adapter: mysql 
158
  database: redmine 
159 5 Andrey Polyakov
  host: localhost 
160 1 Ruslan Khasanov
  port: 3307
161
  username: redmine 
162
  password: my_password
163
</pre>
164 11 Ruslan Khasanov
165 1 Ruslan Khasanov
Пример для PostgreSQL (порт по-умолчанию):
166 11 Ruslan Khasanov
167 1 Ruslan Khasanov
<pre>
168
production:
169
  adapter: postgresql
170
  database: <your_database_name>
171
  host: <postgres_host>
172
  username: <postgres_user>
173
  password: <postgres_user_password>
174
  encoding: utf8
175
  schema_search_path: <database_schema> (default - public)
176
</pre>
177 11 Ruslan Khasanov
178
179
h3. Шаг 5 - Генерация ключа для безопасного хранения сессий
180
181
Этот шаг генерирует случайный ключ, используемый Rails для шифрования хранилища, содержащего данные сессий, тем самым предотвращая их фальсификацию.
182
183
Генерация нового ключа сделает недействительными все существующие сеансы после перезагрузки.
184
185
* для Redmine 1.4.x:
186
187 1 Ruslan Khasanov
<pre>
188
rake generate_session_store
189 5 Andrey Polyakov
</pre>
190 11 Ruslan Khasanov
191
* для Redmine 2.x:
192
193
<pre>
194
rake generate_secret_token
195
</pre>
196
197
h3. Шаг 6 - Создание структуры базы данных
198
199 5 Andrey Polyakov
# Создайте структуру базы данных, выполнив следующую команду в корневом каталоге приложения:
200 11 Ruslan Khasanov
201 1 Ruslan Khasanov
<pre>
202
RAILS_ENV=production rake db:migrate
203
</pre>
204 11 Ruslan Khasanov
205
в Windows:
206
<pre>
207
set RAILS_ENV=production
208
rake db:migrate
209
</pre>
210
211
Это создаст таблицы и учетную запись администратора с именем @admin@.
212
213
+проблемы в Ubuntu:+
214
215 1 Ruslan Khasanov
Если вы получите вот такую ошибку:
216 11 Ruslan Khasanov
217 1 Ruslan Khasanov
<pre>
218
Rake aborted!
219
no such file to load -- net/https
220
</pre>
221 11 Ruslan Khasanov
222
вам необходимо установить @libopenssl-ruby1.8@, в Ubuntu выполните: @apt-get install libopenssl-ruby1.8@
223
224
h3. Шаг 7 - Загрузка данных по умолчанию
225
226
Установите в базу данных конфигурацию по умолчанию, выполнив следующую команду:
227
228 1 Ruslan Khasanov
<pre>
229 5 Andrey Polyakov
RAILS_ENV=production rake redmine:load_default_data
230 1 Ruslan Khasanov
</pre>
231 11 Ruslan Khasanov
232
Redmine запросит у вас язык набора данных, которые должны быть загружен. Вы можете также перед запуском команды  установить в переменную окружения @REDMINE_LANG@ значение, которое будет автоматически использовано в процессе загрузки.
233
234
Например:
235
236
в Unix-подобных:
237
238
<pre>
239
RAILS_ENV=production REDMINE_LANG=fr rake redmine:load_default_data
240
</pre>
241
242
в Windows:
243
244
<pre>
245
set RAILS_ENV=production
246
set REDMINE_LANG=fr
247
rake redmine:load_default_data
248
</pre>
249
250
h3. Шаг 8 - Настройка разрешений
251
252 1 Ruslan Khasanov
_Пользователи Windows могут пропустить этот шаг._
253 11 Ruslan Khasanov
254
Пользователь, который запускает Redmine должны иметь разрешение на запись в следующие подкаталоги: 
255
# @files@ (хранит вложения)
256
# @log@ (логи приложения @production.log@)
257
# @tmp@ and @tmp/pdf@ (создайте, если их нет. Используется для создания PDF документов).
258
259 4 Ruslan Khasanov
Предполагается, что вы запустили Redmine от пользователя redmine:
260 1 Ruslan Khasanov
<pre>
261 11 Ruslan Khasanov
mkdir tmp tmp/pdf public/plugin_assets
262 1 Ruslan Khasanov
sudo chown -R redmine:redmine files log tmp public/plugin_assets
263 5 Andrey Polyakov
sudo chmod -R 755 files log tmp public/plugin_assets
264 1 Ruslan Khasanov
</pre>
265 11 Ruslan Khasanov
266
h3. Шаг 9 - Тестирование установки
267
268
Протестируйте установку путем запуска веб-сервера WEBrick:
269
270
* для Redmine 1.4.x:
271
272 1 Ruslan Khasanov
<pre>
273
ruby script/server webrick -e production
274
</pre>
275 11 Ruslan Khasanov
276
* для Redmine 2.x:
277
278
<pre>
279
ruby script/rails server webrick -e production
280
</pre>
281
282 1 Ruslan Khasanov
После старта WEBrick, откройте в браузере http://localhost:3000/. Теперь вы должны увидеть страницу приветствия приложения.
283
284 11 Ruslan Khasanov
> Примечание: Webrick не подходит для нормальной эксплуатации, пожалуйста, используйте WEBrick только для тестирования установки. Не рекомендуется использовать webrick ни для чего кроме разработки. Используйте одно из многих руководств в этой вики для настройки Passenger(также известного как @mod_rails@), FCGI или Rack сервер (Unicorn, Thin, Puma, hellip;) для обслуживания вашего redmine. 
285 1 Ruslan Khasanov
286 11 Ruslan Khasanov
h3. Step 10 - Вход в приложение
287 1 Ruslan Khasanov
288 11 Ruslan Khasanov
Используйте учетную запись администратора по умолчанию, чтобы войти:
289 1 Ruslan Khasanov
290 11 Ruslan Khasanov
    * Логин: admin
291
    * Пароль: admin
292 1 Ruslan Khasanov
293 11 Ruslan Khasanov
Теперь вы можете посетить раздел ??Administration?? (Администрирование) для изменения настроек приложения.
294 1 Ruslan Khasanov
295 11 Ruslan Khasanov
h2. Настройка
296 1 Ruslan Khasanov
297 11 Ruslan Khasanov
Настройки Redmine определяются в файле @config/configuration.yml@.
298
299
Если вам необходимо изменить настройки по-умолчанию, просто скопируйте @config/configuration.yml.example@ в @config/configuration.yml@ и отредактируйте новый файл. Этот файл хорошо прокомментирован, так что смотрите его.
300
301
Эти настройки могут быть определены для каждого окружения Rails (@production@/@development@/@test@).
302
303
+Важно+: Не забудьте перезапустить приложение после любого изменения.
304
305
h3. Настройка Email / SMTP-серверов
306
307 1 Ruslan Khasanov
Настройка email описана на [[RusEmailConfiguration|отдельной странице]].
308
309
h2. Настройки SCM(система управления исходным кодом)
310
311
Эта секция настроек позволяет вам:
312 11 Ruslan Khasanov
* изменить имена команд по-умолчанию, если бинарники SCM в @PATH@ используют нестандартные имена (Windows .bat/.cmd не работают)
313 4 Ruslan Khasanov
* определить полный путь к бинарникам
314 11 Ruslan Khasanov
315 1 Ruslan Khasanov
Пример(для Subversion):
316 11 Ruslan Khasanov
317 7 Andrey Polyakov
Переопределение имени команды:
318 11 Ruslan Khasanov
319 6 Andrey Polyakov
<pre>
320 1 Ruslan Khasanov
scm_subversion_command: "svn_replacement.exe"
321 11 Ruslan Khasanov
</pre>
322
323
Абсолютный путь:
324
325 1 Ruslan Khasanov
<pre>
326 7 Andrey Polyakov
scm_subversion_command: "C:\Program Files\Subversion\bin\svn.exe"
327 1 Ruslan Khasanov
</pre>
328 7 Andrey Polyakov
329 11 Ruslan Khasanov
h3. Настройка хранилища вложений
330 7 Andrey Polyakov
331
Вы можете задать путь, где Redmine будет хранить вложения, который отличается от стандартного 'files', используя параметр @attachments_storage_path@.
332 11 Ruslan Khasanov
333 7 Andrey Polyakov
Примеры:
334 11 Ruslan Khasanov
335 7 Andrey Polyakov
<pre>
336
attachments_storage_path: /var/redmine/files
337 11 Ruslan Khasanov
</pre>
338
339
<pre>
340 7 Andrey Polyakov
attachments_storage_path: D:/redmine/files
341
</pre>
342
343 11 Ruslan Khasanov
h2. Настройка логирования
344 7 Andrey Polyakov
345
По-умолчанию в Redmine уровень журналирования :info (информация). В зависимости от использования сайта, лог может сильно вырасти. Чтобы это избежать, необходимо его ротировать, либо с помощью системной утилиты @logrotate@, либо через файл @сonfig/additional_environment.rb@.
346
347 11 Ruslan Khasanov
Для использования последнего, необходимо скопировать @config/additional_environment.rb.example@ в @config/additional_environment.rb@ и в нем добавить следующие строки. Отметим, что по умолчанию в файле установлен высокий уровень журналирования, следовательно, должен быть явно установлен в информацию.
348 7 Andrey Polyakov
<pre><code class="ruby">
349
#Logger.new(PATH,NUM_FILES_TO_ROTATE,FILE_SIZE)
350
config.logger = Logger.new(config.log_path, 2, 1000000)
351 10 Andrey Polyakov
config.logger.level = Logger::INFO
352 7 Andrey Polyakov
</code></pre>
353
354 11 Ruslan Khasanov
h2. Резервное копирование
355 7 Andrey Polyakov
356
Резервная копия Redmine должна включать:
357
* данные (хранящиеся в базе данных Redmine)
358
* вложения (хранится в директории files вашей установки Redmine, если не настроено иное местоположение этих файлов)
359
360
Вот простой скрипт, который может быть использован для создания ежедневных резервных копий (предположим вы используете базу данных MySQL):
361 8 Andrey Polyakov
<pre>
362 7 Andrey Polyakov
# База данных 
363
/usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%y_%m_%d`.gz 
364
365
# Вложения 
366 1 Ruslan Khasanov
rsync -a /path/to/redmine/files /path/to/backup/files
367
</pre>
368
369 11 Ruslan Khasanov
h2. Замечания по установке на Windows
370 1 Ruslan Khasanov
371 11 Ruslan Khasanov
Существует готовый инсталлятор Ruby MRI, который можно получить http://rubyinstaller.org.
372 7 Andrey Polyakov
373 11 Ruslan Khasanov
После его установки, выберите _Start Command Prompt with Ruby_ в меню Пуск.
374 7 Andrey Polyakov
375 11 Ruslan Khasanov
+Установите переменную окружения @RAILS_ENV@:+
376
377
При выполнении команд, описанных в данном руководстве, вы должны установить переменной окружения @RAILS_ENV@ с помощью отдельной команды.
378
379
Например команды со следующим синтаксисом:
380
381
<pre>RAILS_ENV=production <any commmand></pre>
382
383
<pre><any commmand> RAILS_ENV=production</pre>
384
385
должны быть превращены в 2-е последовательные команды:
386
387
<pre>set RAILS_ENV=production	
388
<any commmand></pre>
389
390
+Проблемы при установке gem-пакета MySQL:+
391
392
Вам может понадобиться установить gem mysql с помощью команды:
393
394 7 Andrey Polyakov
<pre>
395
gem install mysql
396 11 Ruslan Khasanov
</pre>
397 7 Andrey Polyakov
398 11 Ruslan Khasanov
В некоторых случаях необходимо скопировать _libmysql.dll_ в вашу директорию ruby/bin. Не все libmysql.dll подходят, эта похоже работает http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll
399 7 Andrey Polyakov
400 11 Ruslan Khasanov
*Важное замечание для Win7 и последующих*
401
402
В Win7 и последующих, запись @localhost@ закомментирована в host-файле[1], а IPV6 является записью по умолчанию[2]. Так как gem-пакет mysql2 не поддерживает адресацию IPV6[3], то соединение с базой данных не может быть установлено и вы получаете ошибку "@Can't connect to MySQL server on 'localhost' (10061)@".
403
Вы можете проверить это пропинговав @localhost@, если будет пинговаться "::1:", значит используется адресация IPV6.
404
405
+Решение:+
406
407
В файле database.yml заменить @localhost@ на @127.0.0.1@.
408
409
fn1. http://serverfault.com/questions/4689/windows-7-localhost-name-resolution-is-handled-within-dns-itself-why
410
411
fn2. http://www.victor-ratajczyk.com/post/2012/02/25/mysql-fails-to-resolve-localhost-disable-ipv6-on-windows.aspx
412
413
fn3. https://github.com/brianmario/mysql2/issues/279
414
415
h2. Альтернатива ручной установке
416
417
Некоторые пользователи предпочитают пропустить ручную установку и использовать один из [[Download#Third-party-Redmine-bundles|сторонних пакетов Redmine]] со страницы загрузки.