Project

General

Profile

Actions

RusRedmineInstall » History » Revision 17

« Previous | Revision 17/18 (diff) | Next »
Дмитрий Шеломенцев, 2015-08-26 18:15
Поправил девятый шаг. Добавил описание для Redmine 3.x


Руководство->Руководство по установке

Оригинал: Installing Redmine v.196

Установка Redmine

Данная документацию по установке Redmine 1.4.0 и выше. Вы все еще можете прочитать документ для 1.3.x здесь.

Требования

Операционная система

Redmine должен работать на Unix, Linux, Mac, Mac Server и Windows поскольку Ruby доступен для этих платформ. Конкретные инструкции доступны здесь.

Ruby интерпретатор

Соответствие версий Ruby и версий Redmine:

Версия Redmine Поддерживаемая
версия Ruby
Необходимая
версия Rails
текущий trunk ruby 1.8.72, 1.9.2, 1.9.3, 2.0.01, jruby-1.6.7, jruby-1.7.2 Rails 3.2.13
2.3.0 ruby 1.8.72, 1.9.2, 1.9.3, 2.0.01, jruby-1.6.7, jruby-1.7.2 Rails 3.2.13
2.2.1 ruby 1.8.72, 1.9.2, 1.9.3, jruby-1.6.7 Rails 3.2.13

