Project

General

Profile

RusRedmineInstall » History » Version 14

Евгений Ермолов, 2013-11-18 19:00

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