회사 메일을 google apps 로 변경하면서, redmine 의 메일 알림기능 설정을 변경해야 되었다.
원래 gmail  이 smtp 메일 발송을 지원하기 때문에 별 문제 없이 끝날 줄 알았는데 예상치 못한 문제가 있었다.
그것은 gmail 을 통한 smtp 메일 발송시 TLS 암호화가 필요하다는 것.
설정파일에서 그런 옵션이 없기 때문에 안되는 줄 알았지만, 구글에서 손쉽게 답을 찾을 수 있었다.

참고 한 링크는 아래 두개..

http://redmineblog.com/articles/setup-redmine-to-send-email-using-gmail/
http://kingori.egloos.com/4236006

0.8.7.stable 기준 설정 방법은 다음과 같다.

1. TLS 플러그인 설치

1-1. 레드마인 서버에서 인터넷에 접속 할 수 있는 경우, 레드마인 설치 경로에서 다음 명령을 실행 하면 끝.

ruby script/plugin install git://github.com/collectiveidea/action_mailer_optional_tls.git

1-2. 레드마인 서버에서 인터넷에 접속 할 수 없는 경우, 다음 URL 에서 소스를 다운로드 받아, 레드마인 설치 경로/vendor/plugins/action_mailer_optional_tls 에 압축을 풀어 넣으면 끝.

http://github.com/collectiveidea/action_mailer_optional_tls

image

 

2. email.yml 설정

redmine_mail

박스 친 부분이 포인트… 구글 앱일 경우 도메인은 자신의 도메인을 써도 무방하지만, smtp.gmail.com을 써도 관계 없다.
authentication 은 참고한 기사에 따르면 plain 을 쓰라고 하는데, login 이라고 놔둬도 아무 문제 없었다.

 

3. 테스트

설정을 다 마쳤으면 (레드마인 최상단) 관리자 > 설정 > 메일 알림으로 이동.
그리고 우하단 테스트 메일 보내기 링크를 클릭하면 즉시 테스트 결과가 나타난다.
만일, 설정이 잘못 되었다면 상단 테스트 결과에 에러메시지가 나와서 문제 해결에 참고 할 수 있다.

image

  1. 김기원 2010.02.19 09:08

    주인장님의 글을 참고해서 Redmine을 적용 했습니다.
    GMail 세팅시 위와 같이 했는데 저는 적용이 안되더라구요.
    그래서 제가 성공한 방법을 엮어 놓고자 합니다.
    제 테스트 환경은 아래와 같고
    Windows Server 2003 Standard R2 SP2 Kor(Windows Server 2008 Standard R1 SP2)
    Redmine : 0.9.2
    MySQL : 5.1.43
    Ruby : 1.8.7-p249
    Rails : 2.3.5
    Ruby Gems : 1.3.5
    W/S : Apache 2.2.13(in VisualSVN Server), mongrel

    해당 포스트 주소입니다.
    http://blog.naver.com/xyz37/50083113439

개발자가 레드마인 웹에 접속해서 일일이 일감 상태를 변경하고 관련 revision 을 기록하지 않아도, 커밋 로그메시지만으로 한방에 해결 하는 기능이 있다.

레드마인이 저장소의 변경사항을 읽어 들이면서 로그메시지에 특정키워드가 있으면, 상태를 변경시키는 기능인데, 관리자 > 설정 > 저장소들에서 커밋메시지에서 일감을 참조하거나 해결하기 섹션을 보자.

image

일감 해결에 사용할 키워드들 
커밋메시지에서 이곳에 쓰인 키워드와 일감# 패턴이 발견되면, 레드마인이 해당 일감#과 관련된 변경내역을 일감정보에 리비전번호와 함께 표시하고, 일감의 상태와 진행률을 지정한 대로 변경한다.

예를 들어 다음과 같이 커밋메시지를 작성하면, 커밋메시지

레드마인에서 해당 일감에 다음과 같이 표시 된다. 커밋메시지외에 별도로 레드마인에서 일감 상태를 변경해주지 않았지만 붉은색 박스 영역을 보면 상태 변경 처리가 되어 있고, 하늘색 박스영역을 보면 관련된 개정판(리비전) 번호와 함께 커밋로그메시지가 참조 표시 되고 있다.
image

일감 참조에 사용할 키워드들 
일감해결 키워드에서 상태변경(붉은색 박스 영역)을 제외한 관련 개정판 이력이 일감에 추가 된다.

