RusRedmineInstall » History » Revision 13
Revision 12 (Ruslan Khasanov, 2013-02-03 13:39) → Revision 13/18 (Ruslan Khasanov, 2013-03-16 13:49)
[[RusGuide|Руководство]]->[[RusInstallation_guide|Руководство по установке]] Оригинал: [[RedmineInstall|Installing Redmine v.196]] v.195]] h1. Установка Redmine {{>toc}} Данная документацию по установке Redmine 1.4.0 и выше. Вы все еще можете прочитать документ для 1.3.x "здесь":/projects/redmine/wiki/RedmineInstall?version=146. h2. Требования h3. Операционная система Redmine должен работать на Unix, Linux, [[RedmineInstallOSX|Mac]], [[RedmineInstallOSXServer|Mac Server]] and Windows поскольку Ruby доступен для этих платформ. Конкретные инструкции доступны здесь [[HowTos|тут]]. h3. Ruby интерпретатор Соответствие версий & Ruby и версий Redmine: on Rails & Rack |_=.версия Redmine|_=.Поддерживаемая версия Ruby |_=.Необходимая версия Rails |_=.Поддерживаемая версия RubyGems | |текущий trunk |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.12 |RubyGems <= 1.8| |2.2.3 |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.12 3.2.11 |RubyGems <= 1.8| |2.2.1 |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.11 |RubyGems <= 1.8| |2.2.0 |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.9 |RubyGems <= 1.8| |2.1.6 |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.11 |RubyGems <= 1.8| |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| |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| |2.0.2 |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 3.2.5 |RubyGems <= 1.8| |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| |1.4.6 |ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7|Rails 2.3.15 |RubyGems <= 1.8| |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| h3. База данных * MySQL 5.0 и выше (рекомендуется) ** установите C биндинги для Ruby, которые существенно улучшают производительность. Вы можете получить их запустив @gem install mysql@. * 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 *<notextile>*новое*</notextile>* ** поддержка запланирована для версии version#60 (но она уже доступна в trunk для ранних версий) * SQLite 3 (не для многопользовательского использования!) h3. Не обязательные компоненты * Бинарники системы управления исходным кодом (SCM) (например svn), для просмотра хранилища(должны быть доступны в PATH). Прочитайте[[RusRedmineRepositories|хранилища Redmine]] для получения информации о совместимости и требованиях. * "ImageMagick":http://www.imagemagick.org/ (чтобы включить возможность экспорта диаграммы Ганта в png изображение) * "Ruby OpenID Library":http://openidenabled.com/ruby-openid/ (чтобы активировать поддержку OpenID). Требуется версия 2 или выше. h2. Версии Redmine Большинству пользователей рекомендуется устанавливать последние версии релизов Redmine. В настроящее время новые версии Redmine выпускаются каждые 6 месяцев, эти релизы считаются стабильными и пригодными к использованияю. Не рекомендуется устанавливать Redmine из trunc репозитария, пока если вы глубоко не изучите Ruby On Rails и не сможете идти в ногу с изменениями - время от времени транк ломается. h2. Установка h3. Шаг 1 - Redmine application Получите исходный код Redmine, загрузив архив релиза или получив код из хранилища. См. [[Download]]. h3. Шаг 2 - Установка зависимостей Redmine использует "Bundler":http://gembundler.com/ для управления зависимостями gems пакетов. Вам необходимо вначале установить Bundler: gem install bundler Затем вы можете установить все зависимости требующиеся Redmine с помощью следующей команды: bundle install --without development test h4. не обязательные зависимости h5. RMagick (позволяет использовать ImageMagick для работы с изображениями в при экспорте в PDF и PNG) Если ImageMagick не установлен в вашей системе, вы должны пропустить установку gem-пакета rmagick используя команду: @bundle install --without development test rmagick@ Если у вас проблемы с установкой @rmagick@ на Windows, посмотрите [[HowTo_install_rmagick_gem_on_Windows|это HowTo]]. h5. Неиспользуемые адаптеры баз данных Вы также можете пропустить установку адаптеров баз данных, которые вы не используете. Например, если вы используете MySQL, вы можете пропустить установку пакетов PostgreSQL, SQLite с помощью команды: @bundle install --without development test postgresql sqlite@ h4. Дополнительные зависимости (@Gemfile.local@) Если вам нужно загрузить gem-пакеты, которые не требуются для ядра Redmine (например, Puma, FCGI), создайте файл @Gemfile.local@ в корневом каталог Redmine. Данный файл будет автоматически загружаться при запуске @bundle install@. Например: <pre> # Gemfile.local gem 'puma' </pre> h3. Создайте пустую базу данных и сопутствующего пользователя Здесь для примера база данных и пользователь базы будет назван @redmine@, но вы его можете заменить на что-нибудь ещё. h4. MySQL <pre> create database redmine character set utf8; create user 'redmine'@'localhost' identified by 'my_password'; grant all privileges on redmine.* to 'redmine'@'localhost'; </pre> Для версий MySQL до 5.0.2 вместо шага @create user@ используйте: <pre> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'my_password'; </pre> h4. PostgreSQL <pre> CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity'; CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine; </pre> h3. Шаг 4 - Настройка подключения к базе данных Скопируйте файл config/database.yml.example в config/database.yml и отредактируйте этот файл так, чтобы настроить параметры базы данных для "production" окружения(реальное окружения, используемое для работы). Пример для базы данных MySQL, использующей ruby1.8 или jruby: <pre> production: adapter: mysql database: redmine host: localhost username: redmine password: my_password </pre> Пример для базы данных MySQL, использующей ruby1.9 (адаптер должен быть установлен в @mysql2@): <pre> production: adapter: mysql2 database: redmine host: localhost username: redmine password: my_password </pre> Если ваш сервер не работает со стандартным портом (3306), используйте эту конфигурацию: <pre> production: adapter: mysql database: redmine host: localhost port: 3307 username: redmine password: my_password </pre> Пример для PostgreSQL (порт по-умолчанию): <pre> 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) </pre> h3. Шаг 5 - Генерация ключа для безопасного хранения сессий Этот шаг генерирует случайный ключ, используемый Rails для шифрования хранилища, содержащего данные сессий, тем самым предотвращая их фальсификацию. Генерация нового ключа сделает недействительными все существующие сеансы после перезагрузки. * для Redmine 1.4.x: <pre> rake generate_session_store </pre> * для Redmine 2.x: <pre> rake generate_secret_token </pre> h3. Шаг 6 - Создание структуры базы данных # Создайте структуру базы данных, выполнив следующую команду в корневом каталоге приложения: <pre> RAILS_ENV=production rake db:migrate </pre> в Windows: <pre> set RAILS_ENV=production rake db:migrate </pre> Это создаст таблицы и учетную запись администратора с именем @admin@. +проблемы в Ubuntu:+ Если вы получите вот такую ошибку: <pre> Rake aborted! no such file to load -- net/https </pre> вам необходимо установить @libopenssl-ruby1.8@, в Ubuntu выполните: @apt-get install libopenssl-ruby1.8@ h3. Шаг 7 - Загрузка данных по умолчанию Установите в базу данных конфигурацию по умолчанию, выполнив следующую команду: <pre> RAILS_ENV=production rake redmine:load_default_data </pre> Redmine запросит у вас язык набора данных, которые должны быть загружен. Вы можете также перед запуском команды установить в переменную окружения @REDMINE_LANG@ значение, которое будет автоматически использовано в процессе загрузки. Например: в Unix-подобных: <pre> RAILS_ENV=production REDMINE_LANG=fr rake redmine:load_default_data </pre> в Windows: <pre> set RAILS_ENV=production set REDMINE_LANG=fr rake redmine:load_default_data </pre> h3. Шаг 8 - Настройка разрешений _Пользователи Windows могут пропустить этот шаг._ Пользователь, который запускает Redmine должны иметь разрешение на запись в следующие подкаталоги: # @files@ (хранит вложения) # @log@ (логи приложения @production.log@) # @tmp@ and @tmp/pdf@ (создайте, если их нет. Используется для создания PDF документов). Предполагается, что вы запустили Redmine от пользователя redmine: <pre> 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 </pre> h3. Шаг 9 - Тестирование установки Протестируйте установку путем запуска веб-сервера WEBrick: * для Redmine 1.4.x: <pre> ruby script/server webrick -e production </pre> * для Redmine 2.x: <pre> ruby script/rails server webrick -e production </pre> После старта WEBrick, откройте в браузере http://localhost:3000/. Теперь вы должны увидеть страницу приветствия приложения. > Примечание: Webrick не подходит для нормальной эксплуатации, пожалуйста, используйте WEBrick только для тестирования установки. Не рекомендуется использовать webrick ни для чего кроме разработки. Используйте одно из многих руководств в этой вики для настройки Passenger(также известного как @mod_rails@), FCGI или Rack сервер (Unicorn, Thin, Puma, hellip;) для обслуживания вашего redmine. h3. Шаг 10 - Вход в приложение Используйте учетную запись администратора по умолчанию, чтобы войти: * Логин: admin * Пароль: admin Теперь вы можете посетить раздел ??Administration?? (Администрирование) для изменения настроек приложения. h2. Настройка Настройки Redmine определяются в файле @config/configuration.yml@. Если вам необходимо изменить настройки по-умолчанию, просто скопируйте @config/configuration.yml.example@ в @config/configuration.yml@ и отредактируйте новый файл. Этот файл хорошо прокомментирован, так что смотрите его. Эти настройки могут быть определены для каждого окружения Rails (@production@/@development@/@test@). +Важно+: Не забудьте перезапустить приложение после любого изменения. h3. Настройка Email / SMTP-серверов Настройка email описана на [[RusEmailConfiguration|отдельной странице]]. h2. Настройки SCM(система управления исходным кодом) Эта секция настроек позволяет вам: * изменить имена команд по-умолчанию, если бинарники SCM в @PATH@ используют нестандартные имена (Windows .bat/.cmd не работают) * определить полный путь к бинарникам Пример(для Subversion): Переопределение имени команды: <pre> scm_subversion_command: "svn_replacement.exe" </pre> Абсолютный путь: <pre> scm_subversion_command: "C:\Program Files\Subversion\bin\svn.exe" </pre> h3. Настройка хранилища вложений Вы можете задать путь, где Redmine будет хранить вложения, который отличается от стандартного 'files', используя параметр @attachments_storage_path@. Примеры: <pre> attachments_storage_path: /var/redmine/files </pre> <pre> attachments_storage_path: D:/redmine/files </pre> h2. Настройка логирования По-умолчанию в Redmine уровень журналирования :info (информация). В зависимости от использования сайта, лог может сильно вырасти. Чтобы это избежать, необходимо его ротировать, либо с помощью системной утилиты @logrotate@, либо через файл @сonfig/additional_environment.rb@. Для использования последнего, необходимо скопировать @config/additional_environment.rb.example@ в @config/additional_environment.rb@ и в нем добавить следующие строки. Отметим, что по умолчанию в файле установлен высокий уровень журналирования, следовательно, должен быть явно установлен в информацию. <pre><code class="ruby"> #Logger.new(PATH,NUM_FILES_TO_ROTATE,FILE_SIZE) config.logger = Logger.new(config.log_path, 2, 1000000) config.logger.level = Logger::INFO </code></pre> h2. Резервное копирование Резервная копия Redmine должна включать: * данные (хранящиеся в базе данных Redmine) * вложения (хранится в директории files вашей установки Redmine, если не настроено иное местоположение этих файлов) Вот простой скрипт, который может быть использован для создания ежедневных резервных копий (предположим вы используете базу данных MySQL): <pre> # База данных /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 </pre> h2. Замечания по установке на Windows Существует готовый инсталлятор Ruby MRI, который можно получить http://rubyinstaller.org. После его установки, выберите _Start Command Prompt with Ruby_ в меню Пуск. +Установите переменную окружения @RAILS_ENV@:+ При выполнении команд, описанных в данном руководстве, вы должны установить переменной окружения @RAILS_ENV@ с помощью отдельной команды. Например команды со следующим синтаксисом: <pre>RAILS_ENV=production <any commmand></pre> <pre><any commmand> RAILS_ENV=production</pre> должны быть превращены в 2-е последовательные команды: <pre>set RAILS_ENV=production <any commmand></pre> +Проблемы при установке gem-пакета MySQL:+ Вам может понадобиться установить gem mysql с помощью команды: <pre> gem install mysql </pre> В некоторых случаях необходимо скопировать _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 не поддерживает адресацию IPV6[3], то соединение с базой данных не может быть установлено и вы получаете ошибку "@Can't connect to MySQL server on 'localhost' (10061)@". Вы можете проверить это пропинговав @localhost@, если будет пинговаться "::1:", значит используется адресация IPV6. +Решение:+ В файле database.yml заменить @localhost@ на @127.0.0.1@. fn1. http://serverfault.com/questions/4689/windows-7-localhost-name-resolution-is-handled-within-dns-itself-why fn2. http://www.victor-ratajczyk.com/post/2012/02/25/mysql-fails-to-resolve-localhost-disable-ipv6-on-windows.aspx fn3. https://github.com/brianmario/mysql2/issues/279 h2. Альтернатива ручной установке Некоторые пользователи предпочитают пропустить ручную установку и использовать один из [[Download#Third-party-Redmine-bundles|сторонних пакетов Redmine]] со страницы загрузки.