사용자 도구


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 파일 수정

<IfModule mod_passenger.c>
    PassengerDefaultUser www-data    // 이 부분 추가
    PassengerRoot /usr
    PassengerRuby /usr/bin/ruby
</IfModule>

호스트 설정

/etc/apache2/sites-available/default 수정 (또는 /etc/apache2/sites-enabled/apache2.sample.conf)

<Directory "/var/www/redmine">
        AllowOverride All
        RailsBaseURI /redmine
        PassengerResolveSymlinksInDocumentRoot on
</Directory>

passenger 모듈 활성화

$ sudo a2enmod passenger

apache 재시작

$ sudo service apache2 restart

실행

접속

http://(웹서버 IP)/redmine

ID : admin
PW : admin 으로 로그인 한다.

이메일 설정

이메일 설정을 하면 일감 등록/편집을 할 때마다 메일이 오게끔 설정할 수 있다. 다음 페이지를 참고하여 설정한다.

우분투에서는 /etc/redmine/default/configuration.yml 파일을 만들어 필요한 내용을 입력하면 된다.

저장소 설정

git의 경우 다음 링크를 참조한다.

요약하면 다음과 같다

  1. (레드마인 기준) 로컬에 git을 설치한다
  2. 로컬에 repository를 clone하여 외부 repository를 가져오거나 init한 후 외부에서 이쪽으로 push 한다
  3. crontab 등을 이용하여 정기적으로 동기화한다
  4. 레드마인의 저장소 설정에 로컬의 repository 경로를 입력한다
  5. repository 내의 파일, 폴더의 소유자를 git:www-data로 지정하고 그룹 읽기 권한을 부여한다
  6. git 계정의 그룹을 www-data로 지정한다 (usermod -g www-data git)

단, gitolite를 설치한 경우에는 기본 umask 값이 0077이다. 그러므로 외부에서 push를 할 때마다 변경된 내용은 0700 권한으로 생성된다. 1) 그렇게 되면 레드마인이 변경된 내용을 볼 수 없기 때문에 0750 권한으로 생성되게끔 변경해 주어야 한다. 이를 위해 다음의 작업을 한다.

  • $HOME/.gitolite.rc 파일을 연다 (숨김 파일)
  • $REPO_UMASK의 값을 0027로 변경한다

플러그인

레드마인 2.x 버전에서는 redmine 루트 폴더에 plugins 폴더를 만들고 그 아래에 플러그인을 복사해두면 된다. 그 후 다음 명령을 실행한다.

$ rake redmine:plugins:migrate RAILS_ENV=production

1.x 버전의 경우에는 다음 링크를 참고한다.

문제 해결

https SVN 저장소 연결 오류

레드마인에서 https 주소로 된 SVN 저장소(특히 visual svn) 연결 정보를 입력하고 저장소 페이지를 가보면 404 오류가 뜬다. /var/log/redmine의 에러 로그를 살펴 보면 No close tag for /lists/list … 등의 메시지를 확인할 수 있다. 태그가 안닫혔다는 메시지인데 이는 대부분 인증서와 관련된 오류이다. 해결 방법은 다음과 같다.

현재 설치된 libneon 제거

$ sudo apt-get remove libneon27

최신 libneon 패키지 다운

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 옵션 추가하여 인증서가 해당 폴더에 저장되도록 한다.

참고

우분투 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를 이용하여 해결 가능하다.2)

$ apt-get install ruby-mysql2

그 후 /etc/redmine/default/database.yml 파일에서 adapter: mysql 부분을 adapter: mysql2로 바꾼다.

링크