1. redmine 2.4.x 를 설치하는 예제이며 DBMS 는 MySQL 5.5.x 사용

 

사전 준비 작업

  1. ruby 를 설치한다. phusion passenger 연계를 위해서는 epel repository 에 있는 ruby 를 설치하는게 편리하다.

    ruby 1.8.7 설치
    ## epel repository 설치
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    yum install ruby ruby-devel -y
  2. MySQL 5.5. 를 설치한다. (CentOS 6 에 yum 으로 MySQL 5.5 설치 참고) ruby용 mysql native driver 빌드를 위해서는 mysql55w-devel도 설치되야 한다.
  3. 형상관리 연계를 위해 SCM 을 설치한다. svn과 git 이외의 SCM을 사용한다면 추가로 더 설치해야 한다.

    yum install subversion git -y

    최신 버전을 설치하려면 다음 문서 참고(CentOS 6 에 subversion 1.7 이상 설치 및 설정하기RHEL/CentOS 6에 git 1.8 설치하기)

  4. 설치 과정중 ruby native extension 을 빌드해야 하니 compiler 를 설치한다.

    yum install gcc -y
  5. Gantt Chart 를 PNG 로 내보내려면 ImageMagick 을 설치한다. 

    yum install ImageMagick-devel -y
  6. OpenID 를 지원하려면 Ruby OpenID Library 를 설치한다. 
    1. 설치

      gem install ruby-openid
    2. 정상 설치 여부 확인 

      $ irb
      irb> require 'rubygems'
      => false
      irb> gem 'ruby-openid'
      => true

설치

redmine 설치

  1. 설치하려는 버전을 redmine 홈페이지에서 다운로드 (Ex: 2.4.5)

    wget http://www.redmine.org/releases/redmine-2.4.5.tar.gz
  2. 압축 해제 및 폴더 이동

    tar zxvf redmine-2.4.5.tar.gz
    cd redmine-2.4.5

DB 설정

 

  1. MySQL DB Schema 생성

    CREATE DATABASE redmine CHARACTER SET utf8;
    CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
    GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

Database 연결 설정

  1. cp config/database.yml.example config/database.yml
  2. production 항목에 driver 및 연결 정보 설정

    production:
      adapter: mysql2
      database: redmine
      host: localhost
      username: redmine
      password: my_password

Dependencies installation

root 로 실행

  1. gems 의존성 관리를 위해 Bundler 설치

    gem install bundler

redmine 계정으로 실행

  1. redmine 구동에 필요한 gems 설치

    bundle install --without development test --path vendor/bundle
  2. mysql55w-devel 이 설치되지 않으면 bundle install 이 실패한다.

    An error occurred while installing mysql2 (0.3.15), and Bundler cannot continue.
    Make sure that `gem install mysql2 -v '0.3.15'` succeeds before bundling.
  3. 다음과 같은 메시지가 나오고 실패했다면 ImageMagick 개발 패키지가 설치되지 않아서이다. 사전 작업의 5를 참고해서 설치하자.

    Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/rmagick-2.13.2 for inspection.
    Results logged to /usr/lib/ruby/gems/1.8/gems/rmagick-2.13.2/ext/RMagick/gem_make.out
    An error occurred while installing rmagick (2.13.2), and Bundler cannot continue.
    Make sure that `gem install rmagick -v '2.13.2'` succeeds before bundling.

Session store secret generation

Rails 가 cookie data 를 암호화하기 위해 사용하는 random key 생성

bundle exec rake generate_secret_token

Database schema objects creation

다음 명령어로 db schema 생성

RAILS_ENV=production bundle exec rake db:migrate

Database default data set

Issue type, Priority, Status 등 redmine 이 사용하는 기본 데이타 생성

RAILS_ENV=production bundle exec rake redmine:load_default_data

사용할 언어를 물어보면 ko 입력

File system permissions

redmine 을 구동하는 계정은 다음 폴더에 대해 쓰기 권한이 있어야 한다.

  1. files (storage of attachments)
  2. log (application log file production.log)
  3. tmp and tmp/pdf (create these ones if not present, used to generate PDF documents among other things)
  4. public/plugin_assets (assets of plugins)

 계정명이 redmine 이라면 다음 명령어 실행

mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R redmine:redmine files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets

Test the installation

제대로 설치되었는지 테스트하기 위해 rails 에 내장된 간단한 웹서버인 webrick 을 port 3000 번에 띄우고 브라우저로 연결해 본다.

ruby script/rails server webrick -e production -p 3000

redmine login

다음 계정으로 로그인후 암호를 변경한다.

admin/admin

설정

redmine 의 설정은 config/configuration.yml 에 저장된다. 설정 파일이 없으면 configuration.yml.example 를 config/configuration.yml 로 복사한다.

cp configuration.yml.example config/configuration.yml

email/SMTP 설정

redmine 에서 이슈 등록/변경/삭제등 이벤트 발생시 email 을 전송할 수 있게 사용하는 SMTP 서버 정보를 설정한다.

default:
  # Outgoing emails configuration (see examples above)
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: localhost
      port: 25

SCM 설정

사용하는 scm 의 cmd 가 표준이 아니거나 (svn, git 등) PATH 에 걸려 있지 않을 경우 해당 scm command 의 절대 경로를 설정한다. (Linux 에서는 불필요)

 

같이 보기

Ref