커밋메시지에 양식에 맞는 키워드를 썼는데도 일감내용이 변경되지 않는다면?
- 키워드 패턴이 키워드[공백]#숫자로 fixes #123 과 같이 작성되어 있는지 확인한다.
- 프로젝트 메뉴 상단의 저장소를 한번 클릭하고, 일감을 열어본다.

  1. 정희아빠 2009.10.28 17:06

    안녕하세요.

    항상 커밋하고 일감에서 다시 수정했는데 덕분에 한번에 처리하게되었네요.
    감사합니다.

메일알림을 설정하면 일감의 추가/변경 및 각종 레드마인의 변경사항에 대해 관련된 사람에게 메일을 보낼 수 있다. 회사의 메일서버를 이용해 메일알림 설정을 해보자.

C:\Redmine\config\email.yml.sample 파일을 같은 폴더에 email.yml 로 복사하고 다음과 같이 편집한다.

 image

주의 할 점은
1) 사용중인 environment 와 동일한 section 을 편집 할 것.
2) authentication 은 그대로 둘 것.(계정을 쓰는 곳이 아님)
3) 저장 한 내용은 레드마인 웹을 재시작해야 적용 됨

위 사항을 주의해서 설정을 마치고 나면 관리자 > 메일알림 우하단에 테스트메일 보내기를 클릭. 설정이 잘 되었다면 메일이 정상 발송되었다는 메시지가 나온다.

image

  1. Richpapa 2009.12.14 21:23

    설정이 뭐가 잘 못 되었을까요?

    아래는 저의 emai.yml 입니다. development부분은 없습니다.

    # Outgoing email settings

    production:
    delivery_method: :smtp
    smtp_settings:
    address: mail.abcde.com
    port: 25
    domain: abcde.com
    authentication: :login
    user_name: ryan.soar
    password: asdf123

    1) 사용중인 environment 와 동일한 section 을 편집 할 것. --> 이것은 무슨 말인가요? 잘 모르겠네요.

  2. yjacket 2009.12.16 11:08 신고

    production: <- 이게 섹션 이름입니다.
    보통 production 을 사용하니 그대로 하면 맞을 것 같네요.

    저 같은 경우 user_name을 username@domain.com 으로 해서 로그인 했습니다. 메일서버 셋팅에 따라 다르니 확인해보세요.

    레드마인 설치 폴더 아래있는 log 폴더를 보면 production.log 파일이 있는데요 이걸 열어보면 정확한 오류 원인을 파악 하실 수 있을겁니다.

트랙(trac)에서 레드마인으로 마이그레이션 후 트랙에서 가져오면 기존 티켓(일감)들의 일감 구분(issue type)이 모두 버그로 설정되게 된다.

image

일감 구분을 변경하려면 불편하지만 수작업으로 하나씩 바꿔줘야 하는데, 수정 기능으로는 이를 바꿀 수가 없다.

image

해서 일감 구분을 바꿀 수 없는게 아닌가 생각했지만, 일감 구분 변경은 의외의 곳에서 가능하다는 것을 발견했다. 유형을 변경하고 싶은 일감에서 ‘이동’을 클릭해보자.

image

이동 기능은 말그대로 다른 프로젝트로 일감을 이동하는 기능이다. 하지만 프로젝트를 변경하지 않고 구분만 변경하면, 일감 구분만 변경하는 것이 가능하다.

image

이동을 클릭하면 다음과 같이 일감의 구분이 버그에서 새기능으로 변경되었음을 확인 할 수 있다.

image

레드마인은 다양한 형상관리시스템(SCM)과의 연동을 지원한다.

  • Subversion
  • Darcs
  • Mercurial
  • CVS
  • Barzaar
  • Git

TOW로 이미 운영 중이던 Subversion을 레드마인과 연동하는 방법은 간단하다. 우선 연동 할 프로젝트를 선택 하고 설정 > 모듈을 클릭하여 활성화 시킬 모듈로 저장소가 선택되어 있는지 확인한다.

image

이 후 설정 > 저장소 탭으로 이동하여 URL에 SVN의 저장소 경로를 입력하고, 연결시 사용할 계정을 입력하고 저장하면 된다.

 image

