2012년 9월 12일 수요일

Redmine 1.4.x with Oracle Linux 6

Oracle Linux 에서 Redmine 1.4 stable 버젼 설치를 하는 방법입니다. 최대한 RPM 등을 이용합니다.



1. Public YUM 설치

오라클의 공개 yum 저장소인 public yum(http://public-yum.oracle.com)을 사용하도록 설정. 구입했을 경우 Unbreakable Linux Network 의 자원을 이용할 수 있으므로 무시할 수 있음.
Oracle DBMS 을 설치할 때 oracle-validated 라는 것을 public yum 을 통해 설치 가능하므로 알아두는 것이 이롭겠다.

아래 명령으로 저장소를 추가할 수 있고, Oracle Linux 에는 기본적으로 포함되어 있다.

cd /etc/yum.repos.d
wget http://public-yum.oracle.com/public-yum-ol6.repo





2. 3rd Party 저장소 추가 (옵션)

기본 제공 YUM 저장소에는 충분한 패키지가 포함되어 있지 않다. 3rd Party YUM Repository 을 통해서 더 많은 패키지를 사용할 수 있다.

아래의 명령어로 저장소의 우선순위를 정해줄 수 있는 플러그인을 설치한다.

yum install yum-plugin-priorities

설치 후 저장소 설정 파일에 아래와 같은 형식으로 수치를 넣어서 우선순위를 정할 수 있다. N 대신에 숫자를 넣는데, 숫자가 클수록 후순위다. EPEL, repoforge 와 같은 3rd Party 저장소는 10 이상으로 하자.

priority=N






3. Subversion, MySQL, ImageMagick, Ruby, Gem, Rake, Rails 설치

아래 명령으로 MySQL 와 gcc, Ruby, Ruby Gem, Rake 등 의존성 있는 패키지까지 함께 설치한다.

yum install subversion, mysql mysql-devel ImageMagick ImageMagick-devel ruby ruby-devel rubygems rubygem-rake gcc

그 후 rails 와 ruby-mysql2 을 gem 으로 설치한다.

gem install rails mysql2 bundler rmagick

MySQL 은 항상 구동되어야 하므로 서비스에 등록하고 실행한다.

chkconfig mysqld on
service mysqld start





4. MySQL 사용자와 DB 생성

MySQL 설치 후 아무런 보안정책이 적용되지 않은 상태이다. root 사용자의 비밀번호를 지정하고, 원격접속 등을 막기 위해 아래 명령을 실행한다.

/usr/bin/mysql_secure_installaion

그 후 아래 명령으로 MySQL 클라이언트로 로컬 DBMS 에 접속한다.

mysql -u root -p

접속 후아래 명령으로 MySQL 에 Redmine 을 위한 사용자와 DB 을 생성해준다.

create database redmine character set utf8;
create user 'redmine'@'localhost' identified by '(비밀번호)';
grant all privileges on redmine.* to 'redmine'@'localhost';

모두 적용한 뒤 quit 명령으로 빠져나온다.





5. Redmine 1.4 최신버젼 다운로드

아래 명령으로 /usr/local/redmine-1.4/ 에 Subversion 을 이용해서 최신버젼을 가져온다.

cd /usr/local/; svn co http://redmine.rubyforge.org/svn/branches/1.4-stable redmine-1.4

그 후 /usr/local/redmine-1.4/config/ 으로 이동해서 database.yml.example 파일을 database.yml 로 복사한 뒤 production 부분을 수정해준다.
username 와 password 만 수정하면 될 것이다.





6. DB 초기화

아래 명령으로 DB 을 초기화한다. 마지막 기초 데이터 로딩 시 ko 을 입력하여 한국어 기반으로 설치한다.

bundle install --without development test postgresql sqlite
rake generate_session_store
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data





7. 리눅스 디렉토리/파일 권한 변경

Redmine 설치 경로의 files/,log/, tmp/, public/plugin_assets/ 은 사용자를 root 에서 다른 사용자로 변경하고(redmine 사용자 혹은 apache httpd 사용자) 디렉토리 권한을 755 로 바꿔준다.





8. Ruby WEBrick 웹서버 테스트

아래 명령으로 Ruby 의 웹서버를 통해 실행한다. 3000 번 포트로 실행되며, 웹브라우져로 확인해본다. 기본 계정은 admin/admin 이다.

cd /usr/local/redmine-1.4/; ruby script/server webrick -e production




9. Apache HTTPD 연동

Apache HTTPD 와 연동하기 위해서는 Passenger 나 Mongrel(mongrel-cluster), Thin 로 연동해야 한다.

먼저 Apache HTTPD 설치를 위해 아래의 명령을 실행한다.

yum install httpd httpd-devel

Passenger 는 연동이 단순하다. 아래 명령으로 설치한 뒤, 화면 상의 메시지에 따라 HTTPD 의 설정 파일에 내용을 추가한다.

gem install passenger
passenger-install-apache2-module

Mongrel 은 Cluster 을 지원한다. 가장 파워풀한 설정이다. Mongrel 로 각각의 서버를 띄운 뒤 HTTPD 의 ProxyPass 을 이용해서 페이지를 띄우는 방식이다.
Thin 은 Ruby 서버를 띄워서 이를 연결하는 방식으로, Passenger 을 쓰는 것이 더 나아 보인다.