====== Redmine ======
프로젝트 관리를 위한 도구
===== 설치 =====
==== Passenger 아파치 모듈 설치 ====
$ sudo apt-get install libapache2-mod-passenger
==== 최신 redmine 설치 ====
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:ondrej/redmine
$ sudo apt-get update
$ sudo apt-get install redmine redmine-mysql
설치 후 경로는 **/usr/share/redmine** 와 **/etc/redmine** 이다.
==== 심볼릭 링크 설정 ====
$ sudo ln -s /usr/share/redmine/public /var/www/redmine
==== passenger가 아파치의 실행권한인 www-data로 작동하도록 설정을 변경 ====
/etc/apache2/mods-available/passenger.conf 파일 수정
PassengerDefaultUser www-data // 이 부분 추가
PassengerRoot /usr
PassengerRuby /usr/bin/ruby
==== 호스트 설정 ====
/etc/apache2/sites-available/default 수정
(또는 /etc/apache2/sites-enabled/apache2.sample.conf)
AllowOverride All
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
==== passenger 모듈 활성화 ====
$ sudo a2enmod passenger
==== apache 재시작 ====
$ sudo service apache2 restart
===== 실행 =====
==== 접속 ====
[[http://(웹서버 IP)/redmine]]\\
\\
ID : admin\\
PW : admin 으로 로그인 한다.\\
===== 이메일 설정 =====
이메일 설정을 하면 일감 등록/편집을 할 때마다 메일이 오게끔 설정할 수 있다. 다음 페이지를 참고하여 설정한다.
* [[http://www.redmine.org/projects/redmine/wiki/EmailConfiguration|Email Configuration]]
우분투에서는 /etc/redmine/default/configuration.yml 파일을 만들어 필요한 내용을 입력하면 된다.
===== 저장소 설정 =====
git의 경우 다음 링크를 참조한다.
* [[http://whatwant.tistory.com/450|Redmine - git repository 연결하기]]
요약하면 다음과 같다
- (레드마인 기준) 로컬에 git을 설치한다
- 로컬에 repository를 clone하여 외부 repository를 가져오거나 init한 후 외부에서 이쪽으로 push 한다
- crontab 등을 이용하여 정기적으로 동기화한다
- 레드마인의 저장소 설정에 로컬의 repository 경로를 입력한다
- repository 내의 파일, 폴더의 소유자를 git:www-data로 지정하고 그룹 읽기 권한을 부여한다
- git 계정의 그룹을 www-data로 지정한다 (''usermod -g www-data git'')
단, gitolite를 설치한 경우에는 기본 umask 값이 0077이다. 그러므로 외부에서 push를 할 때마다 변경된 내용은 0700 권한으로 생성된다. ((http://gitolite.com/gitolite/g2/rc.html)) 그렇게 되면 레드마인이 변경된 내용을 볼 수 없기 때문에 0750 권한으로 생성되게끔 변경해 주어야 한다. 이를 위해 다음의 작업을 한다.
* %%$%%HOME/.gitolite.rc 파일을 연다 (숨김 파일)
* %%$%%REPO_UMASK의 값을 0027로 변경한다
===== 플러그인 =====
레드마인 2.x 버전에서는 redmine 루트 폴더에 plugins 폴더를 만들고 그 아래에 플러그인을 복사해두면 된다. 그 후 다음 명령을 실행한다.
$ rake redmine:plugins:migrate RAILS_ENV=production
1.x 버전의 경우에는 다음 링크를 참고한다.
* http://www.redmine.org/projects/redmine/wiki/Plugins
===== 문제 해결 =====
==== https SVN 저장소 연결 오류 ====
레드마인에서 https 주소로 된 SVN 저장소(특히 visual svn) 연결 정보를 입력하고 저장소 페이지를 가보면 404 오류가 뜬다. /var/log/redmine의 에러 로그를 살펴 보면 No close tag for /lists/list ... 등의 메시지를 확인할 수 있다. 태그가 안닫혔다는 메시지인데 이는 대부분 인증서와 관련된 오류이다. 해결 방법은 다음과 같다.
=== 현재 설치된 libneon 제거 ===
$ sudo apt-get remove libneon27
=== 최신 libneon 패키지 다운 ===
사이트 : [[http://packages.debian.org/squeeze/libneon27]]\\
=== libneon 패키지 설치 ===
$ sudo apt-get install libssl0.9.8 // libssl dependency
$ dpkg -i libneon27_0.29.3-3_amd64.deb
=== libneon 심볼릭 링크 변경 ===
$ sudo mv /usr/lib/libneon-gnutls.so.27 /usr/lib/libneon-gnutls.so.27.old
$ sudo ln -s /usr/lib/libneon.so.27 /usr/lib/libneon-gnutls.so.27
=== svn 설정 파일을 저장할 폴더 생성 ===
$ sudo mkdir /usr/share/redmine/svn
$ sudo chown www-data:www-data /usr/share/redmine/svn
이 쪽에 svn 인증 관련 파일이 저장되는 것 같다. Redmine에서 svn 실행 시 www-data 권한으로 실행되므로 svn 폴더 소유자를 www-data로 바꾸었다.
=== Redmine의 subversion 관련 설정 수정 ===
/usr/share/redmine/lib/redmine/scm/adapters/subversion_adapter.rb 수정
...
def credentials_string
str = ''
str << " --username #{shell_quote(@login)}" unless @login.blank?
str << " --password #{shell_quote(@password)}" unless @login.blank? || @password.blank?
str << " --trust-server-cert --no-auth-cache --non-interactive --config-dir /usr/share/redmine/svn" // --trust-server-cert, --config-dir /usr/share/redmine/svn 추가
str
end
...
=== subversion 명령 실행 후 인증 ===
$ sudo -u www-data svn list --xml 'svn+ssh://svn.server.address/reponame'@HEAD --config-dir /usr/share/redmine/svn
인증서 처리 여부 묻는 질문에 p 입력(인증서 영구 저장) 반드시 마지막에 --config-dir 옵션 추가하여 인증서가 해당 폴더에 저장되도록 한다.
=== 참고 ===
* [[http://nyaha.net/48|레드마인 https SVN 저장소 연결 오류]]
* [[http://www.redmine.org/projects/redmine/wiki/Error_parsing_svn_output|Error parsing svn output]]
* [[http://blog.naver.com/PostView.nhn?blogId=xyz37&logNo=50083633170&categoryNo=65&viewDate=¤tPage=1&listtype=0|저장소 관련 오류 해결]]
==== 우분투 14.04에서 레드마인 설치 후 접속 시 에러 ====
다음 과정을 더 진행해 본다.
* 의존성 있는 Gem 설치 및 설정
$ gem install bundler fastercsv
$ gedit /usr/share/redmine/Gemfile
마지막에 새로운 줄을 추가하고 아래 내용을 입력한다.
gem 'fastercsv'
* 파일 권한 설정
$ touch /usr/share/redmine/Gemfile.lock
$ chown www-data:www-data /usr/share/redmine/Gemfile.lock
chown -R www-data:www-data /var/www/redmine
==== 우분투서버 14.04에서 레드마인 설치 과정 중 에러 ====
정확한 해결 방법은 찾지 못했다. gem install과 관련된 에러 메시지가 출력되었는데 어떻게 해결할지 몰랐었다. 검색해보니 /usr/share/redmine 폴더의 Gemfile 내용을 바꾸라는 등의 조언이 있었으나 모두 실패. ''apt-get dist-upgrade'' 명령 후 ''apt-get --purge remove redmine'' 명령으로 redmine 지우고, 지워지지 않은 /usr/share/redmine 폴더를 지웠더니 그 이후엔 제대로 설치가 되었다. 아마 ''apt-get dist-upgrade'' 명령을 내리지 않아도 되었을듯.
==== 새 일감 만든 후 internal error ====
로그를 확인하였을 때 ''redmine incompatible character encodings utf-8 and ascii-8bit'' 메시지가 떴다면 인코딩과 관련된 오류이다. ruby-mysql2를 이용하여 해결 가능하다.((http://stackoverflow.com/questions/23287112/incompatible-character-encodings-utf-8-and-ascii-8bit-on-some-redmine-pages))
$ apt-get install ruby-mysql2
그 후 ''/etc/redmine/default/database.yml'' 파일에서 ''adapter: mysql'' 부분을 ''adapter: mysql2''로 바꾼다.
===== 링크 =====
* [[http://opentutorials.org/course/438/2436|리눅스에서 (Redmine) 설치]]
* [[http://blog.naver.com/chrisjihee?Redirect=Log&logNo=110187576081|우분투(Ubuntu) 12.04에 레드마인(Redmine) 설치하기]]