7 дек. 2012 г.

RedMine on Oracle Linux. Основная настройка.

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


Перечень возможных репозиториев лежит здесь. Я решил поставить SVN. Хотя по умолчанию в OracleLinux стоит CVS. Также судя по манам очень просто подключать GIT. Ну вообщем сами выбирайте.

Установим scm и директиву для работы апача и svn.
[root@test]# yum install subversion mod_dav_svn

Теперь создадим конфигурационный файл для виртуального сервера svn.
[root@test]# nano /etc/httpd/conf.d/subversion.conf
#Загружаем модули, mod_authz_svn.so нужен для авторизации в svn
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
PerlLoadModule Apache::Redmine
<Location /svn>
   #включаем DAV svn
   DAV svn
   SVNParentPath "/var/svn"
       #Включаем работу символьных ссылок, индексы и т.д.
      Options Indexes FollowSymLinks MultiViews
      Order deny,allow
      #авторизация по паролю
      AuthType Basic
      AuthName Redmine
      Require valid-user
      #Включаем авторизацю через pam Redmine
      PerlAccessHandler Apache::Authn::Redmine::access_handler
      PerlAuthenHandler Apache::Authn::Redmine::authen_handler
      #Подключаемся к базе данных
      RedmineDSN "DBI:mysql:database=redmine;host=localhost"
      RedmineDbUser "redmine"
      RedmineDbPass "mypassword"
</Location>
<Location /svn-private>
      DAV svn
      SVNParentPath "/var/svn"
      Order deny,allow
      Deny from all
      Options FollowSymLinks
      <Limit GET PROPFIND OPTIONS REPORT>
            #Разрешаем доступ только самому серверу
            Allow from "server ip"
      </Limit>
</Location>

Т.е. у нас будет две локации, одна публичная и одна приватная для работы redmin с репозиторием.

Также нужно проверить включен ли модуль perl_module в httpd.conf.


Сделаем ссылку на файл Redmine для работы авторизации.
[root@test]# ln -s /var/www/redmine/extra/svn/Redmine.pm /usr/share/perl5/vendor_perl/Apache/Redmine.pm

Сделаем каталог для хранилищ
[root@test]# mkdir -p /var/svn/

Найдем скрипт создания хранилищ
[root@test]# locate reposman.rb

Создадим хранилища для уже созданных проектов, ключ можно сгенерировать в админке 
[root@test]# ruby extra/svn/reposman.rb --redmine <server ip>:3000 --svn-dir /var/svn --owner apache --url http://<server ip>:3000/svn-private/ --key=<your key> --verbose

Сделаем сылку на репозиторий в рутовом каталоге апач.
[root@test]# ln -s /var/svn /var/www/var/svn

Правим конфиг redmin.
[root@test]# cp /var/www/redmine/config/configuration.yml.example /var/www/redmine/config/configuration.yml
[root@test]# nano /var/www/redmine/config/configuration.yml
email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: <your smtp server>
      port: 25
      domain: <your domain>
scm_subversion_command: /usr/bin/svn

Мы настроили почту и указали команду для работы redmine с svn.

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

Вариантов установки второго модуля несколько, самое простое установка через git.
[root@test]# yum install git
[root@test]# git clone git://github.com/amartel/redmine_scm_extensions.git


Первый модуль нужно скачать и скопировать в папку plugins
[root@test]# wget https://bitbucket.org/haru_iida/redmine_code_review/downloads/redmine_code_review-0.6.0.zip
[root@test]# tar -zfxv redmine_code_review-0.6.0.zip
[root@test]# cp redmine_code_review /var/www/redmine/plugins/

Перед установкой нужно установить гем factory_girl версии не выше 3 так как не будет работать с ruby 1.8.7 
[root@test]# gem install factory_girl -v 2.6.4

Теперь надо собрать модуль.
[root@test]# cd /var/www/redmine/plugins/redmine_code_review/

[root@test]# bundle install

Осталось мигрировать модули в проект
[root@test]# cd /var/www/redmine/
[root@test]# rake redmine:plugins:migrate RAILS_ENV=production

Перезапустим апач и радуемся)
[root@test]# /etc/init.d/httpd restart

Комментариев нет:

Отправить комментарий