База данных

  • MySQL 5.0 и выше (рекомендуется)
    • установите C биндинги для Ruby, которые существенно улучшают производительность. Вы можете получить их запустив gem install mysql2.
  • PostgresSQL 8.2 или выше
    • убедитесь, что тип данных установлен в ISO (настройка по-умолчанию для Postgres). Вы можете установить ее используя: ALTER DATABASE "redmine_db" SET datestyle="ISO,MDY";
    • некоторые ошибки в PostgreSQL 8.4.0 и 8.4.1 вызывают ошибки в Redmine(#4259, #4314), они исправлены в PostgreSQL 8.4.2
  • Microsoft SQL Server *новое*
    • поддержка запланирована для версии 2.3.0 (но она уже доступна в trunk для ранних версий)
  • SQLite 3 (не для многопользовательского использования!)

Не обязательные компоненты

  • Бинарники системы управления исходным кодом (SCM) (например svn), для просмотра хранилища(должны быть доступны в PATH). Прочитайтехранилища Redmine для получения информации о совместимости и требованиях.
  • ImageMagick (чтобы включить возможность экспорта диаграммы Ганта в png изображение)
  • Ruby OpenID Library (чтобы активировать поддержку OpenID). Требуется версия 2 или выше.

Версии Redmine

Большинству пользователей рекомендуется устанавливать последние версии релизов Redmine. В настроящее время новые версии Redmine выпускаются каждые 6 месяцев, эти релизы считаются стабильными и пригодными к использованияю. Не рекомендуется устанавливать Redmine из trunc репозитария, пока если вы глубоко не изучите Ruby On Rails и не сможете идти в ногу с изменениями - время от времени транк ломается.

Установка

Шаг 1 - Redmine application

Получите исходный код Redmine, загрузив архив релиза или получив код из хранилища. См. Download.

Шаг 2 - Установка зависимостей

Redmine использует Bundler для управления зависимостями gems пакетов.

Вам необходимо вначале установить Bundler:

gem install bundler

Затем вы можете установить все зависимости требующиеся Redmine. Для этого распаковываете полученный на первом шаге архив релиза в какую-нибудь папку. Делаете эту папку рабочей и устанавливаете зависимости с помощью следующей команды:

bundle install --without development test

не обязательные зависимости

RMagick (позволяет использовать ImageMagick для работы с изображениями в при экспорте в PDF и PNG)

Если ImageMagick не установлен в вашей системе, вы должны пропустить установку gem-пакета rmagick используя команду:

bundle install --without development test rmagick

Если у вас проблемы с установкой rmagick на Windows, посмотрите это HowTo.

Неиспользуемые адаптеры баз данных

Вы также можете пропустить установку адаптеров баз данных, которые вы не используете.

Например, если вы используете MySQL, вы можете пропустить установку пакетов PostgreSQL, SQLite с помощью команды:

bundle install --without development test postgresql sqlite

Дополнительные зависимости (Gemfile.local)

Если вам нужно загрузить gem-пакеты, которые не требуются для ядра Redmine (например, Puma, FCGI), создайте файл Gemfile.local в корневом каталог Redmine. Данный файл будет автоматически загружаться при запуске bundle install.

Например:

# Gemfile.local
gem 'puma'

Создайте пустую базу данных и сопутствующего пользователя

Здесь для примера база данных и пользователь базы будет назван redmine, но вы его можете заменить на что-нибудь ещё.

MySQL

create database redmine character set utf8; 
create user 'redmine'@'localhost' identified by 'my_password'; 
grant all privileges on redmine.* to 'redmine'@'localhost';

Для версий MySQL до 5.0.2 вместо шага create user используйте:

grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'my_password';

PostgreSQL

CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;

Шаг 4 - Настройка подключения к базе данных

Скопируйте файл config/database.yml.example в config/database.yml и отредактируйте этот файл так, чтобы настроить параметры базы данных для "production" окружения(реальное окружения, используемое для работы).

Пример для базы данных MySQL, использующей ruby1.8 или jruby:

production: 
 adapter: mysql 
 database: redmine 
 host: localhost 
 username: redmine 
 password: my_password

Пример для базы данных MySQL, использующей ruby1.9 (адаптер должен быть установлен в mysql2):

production: 
 adapter: mysql2 
 database: redmine 
 host: localhost 
 username: redmine 
 password: my_password

Если ваш сервер не работает со стандартным портом (3306), используйте эту конфигурацию:

production: 
  adapter: mysql 
  database: redmine 
  host: localhost 
  port: 3307
  username: redmine 
  password: my_password

Пример для PostgreSQL (порт по-умолчанию):

production:
  adapter: postgresql
  database: <your_database_name>
  host: <postgres_host>
  username: <postgres_user>
  password: <postgres_user_password>
  encoding: utf8
  schema_search_path: <database_schema> (default - public)

Шаг 5 - Генерация ключа для безопасного хранения сессий

Этот шаг генерирует случайный ключ, используемый Rails для шифрования хранилища, содержащего данные сессий, тем самым предотвращая их фальсификацию.

Генерация нового ключа сделает недействительными все существующие сеансы после перезагрузки.

  • для Redmine 1.4.x:
rake generate_session_store
  • для Redmine 2.x:
rake generate_secret_token

Шаг 6 - Создание структуры базы данных

  1. Создайте структуру базы данных, выполнив следующую команду в корневом каталоге приложения:
RAILS_ENV=production rake db:migrate

в Windows:

set RAILS_ENV=production
rake db:migrate

Это создаст таблицы и учетную запись администратора с именем admin.

проблемы в Ubuntu:

Если вы получите вот такую ошибку:

Rake aborted!
no such file to load -- net/https

вам необходимо установить libopenssl-ruby1.8, в Ubuntu выполните: apt-get install libopenssl-ruby1.8

Шаг 7 - Загрузка данных по умолчанию

Установите в базу данных конфигурацию по умолчанию, выполнив следующую команду:

RAILS_ENV=production rake redmine:load_default_data

Redmine запросит у вас язык набора данных, которые должны быть загружен. Вы можете также перед запуском команды установить в переменную окружения REDMINE_LANG значение, которое будет автоматически использовано в процессе загрузки.

Например:

в Unix-подобных:

RAILS_ENV=production REDMINE_LANG=fr rake redmine:load_default_data

в Windows:

set RAILS_ENV=production
set REDMINE_LANG=fr
rake redmine:load_default_data

Шаг 8 - Настройка разрешений

Пользователи Windows могут пропустить этот шаг.

Пользователь, который запускает Redmine должны иметь разрешение на запись в следующие подкаталоги:
  1. files (хранит вложения)
  2. log (логи приложения production.log)
  3. tmp and tmp/pdf (создайте, если их нет. Используется для создания PDF документов).

Предполагается, что вы запустили Redmine от пользователя redmine:

mkdir tmp tmp/pdf public/plugin_assets
sudo chown -R redmine:redmine files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets

Шаг 9 - Тестирование установки

Протестируйте установку путем запуска веб-сервера WEBrick:

  • для Redmine 1.4.x:
bundle exec ruby script/server webrick -e production
  • для Redmine 2.x:
bundle exec ruby script/rails server webrick -e production
  • для Redmine 3.x
bundle exec rails server webrick -e production

После старта WEBrick, откройте в браузере http://localhost:3000/. Теперь вы должны увидеть страницу приветствия приложения.

Примечание: Webrick не подходит для нормальной эксплуатации, пожалуйста, используйте WEBrick только для тестирования установки. Не рекомендуется использовать webrick ни для чего кроме разработки. Используйте одно из многих руководств в этой вики для настройки Passenger(также известного как mod_rails), FCGI или Rack сервер (Unicorn, Thin, Puma, hellip;) для обслуживания вашего redmine.

Шаг 10 - Вход в приложение

Используйте учетную запись администратора по умолчанию, чтобы войти:

  • Логин: admin
  • Пароль: admin

Теперь вы можете посетить раздел Administration (Администрирование) для изменения настроек приложения.

Настройка

Настройки Redmine определяются в файле config/configuration.yml.

Если вам необходимо изменить настройки по-умолчанию, просто скопируйте config/configuration.yml.example в config/configuration.yml и отредактируйте новый файл. Этот файл хорошо прокомментирован, так что смотрите его.

Эти настройки могут быть определены для каждого окружения Rails (production/development/test).

Важно: Не забудьте перезапустить приложение после любого изменения.

Настройка Email / SMTP-серверов

Настройка email описана на отдельной странице.

Настройки SCM

Эта секция настроек позволяет вам:
  • изменить имена команд по-умолчанию, если бинарники SCM в PATH используют нестандартные имена (Windows .bat/.cmd не работают)
  • определить полный путь к бинарникам

Пример(для Subversion):

Переопределение имени команды:

scm_subversion_command: "svn_replacement.exe" 

Абсолютный путь:

scm_subversion_command: "C:\Program Files\Subversion\bin\svn.exe" 

Настройка хранилища вложений

Вы можете задать путь, где Redmine будет хранить вложения, который отличается от стандартного 'files', используя параметр attachments_storage_path.

Примеры:

attachments_storage_path: /var/redmine/files
attachments_storage_path: D:/redmine/files

Настройка логирования

По-умолчанию в Redmine уровень журналирования :info (информация). В зависимости от использования сайта, лог может сильно вырасти. Чтобы это избежать, необходимо его ротировать, либо с помощью системной утилиты logrotate, либо через файл сonfig/additional_environment.rb.

Для использования последнего, необходимо скопировать config/additional_environment.rb.example в config/additional_environment.rb и в нем добавить следующие строки. Отметим, что по умолчанию в файле установлен высокий уровень журналирования, следовательно, должен быть явно установлен в информацию.

#Logger.new(PATH,NUM_FILES_TO_ROTATE,FILE_SIZE)
config.logger = Logger.new(config.log_path, 2, 1000000)
config.logger.level = Logger::INFO

Резервное копирование

Резервная копия Redmine должна включать:
  • данные (хранящиеся в базе данных Redmine)
  • вложения (хранится в директории files вашей установки Redmine, если не настроено иное местоположение этих файлов)

Вот простой скрипт, который может быть использован для создания ежедневных резервных копий (предположим вы используете базу данных MySQL):

# База данных 
/usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%y_%m_%d`.gz 

# Вложения 
rsync -a /path/to/redmine/files /path/to/backup/files

Замечания по установке на Windows

Существует готовый инсталлятор Ruby MRI, который можно получить http://rubyinstaller.org.

После его установки, выберите Start Command Prompt with Ruby в меню Пуск.

Установите переменную окружения RAILS_ENV:

При выполнении команд, описанных в данном руководстве, вы должны установить переменной окружения RAILS_ENV с помощью отдельной команды.

Например команды со следующим синтаксисом:

RAILS_ENV=production <any commmand>
<any commmand> RAILS_ENV=production

должны быть превращены в 2-е последовательные команды:

set RAILS_ENV=production    
<any commmand>

Проблемы при установке gem-пакета MySQL:

Вам может понадобиться установить gem mysql с помощью команды:

gem install mysql

В некоторых случаях необходимо скопировать libmysql.dll в вашу директорию ruby/bin. Не все libmysql.dll подходят, эта похоже работает http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll

Важное замечание для Win7 и последующих

В Win7 и последующих, запись localhost закомментирована в host-файле1, а IPV6 является записью по умолчанию2. Так как gem-пакет mysql2 не поддерживает адресацию IPV63, то соединение с базой данных не может быть установлено и вы получаете ошибку "Can't connect to MySQL server on 'localhost' (10061)".
Вы можете проверить это пропинговав localhost, если будет пинговаться "::1:", значит используется адресация IPV6.

Решение:

В файле database.yml заменить localhost на 127.0.0.1.

1 http://serverfault.com/questions/4689/windows-7-localhost-name-resolution-is-handled-within-dns-itself-why

2 http://www.victor-ratajczyk.com/post/2012/02/25/mysql-fails-to-resolve-localhost-disable-ipv6-on-windows.aspx

3 https://github.com/brianmario/mysql2/issues/279

Альтернатива ручной установке

Некоторые пользователи предпочитают пропустить ручную установку и использовать один из сторонних пакетов Redmine со страницы загрузки.

Updated by Дмитрий Шеломенцев over 9 years ago · 17 revisions