Redmine v1.3.2 설치에 대해서 예전에 포스팅을 했었다.
- http://whatwant.tistory.com/364
오늘 개인적으로 만들고 있는 오래된 Mac-Mini 홈서버 만들기 놀이를 하던 중
Redmine을 설치하려고 하다보니 Redmine의 버전이 많이 올라서 업데이트를 해보기로 하였다.
기본적인 설치 과정은 위의 예전 포스팅을 참조하길 바란다.
01. 버전 확인하기
- 2012.07.14 현재 Redmine의 최신 버전은 [ v1.4.4 ] 이다.
- http://www.redmine.org/projects/redmine/wiki/Download
- v2.x.x 버전은 plugin 호환성이 아직은 많이 떨어지기에 다음 기회에 살펴보겠다.
02. Ruby & Ruby on Rails & Rack 호환 버전 확인하기
- 가장 어려운 Ruby 형제들 버전 호환성 맞추기
Redmine | Supported Ruby | Required Rails | Supported Rack | Supported RubyGems |
1.4.x | ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7 | Rails 2.3.14 | ? | RubyGems <= 1.8 |
03. 기본 패키지 + Ruby 설치하기
- 현재 1.9.3 버전대는 좀 이상해서 (개인적인 문제일 수도 있다. Mac-Mini가 PowerPC 인 관계로...)
- 1.9.1 기준으로 설치를 했다.
04. RubyGems 설치하기
- 홈페이지를 통해 최신 버전의 다운로드 경로를 확인하자.
- http://rubygems.org/
$ tar zxvf ./rubygems-1.8.24.tgz
$ cd rubygems-1.8.24/
$ sudo ruby setup.rb
05. PostgreSQL 설치 + Git
- database와 git을 설치하자.
- 사실 정확히 1.4.4 버전을 다운로드 받기 위해서는 git 설치는 필요없다.
- 최신 버전을 다운로드 받고 싶은 경우에만 아래 포스팅을 참조해서 설치하면 된다.
- http://whatwant.tistory.com/289
06. ImageMagick
- rmagick 설치하기
$ sudo gem install rmagick
07. Rails, i18n, rack, fastthread, postgres, pg 설치하기
- 기타 필요한 것들을 설치해보자.
$ sudo gem install -v=0.4.2 i18n
$ sudo gem install fastthread
$ sudo gem install postgres
$ sudo gem install bundler
08. passenger (nginx) 설치
- Redmine의 웹서비스 제공을 위한 passenger의 최신 버전을 확인하자.
- http://rubyforge.org/projects/passenger
$ tar zxvf ./passenger-3.0.13.tar.gz
$ cd ./passenger-3.0.13/
$ sudo ./bin/passenger-install-nginx-module
- 부팅 時 실행을 위해서 스크립트 파일을 만들어야 한다
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO
PATH=/opt/nginx/sbin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/opt/nginx/sbin/nginx
NAME=nginx
DESC=nginx
test -x $DAEMON || exit 0
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid --exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /opt/nginx/logs/$NAME.pid --exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0
$ sudo update-rc.d -f nginx defaults
09. redmine 다운로드
- 그동안 준비하느라 수고가 많았다.
- 이제 본격적으로 redmine을 다운로드 받아서 설치를 해보자.
- redmine의 계정과 경로를 정리해보자.
$ ln -s /srv/install/redmine/redmine-redmine-3cde1f6 ./redmine
$ sudo adduser redmine
$ sudo chown -R redmine.redmine ./*
$ cd ./redmine
$ sudo chown -R redmine.redmine ./*
10. postgresql 설정하기
- redmine을 위해 계정도 생성해주고 데이터베이스도 생성해주자
$ psql
# CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
# \q
- 위와 같이 하면 redmine 계정의 password가 redmine이 되어야 하는데, 문제가 있는 경우,
- 위와 같이 특정 계정의 패스워드를 변경할 수도 있다.
11. database 설정값 등록
- database 설정을 하자.
$ sudo nano ./config/database.yml
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: redmine
encoding: utf8
schema_search_path: public
- 위 파일을 편집할 때 앞의 공백은 스페이스바로 띄워야 한다. Tab을 사용하면 에러 발생
$ sudo chmod 600 ./config/database.yml
- 추가로 몇 가지 작업을 더 해야한다. (sqlite3를 사용하지는 않는데, 의존성 때문에 필요하다)
$ sudo bundle install --without development test mysql sqlite3
$ sudo RAILS_ENV=production rake config/initializers/session_store.rb
$ sudo RAILS_ENV=production rake db:migrate
$ sudo RAILS_ENV=production rake redmine:load_default_data
→ ko
12. redmine 설정
- 이제 권한을 정리해보자.
$ sudo chmod -R 755 files/ log/ tmp/
13. nginx conf
- 웹서비스를 위한 환경 설정을 하자.
...
http {
passenger_root /srv/install/redmine/passenger/passenger-3.0.11;
passenger_ruby /usr/bin/ruby1.8;
...
#location / {
# root html;
# index index.html index.htm;
#}
access_log /srv/www/redmine.whatwant.com/redmine/log/access.log;
error_log /srv/www/redmine.whatwant.com/redmine/log/error.log;
passenger_enabled on;
root /srv/www/redmine.whatwant.com/redmine/public;
location ~* \.(ico|jpg|gif|png|css|js|swf|html)$ {
if (-f $request_filename) {
expires max;
break;
}
}
- 이젠 nginx를 시작하자.
- 로컬에서라면 "localhost"로, 아니라면, 설치한 PC의 IP로 접속을 하면 된다.
- 잊었을까봐 또 다시 언급을 하면... 관리자 초기 계정은 'admin / admin' 이다.
헥헥~ 너무 힘들다.
그래도 Redmine 초기화면이 떴을 때의 그 기쁨은~!!!
'Development Tools > Redmine' 카테고리의 다른 글
Ubuntu apt-get repository proxy (0) | 2012.07.21 |
---|---|
Redmine - git repository 연결하기 (1) | 2012.07.21 |
Eclipse에서 Task 관리하기 - Mylyn Overview (4) | 2012.06.16 |
Redmine plugin - Redmine-Scrumbler (애자일 스크럼) (0) | 2012.05.16 |
Redmine Error - Internal Error (2) | 2012.04.23 |