2009/09/21

윈도우에서 redmine + mongrel + apache (Load Balance) 설정하기

프로젝트 관리 프로그램인 redmine 에 대해서 이것 저것 테스트 해 보다가 실제 적용을 하기 위해 마지막 테스트를 하였다. 기존 XAMPP 기반에서 redmine 을 함께 서비스 하기로 하였고 그에 따른 방법을 찾아 보았다.

우선 redmine 을 서브 폴더(http://localhost:3000/redmine )로 접근 하도록 설치를 하려면 config/environment.rb 파일 맨 마지막에 아래의 코드를 추가 해 주어야 한다.
ActionController::AbstractRequest.relative_url_root = "/redmine" 


하지만 rails 2.3.x 에서 서브 폴더로 설치하면 접근을 할 수 없는 버그가 있다고 한다. 그러한 내용을 모르고서 작업을 하며 엄청난 삽질을 하다가 결국엔 다른 방법을 찾았다.

rails를 설치할 때 아래와 같은 명령으로  2.2.2 버전을 설치하였다.
gem install rails -v 2.2.2 --inlucde-dependencies -y



redmine을 최근 소스를 받을 경우 rails 를 2.3.4 버전을 사용해야 하기 때문에 0.8.5 버전으로 설치 한다.
Redmine - Windows XP 에서 수동 설치하기

그리고 redmine 의 config/environment.rb 파일에 아래의 코드를 추가 하였다.
ActionController::AbstractRequest.relative_url_root = "/redmine" 



Load Balancing 을 하기 위해 mongrel 을 이용하여 두 개의 서버스를 등록하였다.
mongrel_rails service::install -N redmine1 -D redmine1 -p 3001 -n 1024 -c C:\Dev
edmine -e production --prefix=/redmine

mongrel_rails service::install -N redmine2 -D redmine2 -p 3002 -n 1024 -c C:\Dev
edmine -e production --prefix=/redmine



net start redmine1

net start redmine2



서비스가 정상적으로 실행 되었는지 확인하기 위해서는 http://localhost:3001/redmine 과 http://localhost:3002/redmine 으로 접속하여 redmine 의 초기 화면이 출력되는지 확인 하면 된다.

이제 Apache와의 연결만이 남아 있다. 연결을 위한 코드는 매우 간단하다.
ProxyPass /redmine balancer://redminecluster

ProxyPassReverse /redmine balancer://redminecluster



<Proxy balancer://redminecluster>

BalancerMember http://127.0.0.1:3001/redmine

BalancerMember http://127.0.0.1:3002/redmine

</Proxy>



위의 코드를 Apache의 httpd.conf 파일의 마지막에 첨부 하던지 새 파일을 만들어서 Include 를 시켜주고 Apache 를 재 시작 해주면 된다.
브라우저로 http://localhost/redmine 로 접속을 하여 redmine 화면이 나오면 성공한 것이다.

마지막으로 시스템이 재 부팅 되었을 경우 redmine1 과 redmine2 가 자동으로 실행되게 하기 위해서 아래의 명령을 도스 창에서 수행한다.
sc config redmine1 start= auto depend= MySQL

sc config redmine2 start= auto depend= MySQL


위의 코드는 redmine1 과 redmine2 가 MySQL 서비스가 시작 된 후 자동으로 시작되도록 하는 명령이다.<

Original Post : http://neodreamer-dev.tistory.com/327

No comments :

Post a Comment