Tag Archives: Redmine

[Redmine] 저장소를 프로젝트별로 자동 생성하게 하기

레드마인의 마음에 드는 점이 여러 프로젝트를 동시에 진행할 수 있다는 점입니다. 그리고 무엇보다도 프로젝트별로 소스 저장소(SCM)를 정의할 수 있습니다. 하지만 좀 더 편하기 위해 프로젝트를 생성하면 자동으로 저장소가 생성되면 좋겠다고 생각했는데 보기 좋게 이미 기능이 제공되고 있군요. 설정을 해보도록 하겠습니다.

1. 우선 관리자로 레드마인에 접속하여 설정에 들어갑니다.

2. 아래의 이미지를 참고하여 인증탭의 REST 웹서비스 활성화에 체크합니다.
사용자 삽입 이미지
3. 아래의 이미지를 참고하셔서 저장소의 API키값을 복사해 둡니다. 없다면 생성하시길…
사용자 삽입 이미지
4. 다음의 값을 crontab에 등록하도록 합시다.
[code]*/5 * * * * root ruby /home/redmine/extra/svn/reposman.rb –redmine theeye.pe.kr
–svn-dir /svn –url http://theeye.pe.kr/svn –owner nobody
–key abcdefghijklmnopqrstu[/code]
reposman.rb라는 스크립트를 사용하여 매번 새로운 프로젝트가 생겼는지 확인하여 저장소를 자동생성합니다. 5분에 한번씩 체크합니다. 옵션에 대한 설명을 다음과 같습니다.

–redmine : 레드마인에 접속하기 위한 주소를 적습니다.
–svn-dir : SVN의 경우, 저장소 루트의 경로를 적습니다.
–url : SVN에 접속하기 위한 주소입니다. 보시다시피 아파치에 mod_dav_svn을 이용해 연동하셔야 합니다.
–owner : 저장소를 관리하기 위한 권한설정입니다. 아파치 실행권한에 맞추시면 됩니다.
–key : 아까 3번에서 복제해둔 API키 값입니다.

5. 끝
이제 프로젝트를 생성하게 되면 5분이내로 저장소가 자동으로 생성되며 레드마인의 프로젝트 내에서 보이지 않던 저장소 탭이 생기게 됩니다.

[Redmine] 프로젝트 관리 시스템 레드마인 설치하기

사용자 삽입 이미지
중소규모 프로젝트를 운영중인 회사라면 Trac을 쓰는것을 추천한다는 글을 쓴적이 있습니다. 하지만 레드마인을 몇일 경험해본 결과 Trac과는 비교할 수 없을정도로 심플하고 강력하다는것을 느꼈습니다. 레드마인 역시 Trac에 견줄만큼 다양한 플러그인을 지원하고 꽤 괜찮은 한글화를 지원합니다. (단, 일감이라는 말이 조금 거슬리네요)

지금 부터 레드마인의 설치에 대해 알아보도록 합시다.

1. Ruby on Rails 설치

우선 시스템에 Ruby&Rails 프레임워크가 설치되어있어야 합니다.  해당 사이트에 방문하셔서 소스를 다운받아 설치하도록 합시다. 우선 Ruby부터 설치해 보겠습니다.

wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz
tar -zxvf ruby-1.8.7-p174.tar.gz
cd ruby-1.8.7-p174
./configure --prefix=/usr/local/ruby
make;make install

설치후에는 /usr/local/ruby/bin 위치를 PATH에 잡아주도록 합시다. 다음으로는 Rails 프레임워크를 설치할 것인데 RubyGem이라는것을 이용하면 정말 쉽게 설치할 수 있습니다.

ruby setup.rb
gem install rails

자 위와 같이 간단하게 Rails 프레임워크를 설치할 수 있었습니다. 잘 설치가 되었는지 테스트를 해봅니다.

ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]

2. Redmine (+MySQL) 설치

우선 RubyGem을 이용하여 MySQL 플러그인을 설치해 줍시다.

gem install mysql

이제 MySQL에 데이터베이스를 생성해 줍니다.

CREATE DATABASE redmine CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'password'

[이곳]에서 redmine을 다운받아 적절한 위치에 설치하도록 합니다.

tar -zxvf redmine-0.9.3.tar.gz
cd  redmine-0.9.3

config/database.yml.example 파일을 config/database.yml로 변경한 후 production 설정을 변경합니다.

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

이제 다음의 마이그레이션 명령을 수행하여 관리자 계정을 생성하도록 합니다.

rake generate_session_store
RAILS_ENV=production rake db:migrate

이제 기본설정을 데이터베이스에 로드하는 명령을 수행합니다. 언어를 물어볼 시 ko를 선택합니다.

RAILS_ENV=production rake redmine:load_default_data

다음의 디렉토리의 권한을 바꾸어 줍니다. 이때 아파치 웹서버의 쓰기 권한이 가능하도록 owner를 설정합니다.

chmod -R 755 files log tmp public/plugin_assets

3. 실행

다음과 같은 명령을 통해 바로 실행해 볼 수 있습니다. 포트는 기본적으로 3000이 사용됩니다.

ruby script/server webrick -e production

4. 아파치 연동

아파치 웹서버에 연동하는 방법은 여러가지가 있지만 심플한 방법으로는 Phusion Passenger를 사용하는 방법을 추천합니다. Proxy Balancer등을 사용하는 mongrel의 경우에는 아파치 버젼의 제약이 있지만 이건 자유롭게 사용할 수 있습니다. 사내 인트라넷 목적으로 사용하는 이상 부족함도 없고요. 다음과 같은 명령을 사용하여 설치하고 아파치에 연동시킬 수 있습니다.

gem install passenger
passenger-install-apache2-module

사용자 삽입 이미지
설치마지막엔 위와같은 메시지가 뜨는데 저기에 모든 설치방법에 대해 나와있습니다. 다음과 같이 아파치에 설정을 추가하도록 하겠습니다. /var/www/redmine 에 레드마인이 설치되어있다고 가정하겠습니다.

LoadModule passenger_module /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-2.2.11
PassengerRuby /usr/local/ruby/bin/ruby

<VirtualHost *:80>
  ServerName redmine.theeye.pe.kr
  DocumentRoot /var/www/redmine
  <Directory /var/www/redmine>
    AllowOverride all
    Options -MultiViews
  </Directory>
</VirtualHost>

이제 웹브라우저를 이용하여 접속하셔서 레드마인을 즐기시면 됩니다^^