Для корректного отображения сайта вам необходима поддержка Javascript и Cookies.

Установка Redmine в Scientific Linux 6.x

Опубликовал Dematron в чт, 01/03/2012 - 09:21

Обновлено в пн, 05/03/2012 - 15:17

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

Как я ставил Ruby on Rails и Redmine на CentOS 5.x

В 5 версии было весьма не просто установить Redmine и предполагалось что, сначала будет идти рассказ об установке и настройке Ruby, а потом уже о Redmine. После пробной установки на Scientific Linux 6.2 стало понятно, что дело обстоит гораздо проще нежели в 5 версии. Почти все есть в наличие, оставалось только скомпоновать и поднастроить. Я очень не большой любитель собирать пакеты из "сырцов" и потому постарался в процессе экспериментов пособирать RPM пакеты того, чего нет ни в одном из более или менее уважаемых репозитариев. Итак, перед нами стоят следующие задачи:

  1. Установить и настроить Ruby on Rails;
  2. Установить Redmine и сделать его работоспособным;
  3. Сделать возможным работу Redmine через Apache.

Итак, приступим.

Все конечно же начинается с установки системы. В рамках данной статьи была выбрана система Scientific Linux 6.2 (x86_64) и установлена по минимальной конфигурации (в принципе если выбрать любую другую конфигурацию думаю тоже будит работать).

После установки системы обязательно необходимо ее обновить

yum update

Я очень люблю редактор nano, и посему все редактирования осуществляю им. По-умолчанию в конфигурации minimal он не установлен. Чтобы его установить выполним

yum install nano

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

yum install epel-release
yum install http://passenger.stealthymonkeys.com/rhel/6/x86_64/passenger-release-3-6.el6.noarch.rpm

mail  Репозитарий Passenger понадобится нам для установки mod_passenger и других зависимых компонентов.

После установки этого репозитария, для того чтобы он заработал, подправим в файле passenger.repo

nano /etc/yum.repos.d/passenger.repo

строку

baseurl = http://passenger.stealthymonkeys.com/rhel/$releasever/$basearch

на

baseurl = http://passenger.stealthymonkeys.com/rhel/6/$basearch

Установим пакеты которые нам понадобятся в дальнейшем для сборки некоторых компонентов

yum install gcc ruby-devel

Далее ставим Apache и сервер Mysql (в качестве базы данных может выбрана PostgreSQL, или еще что-то другое).

yum install httpd mysql-server

mail  Лучше не ставить версию MySQL отличную от 5.1.x чтобы далее не было проблем с зависимостями.

Стартуем сервер MySQL

/etc/init.d/mysqld start

ставим его в автозапуск

service mysqld on

убеждаемся что все нормально и делаем первичную конфигурацию. У меня это сводилось к запуску команды

/usr/bin/mysql_secure_installation

и ответов на вопросы.
Собственно теперь можно приступать к установке Ruby on Rails и остальных нужных компонентов

yum install libyaml ruby rubygems ruby-mysql mod_passenger

Далее нам потребуется установить несколько компонентов через RubyGems. Если нет необходимости в установке вместе с пакетами их документации добавим в файл gemrc следующую строку

gem: --no-ri --no-rdoc

Добавить ее можно так

nano ~/.gemrc

или так

nano /etc/gemrc

в зависимости от того как вам надо.
Установим дополнительные компоненты

gem install i18n -v=0.4.2
gem install rails -v=2.3.14
gem install rdoc

После завершения этого этапа установку Ruby on Rails мы закончили.
Теперь установим сам Redmine (пакеты прилагаются)

redmine-1.3.1-1.noarch.rpm

redmine-httpd-1.3.1-1.noarch.rpm

redmine-mysql-1.3.1-1.noarch.rpm

redmine-pg-1.3.1-1.noarch.rpm

yum install redmine redmine-mysql redmine-httpd

Дадим нужные права на папку

chown -R apache:apache /var/www/redmine

Создаем базу данных

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

mail  Я поставил % - любой хост, а вы можете поставить сюда ip-адрес того сервера на который вы ставите Redmine. Пароль для пользователя Redmine в базе - 'password', вам же следует установить здесь любой ваш любимый пароль.

Правим файл с конфигурацией базы

nano /var/www/redmine/config/database.yml

Если такового файла нет делаем

cp /var/www/redmine/config/database.yml.example /var/www/redmine/config/database.yml

В файле меняем нужные строки. Чаще всего строки host, username и password. Настраиваем их в нужном блоке - в нашем случае это production.
Создаем файл с ключем сессии

cd /var/www/redmine
rake generate_session_store

Должен появится файл /var/www/redmine/config/initializers/session_store.rb
Создаем структуру базы и наполняем базу дефолтной конфигурацией

RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data

Делаем пробный запуск Redmine через встроенные веб-сервер webrick

ruby /var/www/redmine/script/server webrick -e production

Если Redmine будит доступен по адресу http://localhost:3000 все работает нормально.

mail  По понятным причинам попасть на этот адрес с той машины на которую вы ставите Redmine не получится, ибо конфигурацией minimal не подразумевается наличие графического интерфейса. Соответственно нужно будит зайти на ip-адрес машины с другого компьютера. Чтобы точно ничего не мешало достучатся до Redmine отключите iptables.
Хотя можно воспользоваться и консольным браузером Elinks. Установить его можно командой

yum install elinks

Итак... Настал заключительный этап - необходимо настроить Apache.

cp /var/www/redmine/public/dispatch.cgi.example /var/www/redmine/public/dispatch.cgi

изменяем в dispatch.cgi строчку

require "dispatcher.rb"

на

require "/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.11/lib/dispatcher.rb"

Далее нужно раскомментировать в /var/www/redmine/config/environment.rb строчку

ENV['RAILS_ENV'] ||= 'production'

Осталось добавить в конфиг Apache

nano /etc/httpd/conf.d/passenger.conf

виртуальный хост с похожимим параметрами

<VirtualHost *:80>
        ServerName redmine.local
        ServerAdmin admin@redmine.local
        DocumentRoot /var/www/redmine/public/
        ErrorLog logs/redmine_error_log
        <Directory "/var/www/redmine/public/">
                Options Indexes ExecCGI FollowSymLinks
                Order allow,deny
                Allow from all
                AllowOverride all
        </Directory>
    </VirtualHost>

Перезагружаем индейца

service httpd restart

Смотрим нормально ли он запустился, и если да, то добавляем его в автозапуск

chkconfig httpd on

Вот в общем то и все. Все поставленные задачи выполнены.

P.S. Для полного счастья можно еще установить пакет RMagick. Он отвечает за возможность построения диаграммы Ганта и вероятно других графиков. Делается это просто, так как готовый пакет есть в репозитарии EPEL

yum install ruby-RMagick

Добавить комментарий