최신 버전의 Redmine을 한 번 사용해보고 싶어서 다시 한 번 도전을 해보련다.



01. Download & Checkout

     - 결과만 다운로드 받고 그래도 되지만, 최근 git에 꽂혀 있는 관계로 git clone 받아보려 한다.
     - 그리고, 2.1.0 tag로 checkout을 수행하면 된다.

$ git clone https://github.com/redmine/redmine.git
$ git checkout 2.1.0



02. 버전 맞추기

   - Rails 버전만 3.2.8로 신경쓰면 된다.

 Redmine  Supported Ruby  Required Rails  Supported Rack  Supported RubyGems
 2.1.0  ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7  Rails 3.2.8  ?  RubyGems <= 1.8



03. 기본 패키지 + Ruby 설치

   - 여전히 1.9.3 버전은 설치가 이상해서 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/ 사이트를 통해 최신 버전 확인 후 설치 진행하자.

$ cd /srv/install/rubygems/
$ 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 설치 및 설정

     - 개인적 취향이지만 객관적으로도 꽤 괜찮은 database를 설치하자.
     - 그리고 나서 사용할 계정과 데이터베이스를 만들자.

$ sudo apt-get install postgresql

$ sudo su - postgres
$ psql

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



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=3.2.8 rails
$ sudo gem install -v=0.4.2 i18n
$ sudo gem install fastthread
$ sudo gem install postgres
$ sudo gem install bundler



08. passenger (nginx) 설치

     - http://rubyforge.org/projects/passenger 홈페이지를 통해 최신 버전을 다운로드 받아 설치하자.

$ wget http://rubyforge.org/frs/download.php/76398/passenger-3.0.17.tar.gz
$ tar zxvf ./passenger-3.0.17.tar.gz
$ cd ./passenger-3.0.17/
$ 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 셋업

     - 앞에서 다운로드 받은 파일을 이용해서 셋업을 진행하자.

$ cd /srv/www
$ ln -s /srv/install/redmine ./redmine
$ sudo adduser redmine
$ sudo chown -R redmine.redmine ./*
$ cd ./redmine
$ sudo chown -R redmine.redmine ./*



10. database 설정값 등록

     - redmine의 database 설정을 하자.

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

 

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


     - 주의 사항으로는 위의 파일 내용을 입력할 때에 Tab 말고 White-Space로 입력해야 한다.

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




11. 추가 작업

     - 뭔가 또 해줘야 할 일들이 남았다.

$ cd /srv/www/redmine
$ sudo rake generate_secret_token
$ sudo RAILS_ENV=production rake db:migrate
$ sudo RAILS_ENV=production rake redmine:load_default_data
   → Select language [ko]
$ sudo mkdir tmp public/plugin_assets
$ sudo chown -R redmine:redmine files log tmp public/plugin_assets
$ sudo chmod -R 755 files log tmp public/plugin_assets



12. nginx

     - web으로 redmine을 보기 위해서 추가로 nginx 환경 설정을 하자.

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


user redmine;

...

http {
    passenger_root /srv/install/redmine/passenger/passenger-3.0.17;
    passenger_ruby /usr/bin/ruby1.9.1;

...

        #location / {
        #    root   html;
        #    index  index.html index.htm;
        #}

        access_log /srv/www/redmine/log/access.log;
        error_log /srv/www/redmine/log/error.log;

        passenger_enabled on;
        root /srv/www/redmine/public;

        location ~* \.(ico|jpg|gif|png|css|js|swf|html)$ {
           if (-f $request_filename) {
              expires max;
              break;
           }
        }

 

$ sudo /etc/init.d/nginx start




여기까지 진행하고 웹브라우저로 localhost에 접속을 하면 Redmine을 볼 수 있다.
초기 관리자는 admin/admin 이다.


앗싸~~~~~

반응형

+ Recent posts