프로젝트 환경 구축을 위하여, CentOS기반에 Redmine(이슈관리툴)을 설치하고, SVN(형상관리툴[각주:1])을 연동한다.


Redmine 설치하기 위해 확인해본 결과, 현재 1.4.2 버젼과 2.0.0 버젼이 릴리즈 된 상태이다.

1.4.2 버젼같은 경우 Third-party로 Bitnami[각주:2]의 all-in-one 패키지가 제공된다.


초간단 설치는 바로 이 Bitnami 패키지를 이용해서 하면 된다.

이 패키지에는 Redmine설치에 필요한 의존/종속적인것들을 모두 포함하고 있다.(ex:ruby, rails, rubygems, mysql, svn)


이 문서에서는 1.4.2 버젼의 설치방법에 대해서는 따로 기술하지 않고, 2.0.0 버젼을 설치해나가는 과정을 기술한다.


설치하기전 간단히 Redmine 의 특징을 짚고 넘어가자.

- 다중 프로젝트를 지원

- 유연한 Role 기반의 접근 통제

- 유연한 이슈 관리 시스템

- Gantt 차트와 캘린더 제공

- 뉴스, 문서, 파일 관리 기능 제공

- 피드와 이메일을 통한 통보 기능 제공

- 프로젝트별 위키 제공

- 프로젝트별 포럼 제공

- 간단한 시간 추척 기능 제공

- 사용자 정의 필드, 이슈, 프로젝트, 사용자 정의 가능

- 형상관리 툴 연계 (SVN, CVS, Mercurial, Darcs)

- 다중 LDAP 인증 지원

- 사용자 가입 후, 자동 등록 기능 제공

- 국제화 지원

- 다중 데이터베이스 지원


특징은 위와 같으며 Bitnami 문서에서 참조하였다.


이제 본격적인 설치에 앞서 필요한 준비물(?)들을 알아보자.

Ruby - ruby 1.8.7, 1.9.2, 1.9.3, jruby-1.6.7

Rails - Rails 3.2.3

RubyGems - RubyGems <= 1.8

MySQL 5.0 이상

SVN


1. MySQL 설치 및 설정

- mysql 이 설치되어있다면 이 부분은 패스하시길..

- 현재 이 문서를 작성하는 시점에서 확인해보니 5.5 버젼까지 나온거 같은데..이 문서에서는 MySQL 5.0.x 버젼으로 진행

$ yum install mysql mysql-server mysql-devel

/* mysql-devel 설치 안되있을경우 반드시 설치해주는게 좋음. 설치하지 않을 경우 3번진행시 에러 발생할것임. mysql.h 을 찾을수 없다며.. */

MySQL 설정부분은 이 링크 참조 http://ceomk.tistory.com/23



2. SVN 설치

http://ceomk.tistory.com/60 문서 참조



3. Ruby 설치

- RVM(Ruby Version Manager)라는 녀석을 이용하여 설치하는 방법도 있으나 잘 되지 않아, 그냥 소스컴파일 방법으로 진행한다.

- ruby 1.9.3-p0


ruby를 설치하기전에 libyaml 을 설치하자. libyaml을 설치하지 않는다면

It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.


아래 설치진행중 위와 같은 메세지를 보게 될 것이다.


yaml 설치

$ wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz

$ tar xzvf yaml-0.1.4.tar.gz

$ cd yaml-0.1.4

$ ./configure --prefix=/usr/local

$ make

$ make install


ruby 설치

$ wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz

$ tar xzvf ruby-1.9.3-p0.tar.gz

$ cd ruby-1.9.3-p0

$ ./configure --prefix=/usr/local --enable-shared --disable-install-doc --with-opt-dir=/usr/local/lib

$ make

$ make install

$ ruby -v //설치확인



4. RubyGems 설치

- rubygems-1.8.24 설치

wget http://rubyforge.org/frs/download.php/76073/rubygems-1.8.24.tgz

$ tar xvfz rubygems-1.8.24.tgz

$ cd rubygems-1.8.24

$ ruby setup.rb

$ gem -v



5. Rails 설치

- rails 3.2.3

//$ gem update --system

$ gem install rake

$ gem install rails -v=3.2.3

$ gem list



6. RubyGems 의존성(dependencies)을 관리하는 Bundler 설치

$ gem install bundler

bundle install --without development test postgresql sqlite //해당 bundle은 제외한다는것..본인 환경에 맞춰 설치

/* bundle 설치시 에러나는것들이 있는데... --without 옵션에 추가해서 제외시켜서 설치하자. 추후에 필요할 경우 gem install 명령어로 설치 */



7. Remine 을 위한 DB 셋팅

mysql> create database redmine character set utf8;

mysql> create user 'redmine'@'localhost' identified by 'my_password';

mysql> grant all privileges on redmine.* to 'redmine'@'localhost';

mysql> flush privileges;



8. Redmine 설치 및 설정

- redmine 2.0.0

$ adduser remine

$ passwd my_password

$ cd /home/redmine //나는 이 경로에 설치하였다. 경로는 편할대로..


$ wget http://rubyforge.org/frs/download.php/76134/redmine-2.0.0.tar.gz