너무 간단해서 팁이라 할 것도 없지만, 레드마인이 별도의 svn 모듈을 가지고서 하는 작업이 아니고 서버에 설치된 svn.exe를 이용해 데이터를 받아오는 것이기 때문에 서버의 레드마인 프로세스(ruby.exe)가 실행 되는 계정의 path 환경변수에 svn.exe 의 경로가 지정되어 있지 않으면 다음과 같은 오류가 발생하게 된다.

image

만일 위와 같은 오류를 보게 된다면 서버의 환경변수 설정을 변경해줘야 하는데, 필자의 경우 시스템 등록정보 > 고급 > 환경변수의 PATH 설정에 svn.exe가 들어있는 경로 c:\tow\subversion\bin을 추가해 보았으나 어찌된 일인지 오류는 사라지지 않았다.

 image

웹상에 표시되는 오류 메시지가 너무 간단하기 때문에 더욱 자세한 정보를 얻기 위해 레드마인 로그(C:\Redmine\log\production.log) 파일을 확인해보니 친절하게도 svn.exe를 찾기 위해 확인 한 path가 있었는데 시스템 변수 설정의 변경사항이 아직 적용 된 것 같지 않았다. 윈도우를 재시작 하면 나서 저장소 탭으로 이동하면 정상적으로 저장소의 디렉토리 구조가 표시 된다. (최초 로딩시에 시간이 좀 걸리는 편인듯)

SVN 연동 설정을 하던 서버가 응답을 하지 않는 것 같아 강제로 레드마인 프로세스(Ruby.exe)를 종료시켰더니, 서비스를 시작하면 레드마인 프로세스가 계속해서 실행과 종료를 반복하는 현상이 발생했다. 물론 사이트에도 접속 할 수 없었고, 특별한 에러메시지가 나타나지 않아 실행 되지 않는 원인을 찾기 힘들었다.

image

아래 스크린샷을 보면 mogrel_service 프로세스가 ruby를 실행했지만 계속해서 종료되는 현상이 나타나고 있음을 알 수 있다.

image 

이럴땐 우선 mongrel 로그를 확인해야 한다. mongrel.log 파일은 c:\ruby\bin 폴더에 들어있다. 로그 제일 하단이 현재 발생하고 있는 에러에 대한 내용이니 주의 깊게 살펴보도록 하자.

image

“각 소켓 주소(프로토콜/네트워크 주소/포트)는 하나만 사용 할 수 있습니다”라는 에러 메시지를 발견 할 수 있다. 에러메시지로 미루어보아 레드마인 프로세스를 강제로 종료 하며 닫혀야 할 세션이 닫히지 않고 열린 상태로 남아있음을 추측 할 수 있다.

TCPView 를 통해 레드마인이 사용하는 3000번 포트를 사용하는 세션을 확인 해본 결과 존재하지 않는 PID 에 대해 세션이 남아 있음이 확인 되므로 해당 연결을 종료한다.

image

참고로 보통 위와 같은 방법으로 연결을 종료 할 수 있지만, 다른 프로세스와 관련되어 있는 경우엔 종료가 잘 안 될 수도 있다. 이번 경우엔 처음 강제 종료를 하기 직전 svn 연동설정을 담당하던 svn.exe 를 종료해준 후 모든 커넥션이 종료 될 수 있었다.

기존에 사용하던 이슈 관리 시스템이 있다면 레드마인으로 데이터를 마이그레이션 할 수 있다.
레드마인은  trac, mantis 로부터의 마이그레이션을 공식 지원하며, 레드마인 사용자에 의해 JIRA, Bugzilla, scarab 으로부터의 마이그레이션이 지원 되고 있다.

TOW 로부터의 마이그레이션
trac 을 윈도우에서 손쉽게 사용 할 수 있는 TOW 의 데이터를 레드마인으로 가져와보자. 레드마인 공식사이트에서 다음 링크를 참조하였다. http://www.redmine.org/wiki/redmine/RedmineMigrate

trac 으로 부터 마이그레이션이 가능한 항목은 다음과 같다.

  • Users
  • Components
  • Milestones
  • Tickets
  • Ticket comments and changes (status and resolution)
  • Trac specific fields (eg. Resolution) are added as custom fields in Redmine
  • Ticket files and custom fields
  • Wiki pages with history

노트에 의하면 계정은 그대로 옮겨지며, 옯겨질 레드마인 DB에 중복이 없는한 티켓번호도 유지 되는듯.
트랙의 커스텀 필드도 역시 그대로 추가 될 것 같다.

