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 기준으로 설치를 했다.

$ sudo apt-get install build-essential ruby1.9.1 ruby1.9.1-dev irb1.9.1 rdoc1.9.1 libdbd-pg-ruby1.9.1 zlib1g-dev libpcre3-dev libopenssl-ruby1.9.1 libzlib-ruby libssl-dev libcurl4-openssl-dev libpq-dev libreadline-gplv2-dev libjpeg62-dev libpng12-dev


 

04. RubyGems 설치하기


      - 홈페이지를 통해 최신 버전의 다운로드 경로를 확인하자.
      - http://rubygems.org/

 

$ wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz
$ tar zxvf ./rubygems-1.8.24.tgz
$ cd rubygems-1.8.24/
$ sudo ruby setup.rb



05. PostgreSQL 설치 + Git


      - database와 git을 설치하자.

$ sudo apt-get install postgresql


     - 사실 정확히 1.4.4 버전을 다운로드 받기 위해서는 git 설치는 필요없다.
     - 최신 버전을 다운로드 받고 싶은 경우에만 아래 포스팅을 참조해서 설치하면 된다.
     - http://whatwant.tistory.com/289


06. ImageMagick


     - rmagick 설치하기

$ sudo apt-get install librmagick-ruby libmagickwand-dev
$ sudo gem install rmagick



07. Rails, i18n, rack, fastthread, postgres, pg 설치하기


      - 기타 필요한 것들을 설치해보자.

$ sudo gem install -v=2.3.14 rails
$ 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

$ wget http://rubyforge.org/frs/download.php/76249/passenger-3.0.13.tar.gz
$ tar zxvf ./passenger-3.0.13.tar.gz
$ cd ./passenger-3.0.13/
$ sudo ./bin/passenger-install-nginx-module

 

설치과정 중 나오는 화면에서는 [Enter] 와 [1]을 계속 선택하면 된다.

 

     - 부팅 時 실행을 위해서 스크립트 파일을 만들어야 한다

  

$ sudo nano /etc/init.d/nginx

 

#!/bin/sh

### 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 chmod +x /etc/init.d/nginx
$ sudo update-rc.d -f nginx defaults



09. redmine 다운로드


     - 그동안 준비하느라 수고가 많았다.
     - 이제 본격적으로 redmine을 다운로드 받아서 설치를 해보자.
 

$ wget https://github.com/redmine/redmine/tarball/1.4.4 -O ./redmine-1.4.4.tar.gz


     - redmine의 계정과 경로를 정리해보자.

$ cd /srv/www/redmine.whatwant.com/
$ 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을 위해 계정도 생성해주고 데이터베이스도 생성해주자

$ sudo su - postgres
$ psql

 

# CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'redmine' NOINHERIT VALID UNTIL 'infinity';
# CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
# \q


     - 위와 같이 하면 redmine 계정의 password가 redmine이 되어야 하는데, 문제가 있는 경우,

# alter user redmine with password 'redmine';


     - 위와 같이 특정 계정의 패스워드를 변경할 수도 있다.


11. database 설정값 등록


      - database 설정을 하자.

$ cd /srv/www/redmine.whatwant.com/redmine
$ sudo nano ./config/database.yml

  

production:
        adapter: postgresql
        database: redmine
        host: localhost
        username: redmine
        password: redmine
        encoding: utf8
        schema_search_path: public


     - 위 파일을 편집할 때 앞의 공백은 스페이스바로 띄워야 한다. Tab을 사용하면 에러 발생

$ sudo chown redmine.redmine ./config/database.yml
$ sudo chmod 600 ./config/database.yml

 
     - 추가로 몇 가지 작업을 더 해야한다. (sqlite3를 사용하지는 않는데, 의존성 때문에 필요하다)

$ sudo apt-get install sqlite3 libsqlite3-dev
$ 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 설정

      - 이제  권한을 정리해보자.


$ cd /srv/www/redmine.whatwant.com/redmine/
$ sudo chmod -R 755 files/ log/ tmp/

 

 

13. nginx conf

 

      - 웹서비스를 위한 환경 설정을 하자.

  

$ sudo nano /opt/nginx/conf/nginx.conf

  

user redmine;

...

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를 시작하자.

$ sudo /etc/init.d/nginx start

 

     - 로컬에서라면 "localhost"로, 아니라면, 설치한 PC의 IP로 접속을 하면 된다.
     - 잊었을까봐 또 다시 언급을 하면... 관리자 초기 계정은 'admin / admin' 이다.

 

헥헥~ 너무 힘들다.
그래도 Redmine 초기화면이 떴을 때의 그 기쁨은~!!!

반응형

+ Recent posts