$ tar xvfz redmine-2.0.0.tar.gz

/** config/database.yml.example 을 database.yml 으로 복사한후, production 부분을 수정한다. */

$ cd redmine-2.0.0/config

$ cp database.yml.example database.yml

$ vim database.yml


-------------------------------------------------------------

production:

  adapter: mysql2 //ruby1.8은 mysql, 1.9는 mysql2

  database: redmine

  host: localhost

  //port: 3307 --다른 포트번호를 쓸 경우..

  username: redmine

  password: my_password

-------------------------------------------------------------


// Generate a session store secret.

rake generate_secret_token


// Create the database structure, by running the following command under the application root directory:

/*

 * ! mysql adpter ~ 에러 발생시 database.yml 파일의 adapter 설정을 확인

 * ! mysql2 가 없다면..$ gem install mysql2

 * -----------------------------------------------------------

 * !!!!! ssl 관련 WARNING 발생 할 경우...

 * -----------------------------------------------------------

 * 1. ruby install directory로 이동 (ruby-1.9.3-p0)

 * 2. $ cd ext/openssl/

 * 3. $ ruby extconf.rb

 * 4. $ make

 * 5. $ make install

 * -----------------------------------------------------------

 */

$ RAILS_ENV=production rake db:migrate


// Insert default configuration data in database, by running the following command:

// 언어 선택하라고 나오면..ko 입력

RAILS_ENV=production rake redmine:load_default_data


// Setting up permissions

$ mkdir my_redmine_path public/plugin_assets

$ chown -R redmine:redmine files log tmp public/plugin_assets

$ chmod -R 755 files log tmp public/plugin_assets


/**

 * ! `require': cannot load such file -- openssl (LoadError) 과 같은 에러가 발생할 경우..

 * 윗 부분 주석의 [ssl 관련 WARNING 발생 할 경우] 를 참조

 *

 * ! Mysql2::Error: Table 'redmine.settings' doesn't exist: SHOW FULL FIELDS FROM `settings` 에러 발생시..

 * db구성이 안된것임..

 * $ RAILS_ENV=production rake db:migrate 부분과 RAILS_ENV=production rake redmine:load_default_data 부분을 확인

 */

ruby script/rails server webrick -e production


여기까지 잘 되었다면, 웹브라우져에서 http://ip:3000 번으로 접속해서 확인해보자. (초기 로딩이 좀 느림)

초기 로그인 정보는 admin/admin 이다.

로그인하여 info 라는 메뉴를 들어가보면 아래와 같은 화면을 보게 될 것이다.


그런데..redmine 의 문서 내용을 살펴보면..


Note : Webric 은 Ruby library 를 지원하는 Http web server이다. 하지만 일반적으로 사용하기에는 적합하지 않다.

테스트 및 개발용도로만 사용하고(그 외 사용은 추천하지 않음),

passenger 를 사용하거나 mongrel 라는 서버를 이용하라.


와 같은 내용이 있다.


그래서, 나는 passenger를 이용하여 apache와 연동해보겠다.



9. Passenger + Apache 연동

$ gem install passenger

passenger-install-apache2-module //연동에 필요한 모듈중 설치되지 않은 모듈과 설치 명령어까지 상세하게 알려줌

$ yum install httpd-devel //필요한 모듈 설치

passenger-install-apache2-module //재실행


// 설치가 완료되면 apache에 아래와 같이 module 설정과 virtual host를 설정하라고 친절하게 내용까지 알려준다. 굳


------------------------------------------------------------------------------------------------------------------------

Please edit your Apache configuration file, and add these lines:


   LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.12/ext/apache2/mod_passenger.so

   PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.12

   PassengerRuby /usr/local/bin/ruby


------------------------------------------------------------------------------------------------------------------------


Suppose you have a Rails application in /somewhere. Add a virtual host to your

Apache configuration file and set its DocumentRoot to /somewhere/public:


   <VirtualHost *:80>

      ServerName www.yourhost.com

      # !!! Be sure to point DocumentRoot to 'public'!

      DocumentRoot /somewhere/public    

      <Directory /somewhere/public>

         # This relaxes Apache security settings.

         AllowOverride all

         # MultiViews must be turned off.

         Options -MultiViews

      </Directory>

   </VirtualHost>

------------------------------------------------------------------------------------------------------------------------


$ vim /etc/httpd/conf/httpd.conf //위내용을 본인의 환경에 맞게 입력하고 저장, 경로는 apache 설치 경로에 따라 상이할 수 있다.

$ service httpd start




참고문서

http://www.redmine.org/projects/redmine/wiki/RedmineInstall

http://collectiveidea.com/blog/archives/2011/10/31/install-ruby-193-with-libyaml-on-centos/

http://sharpwork.pe.kr/bbs/board.php?folder=&bo_table=linux&page=1&bbs_id=3031


  1. SCM(Software configuration management, 소프트웨어 형상 관리) [본문으로]
  2. <a href="http://bitnami.org/ko/stack/redmine">http://bitnami.org/ko/stack/redmine</a> [본문으로]
Posted by 붉은고래