데이터베이스 초기화(필수?)
마이그레이션 작업 전 기본 데이터베이스를 로딩해줘야 한다. 레드마인을 설치하고 아직 별다른 작업을 하지 않았다면 궂이 할 필요는 없을 듯.

rake redmine:load_default_data RAILS_ENV="production"


SQLITE설치
TOW는 sqlite를 데이터베이스로 사용한다. 사용중인 TOW의 버전은 0.2.2a 이므로 sqlite3-ruby가 설치 되어야 한다. 사실, 이 부분에서 좀 헤맸는데 레드마인의 마이그레이션 페이지에 따르면 레드마인의 트랙 마이그레이션 스크립트가 trac 0.10 의 sqlite database 와 trac 0.11 의 sqlite3 database 에서 테스트 되었다고 했다. 이 말을 보고 TOW 의 trac 버전이 0.10 이기 때문에 당연히 sqlite 를 설치해야 되는 줄 알았고 sqlite-ruby 를 설치했는데


gem install sqlite3-ruby

image 

설치 중 No definition for _wrap_sqlite3_… 와 같은 메시지가 나왔는데 설치가 중단되지는 않으므로 일단 그냥 지나간다.

마이그레이션 스크립트 실행
설치가 다 되었으면, 마이그레이션 스크립트를 실행한다. 레드마인 디렉토리로 이동 한 후 다음 명령을 실행. RAILS_ENV 옵션 값은 위에서 로딩한 환경에 맞게 설정한다. 그리고 마이그레이션 스크립트의 질문에 아래와 같이 답하면 마이그레이션이 진행 되고 결과가 표시 된다.

rake redmine:migrate_from_trac RAILS_ENV="production"
Trac directory []: 트랙이설치된경로
Trac database adapter (sqlite, sqlite3, mysql, postgresql) [sqlite3]: Database encoding [UTF-8]: Target project identifier []: 레드마인프로젝트이름

image

마이그레이션이 잘 끝났다면 레드마인 사이트에 접속해보면 옮긴 이름으로 프로젝트가 생성되어 있음을 확인 할 수 있다. 티켓과 설정, 계정, 위키페이지들이 잘 옮겨졌는지 확인해보자.

 image

sqlite3.dll 오류 해결
혹시 마이그레이션 중 sqlite3.dll 이 없다는 에러메시지가 나오면 http://www.sqlite.org/download.html 사이트를 방문하여 sqlite3.dll 을 다운로드 받은 후 system32 폴더에 넣고 스크립트를 다시 실행한다. 아래 그림에서 sqlitedll-3_6_18.zip 을 내려 받으면 된다.image

WEBrick에서 미리보기
데이터베이스 생성이 모두 완료 되었으면 이제 웹서버를 올려 레드마인을 사용 할 준비만 하면 된다. 레드마인 디렉토리에서 다음 명령을 실행하면 WEBrick 웹서버가 구동된다.
image_thumb237

이제 레드마인에 접속해보자. 웹브라우저를 열고 http://localhost:3000 로 접속하면 아직 아무 프로젝트도 만들어 놓지 않았기 때문에 초기화면엔 아무 것도 없다. 로그인 버튼을 클릭하고 관리자 계정(admin/admin)으로 로그인이 잘 되는지 확인한다.
image_thumb245

Mongrel + Apache 를 윈도우 서비스로 등록하기
WEBrick은 서비스용으로는 부적합하므로, mogrel + apache 를 이용해 운영을 위한 환경을 구성해보자.
우선 레드마인을 윈도우 서비스로 등록하기 위해 mongrel 을 설치 한 후 mongrel 로 레드마인을 서비스로 등록하고 실행한다. 그리고 시작-실행-services.msc를 입력한 후 Redmine 의 시작유형을 자동으로 설정하면 윈도우가 시작 될 때마다 자동으로 레드마인이 실행 된다.

gem install mongrel mongrel_service --include-dependencies
mongrel_rails service::install -N Redmine -p 3000 -e production -c C:\redmine
net start redmine
image6_thumb6 

아파치설정
tow 환경에서 사용하는 아파치를 그대로 이용해보자. C:\tow\Apache\conf\httpd.conf 파일을 열어 다음 부분의 주석(#)을 삭제한다.

#Include conf/extra/httpd-vhosts.conf
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so

그리고 C:\tow\Apache\conf\extra\httpd-vhosts.conf 파일을 열어 불필요한 내용을 주석처리(#) 하고, 다음 내용을 추가한다.

<VirtualHost *:80>
   DocumentRoot "c:\tow\apache\htdocs"
   ServerName redmine.dev
   ErrorLog logs/error_log
   ServerSignature On
   ProxyRequests off
   <Proxy *>
           Order deny,allow
           Allow from all
   </Proxy>
   ProxyPass / http://localhost:3000/
   ProxyPassReverse / http://localhost:3000/
   ProxyPreserveHost On
</VirtualHost>

단, httpd-vhosts.conf 에 이 셋팅만 되어 있을 경우 기존 사이트(trac)이 열리지 않을 수 있으므로, 기존사이트가 열리지 않는 경우 기존사이트에 대한 설정을 알맞게 추가해주면 된다. 다음은 tow 에 대한 설정이다.

<VirtualHost *:80>
   DocumentRoot "c:\tow\apache\htdocs"
   ServerName trac.dev
   ErrorLog logs/error_log
</VirtualHost>

이제 아파치를 재시작하고 위에 등록한 서버이름(redmine.dev)을 다른 네트웍에서 브라우저로 접속해보자. 물론, 그 서버이름은 dns 로 잡아두거나 접속하는 PC에서 hosts 파일을 알맞게 설정해두어야 한다. 다음과 같은 화면이 나오면 설치 성공.

image_thumb4

  1. Richpapa 2009.12.14 19:45

    궁금한 것이 있습니다.
    mongrel_rails service::install -N Redmine -p 3000 -e production -c C:\Thirdparty\redmine-0.8.7 을 실행하면

    Successfully installed mongrel-1.1.5-x86-mingw32
    Successfully installed mongrel_service-0.1

    위의 2가지면 설치가 됩니다. 그래서인지 다음과정에서 다음과 같은 에러가 납니다. 왜 그럴까요?

    C:/Thirdparty/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- win32/service (LoadError)
    from C:/Thirdparty/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from C:/Thirdparty/Ruby/lib/ruby/gems/1.8/gems/mongrel_service-0.1/lib/mongrel_service/init.rb:5
    from C:/Thirdparty/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from C:/Thirdparty/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from C:/Thirdparty/Ruby/lib/ruby/gems/1.8/gems/gem_plugin-0.2.3/lib/gem_plugin.rb:134:in `load'
    from C:/Thirdparty/Ruby/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:241:in `each'
    from C:/Thirdparty/Ruby/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:241:in `each'
    from C:/Thirdparty/Ruby/lib/ruby/gems/1.8/gems/gem_plugin-0.2.3/lib/gem_plugin.rb:112:in `load'
    from C:/Thirdparty/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mingw32/bin/mongrel_rails:278
    from C:/Thirdparty/Ruby/bin/mongrel_rails:19:in `load'
    from C:/Thirdparty/Ruby/bin/mongrel_rails:19

  2. yjacket 2009.12.16 11:12 신고

    1) mongrel 을 먼저 설치하고
    > gem install mongrel mongrel_service --include-dependencies

    2) mongrel 을 이용해 redmine 을 서비스로 올리는겁니다.
    > mongrel_rails service::install -N Redmine -p 3000 -e production -c C:\Thirdparty\redmine-0.8.7

    에러메시지로 보아 mongrel 이 제대로 설치 되지 않은 것 같습니다.

  3. yjacket 2009.12.18 09:31 신고

    저는 루비버전 1.8.6 p27 rc2 버전에서 확인했습니다.
    1.8.7 p383 rc1 버전에서는 저도 mongrel 설치 단계에서 오류를 만났습니다.
    자세히 확인안하고 시간이 없어 그냥 루비를 1.8.6 p27 rc2로 다시 설치하고 했더니
    아무 문제 없이 잘 되네요.

MySQL Server 설치가 끝났으면, 레드마인 데이터베이스를 생성해주는 작업이 필요하다. MySQL 커맨드라인 클라이언트를 실행하여 다음 명령을 실행한다. 정상완료 되었으면 클라이언트를 종료해도 된다. MySQL 커맨드라인 클라이언트는 시작-프로그램-MySQL-MySQL Server 5.0-MySQL Command Line Client 를 실행하거나, 시작-실행-mysql.exe –uroot –p 를 실행하면 열 수 있다.

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

image188_thumb

다음 차례는 레드마인에 데이터베이스 설정을 적용하는 단계. Redmine\config 에 database.yml.sample 을 열어 production의 mysql 설정을 알맞게 수정 한 후 database.yml 로 이름을 바꾸어 저장한다.
image_thumb200

이제 rakefile 을 통해 데이터베이스를 구성해야 한다. 레드마인이 설치 된 경로에서 다음 명령을 차례로 입력한다. 역시 제법 많은 시간이 걸리므로 느긋하게 기다리자. 두번째 명령은 중간에 사용할 언어를 입력해야 하므로, 한국어로 셋팅하기 원한다면 ko 를 입력한다.

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

image_thumb230

혹시 이 작업중 DLL_LIBMYSQL.DLL 파일을 찾을 수 없다는 에러메시지가 나타난다면 여기서 DLL_LIBMYSQL.DLL 을 다운로드 받아서 %SYSTEMROOT% 혹은 path 로 지정된 아무 폴더에나 복사해 넣어주면 된다.

  1. 샹샹샹 2010.06.01 21:38

    샹....gem 은 윈도우에서 실행이 안되는듯..혹시 OS X 명령어?

    • yjacket 2010.06.09 15:43 신고

      루비에선 단위 프로그램을 gem 이라고 부르나봐요.
      gem 명령어는 그 gem 을 설치/삭제 할 때 쓰이고요. 루비를 설치할때 함께 설치됩니다.
      단, Ruby설치경로/bin 이 path 로 설정되어 있지 않으면 실행 안되니
      커맨드 라인에서 path를 입력 했을때 (예)C:\Ruby\Bin 이 포함되어 있는지 확인해보세요.

  2. ssyi 2011.01.18 19:51

    rake db:migrate RAILS_ENV="production" 명령에서 계속 에러가 나서 진행을 못하고 있습니다.
    에러는 아래와 같습니다. 조언 부탁드립니다.

    c:\Redmine>rake db:migrate RAILS_ENV="production"
    (in c:/Redmine)
    rake aborted!
    A key is required to write a cookie containing the session data. Use config.acti
    on_controller.session = { :key => "_myapp_session", :secret => "some secret phra
    se" } in config/environment.rb
    c:/Redmine/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb
    :163:in `ensure_session_key'
    c:/Redmine/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb
    :74:in `initialize'
    c:/Redmine/vendor/rails/actionpack/lib/action_controller/middleware_stack.rb:72:
    in `new'
    c:/Redmine/vendor/rails/actionpack/lib/action_controller/middleware_stack.rb:72:
    in `build'
    c:/Redmine/vendor/rails/actionpack/lib/action_controller/middleware_stack.rb:116
    :in `block in build'
    c:/Redmine/vendor/rails/actionpack/lib/action_controller/middleware_stack.rb:116
    :in `each'
    c:/Redmine/vendor/rails/actionpack/lib/action_controller/middleware_stack.rb:116
    :in `inject'
    c:/Redmine/vendor/rails/actionpack/lib/action_controller/middleware_stack.rb:116
    :in `build'
    c:/Redmine/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:130:in `b
    uild_middleware_stack'
    c:/Redmine/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:81:in `in
    itialize'
    c:/Redmine/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:51:in `ne
    w'
    c:/Redmine/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:51:in `ru
    n_prepare_callbacks'
    c:/Redmine/vendor/rails/railties/lib/initializer.rb:631:in `prepare_dispatcher'
    c:/Redmine/vendor/rails/railties/lib/initializer.rb:185:in `process'
    c:/Redmine/vendor/rails/railties/lib/initializer.rb:113:in `run'
    c:/Redmine/config/environment.rb:20:in `<top (required)>'
    <internal:lib/rubygems/custom_require>:29:in `require'
    <internal:lib/rubygems/custom_require>:29:in `require'
    c:/Redmine/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in
    `block in require'
    c:/Redmine/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in
    `new_constants_in'
    c:/Redmine/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in
    `require'
    c:/Redmine/vendor/rails/railties/lib/tasks/misc.rake:4:in `block in <top (requir
    ed)>'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:634:in `call'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:634:in `block in execute'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:629:in `each'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:629:in `execute'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:595:in `block in invoke_with_call_chain'
    C:/Ruby/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:605:in `block in invoke_prerequisites'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:602:in `each'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:602:in `invoke_prerequisites'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:594:in `block in invoke_with_call_chain'
    C:/Ruby/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:581:in `invoke'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:2041:in `invoke_task'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:2019:in `block (2 levels) in top_level'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:2019:in `each'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:2019:in `block in top_level'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:2013:in `top_level'
    C:/Ruby/lib/ruby/1.9.1/rake.rb:1992:in `run'
    C:/Ruby/bin/rake:31:in `<main>'

    c:\Redmine>

  3. yjacket 2011.01.20 11:42 신고

    이 설치기는 레드마인 0.8.5 버전을 기준으로 하고 있어서 현재 버전 설치할때는 좀 다른 부분이 있는 것 같네요. 최신버전의 메뉴얼을 보니 다음 명령어를 실행해 세션정보 저장을 위한 쿠키를 생성한 후 에러나는 명령어를 다시 실행해보셔야 할 것 같습니다.

    rake generate_session_store

레드마인은 MySql, PostgreSQL, SQL Lite 를 지원한다. 여기서는 MySQL을 사용하기로 한다.
다만 현재(2009.09.23)를 기준으로 레드마인 0.8.5는 MySql 5.1 이상을 지원하지 않으므로 MySQL 5.0을 선택. 
http://dev.mysql.com/downloads/mysql/5.0.html 여기서 MySQL 5.0 Community Server를 다운로드 받자.
image_thumb109

간편하게 Windows ZIP/Setup.exe를 다운로드(로그인이 필요 할 수 있음)
image_thumb116

압축을 풀고 Setup.exe를 실행하여 MySQL을 설치하자. 설치옵션은 그대로 해도 문제 없을 듯. Finish를 눌러 환경설정을 할 수 있다.
image_thumb123

머 귀찮으니까 환경설정은 간단하게 끝내자.
image_thumb180
 
image_thumb179
 
image_thumb181

설정이 완료되는 동안 잠시 기다린 후 Finish 를 클릭한다.
image_thumb197

다운로드
레드마인 사이트의 다운로드 페이지(http://www.redmine.org/wiki/redmine/Download)를 보면, http://rubyforge.org/frs/?group_id=1850 에서 Redmine release 를 받을 수 있음을 알 수 있다.
최신버전(0.8.5)의 zip 을 다운로드 받자.
 image_thumb75

설치
설치는 간단히 C:\Redmine 에 압축풀기로 끝.
image_thumb95

하지만 레드마인은 Rails 를 기반으로 작성되었으므로, rails 를 설치해줘야 한다. Rails는 Redmine 릴리즈에 포함되어있으므로 별도로 받을 필요는 없고 커맨드창에서 “gem install rails -v=2.3.4”를 입력해 설치만 해주면 된다. Rails 버전은 릴리즈에 따라 다를 수 있으므로 버전 입력시 주의하고, 설치시간이 생각보다 오래 걸릴 수도 있으니 아래와 같이 모든 과정이 끝날때까지 인내심을 가지고 기다리면 정말 끝.
image_thumb101

  1. 라면스프 2010.12.08 10:16

    좋은정보감사합니다^^

  2. syuou 2011.05.13 12:59

    gem install rails -v=2.3.4 커맨드 입력해도 gem이란 명령이 없다고 나오는데 어떻게 해야 하죠? 버전은 1.1.3입니다.

레드마인은 스크립트 언어인 루비로 작성되었다. 따라서 레드마인을 설치하기 위해서는 루비가 필수다.  루비 공식사이트(http://rubyinstaller.org/) 에서 최신버전의 루비를 다운로드 받자.

빨간색 다운로드 버튼을 클릭하고, OneClick Installer 중 Windows 용 최신버전(1.8.6-27 Release Candidate 2)를 다운로드 받는다.
image_thumb6 image5_thumb7

다운로드 받은 ruby186-27_rc2.exe 를 실행한다. 컴퍼넌트 선택 화면에선 RubyGems가 필요하니 활성화 해주고, 설치경로 C:\Ruby 는 변경해도 무방하지만 왠만하면 그대로 간다.
image40_thumb image45_thumb

설치시간은 용량에 비해 제법 걸리는 편이다. 작은 파일이 많아서 그런 듯. 완료되면 ReleaseNotes.txt 가 열리는데 설치된 루비 컨텐츠와 그 버전이 표시 된다.
image51_thumb2

커맨드 라인에서 path를 입력 해보면, C:\Ruby\Bin 이 포함되어 있다. 이렇게 루비는 설치 완료.
image_thumb65

trac, jira 와 같은 프로젝트 관리 시스템으로 Ruby On Rails를 기반으로 작성되었다. 많은 부분이 trac 과 상당히 유사하고 기능도 trac과 유사하다. 하지만 trac 보다 더욱 사용자에게 친근한 UI와 한층 세련된 느낌. 레드마인 홈페이지(http://redmine.org)에 좀 둘러본 결과, 마이그레이션 작업의 수고스러움을 감수하고서라도 trac 에서 옮겨 탈만하다는 결론을 내리게 되었다.

레드마인의 주요기능

  • 여러개의 프로젝트 지원(트랙에선 사이트를 구분해야 가능하죠.)
  • 유연한 역할에 기반한 접근 통제(계정 권한 설정이 유연하단 뜻)
  • 유연한 이슈 트래킹 – 트랙과 매우 유사하고 좀더 편리합니다.
  • 간트차트와 달력을 지원합니다.
  • 뉴스, 문서, 파일관리 기본 지원
  • atom rss, email 알림기능
  • 프로젝트별 위키
  • 프로젝트별 포럼(게시판)
  • 변경이력(트랙의 시간이력)
  • 이슈, 타임엔트리?, 프로젝트, 사용자를 위한 커스텀 필드를 지원
  • 버전관리 시스템 연동 (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
  • 이메일을 통해 이슈를 만들수 있다.
  • 다중 LDAP 인증을 지원
  • 사용자 스스로 계정을 등록 할 수 있게 함
  • 다언어 지원
  • 다언어 데이터베이스 지원
  1. 김기원 2010.01.14 09:06

    Redmine을 현장에 적용하려고 검색하다 보니 가장 깔끔하게 정리하셔서
    참고가 많이 되었습니다.
    Redmine에 관련한 노하우나 Tip 정도를 지속적으로 관리하기 위해서
    제 블로그에 주인장님의 글과 비슷한 성격으로 올릴려고 합니다.
    그리고 참고된 사항은 주소를 꼭 남길것입니다.
    미리 양해를 구하지 못하고 댓글만 남겨서 죄송합니다.
    혹시 문제가 된다면 말씀해주시면 비공개로 전환 시키겠습니다.
    게시글의 위치는 http://blog.naver.com/PostList.nhn?blogId=xyz37&categoryNo=65 입니다.

  2. yjacket 2010.03.08 17:18 신고

    깔끔하게 봐주셔서 감사합니다.^^
    문제가 될 건 전혀~ 없구요,
    좋은 기사 많이 부탁드려요~ ^^

  3. 장현주 2010.05.07 09:19

    좋은 게시물 감사합니다.
    저희쪽도 이번 프로젝트에 사용해볼려고 설치중인데 주인장님 게시물덕에 손쉽게 설치가 되었네요.
    퍼가도 되는건지....ㅎㅎㅎ 염치 불구하고 카페에 퍼 나르겠습니다.

    http://cafe.naver.com/jokerx04/937

  4. 웨우영원 2011.01.03 10:21

    저도 이번에 입사한 회사가 레드마인 쓰길래 검색하다 들어왓어요~ 제 블로그에 도 링크와 주요기능 내용 추가했습니다.^^ 정말 정리 잘 하셧네요!

  5. 붕대마음 2011.07.20 13:43 신고

    안녕하세요.
    덕분에 좋은글 잘보고 갑니다.
    이번에 한번 사용해 보려고 뒤져보던중 이곳에서 많은 도움 받네요. ^^

  6. 짤방친구 2013.03.18 03:13

    정말 감사합니다.
    하지만 지금은 너무 많은 시간이 지난 포스팅이네요.
    여기 포스팅을 읽고 시도해봤지만 버전업이 되면서 많은 것이 바뀐것 같습니다.
    소중한 포스팅이지만 이제 버전업에 의해 수정을 하셔야 할 것같습니다. ㅠㅠ (그래도 감사하게 봤습니다.)
    여기에 그나마 최신의 뉴스가 있습니다.
    설치가 더욱 쉬워졌습니다.
    링크 걸겠습니다.
    고마워요!
    http://blog.daum.net/sincere520/38

  7. yjacket 2013.03.20 21:42 신고

    bitnami 가 여전히 버전업해주고 있네요!
    레드마인외에도 여러가지 괜찮은 stack 이 많더라구요, 저도 기회되면 써보고 싶습니다^^
    그러고보니 이 포스팅을 한지도 벌써 햇수로 4년전이네요.
    새삼 세월이 빠르단걸 느끼게 해주셔서 감사합니다. ㅠㅠ

+ Recent posts