삽질하는플머

우분투 서버에 Redmine 설치

이런저런잡다구리/LinuxHeaven
우분투에 redmine 설치하기. 
10.04 LTS, LAMP,  OpenSSH 까지 설치한 상태

우분투 설치 마무리

# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get dist-upgrade



재부팅 후 빌드도구 및 unzip, zlib, openssl 헤더 설치

# sudo apt-get install build-essential unzip zlib1g-dev libssl-dev



덤으로 phpMyAdmin도 설치

# sudo apt-get install phpmyadmin



루비 빌드. 레드마인은 루비 1.8.x 버전을 써야 한다. 

# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p334.zip 
# unzip ruby-1.8.7-p334.zip

# cd ruby-1.8.7-p334
# ./configure
# make
# sudo make install



설치 확인

# ruby --version
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-linux]



루비 zlib 설치. (꼭 필요한지는 확인 못함.) 

# sudo apt-get install libzlib-ruby



rubygem 1.3.6 설치. 레드마인은 gem 1.5 이상에서 오류발생함. 업데이트 자제요!

# wget http://rubyforge.org/frs/download.php/69366/rubygems-1.3.6.zip
-->> 막힘. 이걸로. 
#  wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.6.tgz
# unzip rubygems-1.3.6.zip
# cd rubygems-1.3.6/
# sudo ruby ./setup.rb
# gem --version
1.3.6



레일즈를 비롯한 루비 젬 설치. 도큐멘트 없이 깔자. (이 작업은 몇 분 걸림..)

# sudo gem install rails -v 2.3.5 --no-ri --no-rdoc
# sudo gem install rack -v 1.0.1 --no-ri --no-rdoc
# sudo gem install ruby-mysql --no-ri --no-rdoc <== 이거 오류남. 2.9.3-beta 를 설치할 것. 추가 #2 참고.

 

레드마인 작업 디렉토리 만들고 0.9.5 받아 압축 해제. 

# sudo mkdir /ruby-apps
# cd /ruby-apps
# sudo wget http://rubyforge.org/frs/download.php/71421/redmine-0.9.5.tar.gz
# sudo tar -xzvf redmine-0.9.5.tar.gz

# sudo ln -s redmine-0.9.5 redmine



mysql에 redmine 이라는 데이터베이스 생성. 

CREATE DATABASE `redmine` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;



레드마인 설정하기. 

# cd redmine/config/
# cp database.yml.example database.yml



 database.yml 파일 수정

......
production:
  adapter: mysql
  database: redmine
  host: localhost
  username: root <- 여기에 사용자
  password: 1234 <- 여기에 암호
  encoding: utf8
......



mysql.sock 연결해두기. 

# sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock



또는 database.yml 의 adapter 밑에 다음 줄 추가. 

production:
  adapter: mysql
  socket: /var/run/mysqld/mysqld.sock


(참고 : http://hervalicio.us/blog/2007/07/07/no-such-file-or-directory-tmpmysqlsock/)

 
레드마인 설정. 

# cd .. (레드마인 디렉토리로 이동)
# RAILS_ENV=production rake generate_session_store
# RAILS_ENV=production rake db:migrate
# RAILS_ENV=production rake redmine:load_default_data  <== 언어는 ko를 입력한다 
# RAILS_ENV=production rake config/initializers/session_store.rb


 
레드마인 구동

# ruby script/server webrick -e production
( 이 때 -d를 붙여 ruby script/server webrick -d -e production 라고 하면 디태치된다. )
( 데몬구동 스크립트 만들기 귀찮아서 그냥 screen 을 써서 사용할 예정임 )



이제 3000번 포트로 접속해보면 레드마인이 나타남. 초기 로그인은 admin/admin

http://my-ubuntu:3000



형상관리 연동을 위해 subversion, git 설치

# sudo apt-get install subversion git-core




레드마인 설정에서 저장소 인코딩값에 UTF-8,EUC-KR 을 넣어주면 한글주석도 제대로 표시된다. 



플러그인 설정. 먼저 울트라바이올렛 하이라이터. 
http://www.redmine.org/plugins/redmine_ultraviolet

레드마인에 내장된 CodeRay도 있기는 하지만... 파스칼 코드가 별로다. 


먼저 울트라바이올렛을 깔고

sudo apt-get install libonig-dev
sudo gem install ultraviolet



설치는 다음과 같이

script/plugin install git://github.com/epitron/redmine_ultraviolet.git



위 과정을 통해 redmine_ultraviolet 디렉토리가 vendor/plugins/ 로 복사된다. 

레드마인 재구동하면 계정정보에 Ultraviolet Theme 가 나타남. 

근데 도대체 어케 활성화 시키는거야~!!

--->> 저장소의 소스보기가 영향받는다. 





 

추가 #1
NAS에 이미 운용중인 레드마인 DB를 사용하려면?? 일단 NAS의 mysql 을 다른 계정으로 접속할 수 있도록 해준다. 
database.yml 을 적당히 편집, host, username, password 를 NAS의 해당 정보로 변경한다. 

로컬 네트웍의 NAS 이름을 못찾네... 아이피를 고정하기 어려운 상황이라... /etc/hosts 에 적당히 추가. 
 재구동하면 기존 운용중인 정보를 그대로 사용 가능. 

로컬네트워크상의 컴퓨터를 이름으로 검색하는 방법
http://oranke.tistory.com/172 





추가 #2
NAS에서는 잘 동작하는데... 상위 프로젝트에서 작업내역 볼 때 오류가 나오네. 

http://www.redmine.org/issues/5693 참고. mysql 드라이버를 재설정하자. 

# sudo gem uninstall ruby-mysql

# sudo apt-get install libdbd-mysql-ruby1.8

# wget https://github.com/downloads/tmtm/ruby-mysql/ruby-mysql-2.9.3-beta.tar.gz --no-check-certificate
-->> 잘 안되면 이렇게
# curl -O https://github.com/downloads/tmtm/ruby-mysql/ruby-mysql-2.9.3-beta.tar.gz
# tar -xzf ruby-mysql-2.9.3-beta.tar.gz
# cd ruby-mysql-2.9.3-beta/
# sudo ruby setup.rb

 




 
2011.5.25

1.1.3 으로 업그레이드. 
참조 : http://www.redmine.org/projects/redmine/wiki/RedmineUpgrade

먼저 기존 DB의 백업. 

# /usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%y_%m_%d`.gz



1.0 이상의 레드마인은 i18n 0.4.2 가 필요하다. 설치하자. 

# sudo gem install i18n -v 0.4.2



/ruby-apps 로 이동, 최신 버전을 받아 압축 해제. 

# cd /ruby-apps

# sudo wget http://rubyforge.org/frs/download.php/74722/redmine-1.1.3.tar.gz
# sudo tar -xzf redmine-1.1.3.tar.gz
# cd redmine-1.1.3



기존 사용중인 files/ 디렉토리 내용과 database.yml 복사. 

# cp ../redmine/files/* ./files/
# cp ../redmine/config/database.yml ./config/ 



플러그인도 복사. 위에서 설치한 울트라 바이올렛만...

# cp ../redmine/vendor/plugins/redmine_ultraviolet ./vendor/plugins/ -r



레드마인 설정
 

# RAILS_ENV=production rake config/initializers/session_store.rb



위의 명령이 안먹히면 이렇게... 

# RAILS_ENV=production rake generate_session_store



데이터베이스 업그레이드

# RAILS_ENV=production rake db:migrate



플러그인도 깔아줬으니 이것도..

# RAILS_ENV=production rake db:migrate:upgrade_plugin_migrations
# RAILS_ENV=production rake db:migrate_plugins



클린업 후 재구동. 

# rake tmp:cache:clear
# rake tmp:sessions:clear



일단 포트를 변경해 3001 에서 테스트. 

# ruby script/server -e production -p 3001


잘 되는군. 
 
기존 심볼릭 링크 제거하고 새로 만들자. 

# cd ..
# sudo rm redmine
# sudo sudo ln -s redmine-1.1.3 redmine




추가 #3

MySQL 의 Interactive_timeout 문제로 인해 8시간 이상 방치한 레드마인이 더이상 동작하지 않는 문제가 있다. 
하지만 이 값을 늘려주는 것은 그다지 좋지 않은 방법인듯 하다. DB연결이 끊기기 전에 레드마인이 재구동되는 것이 나을 듯. 

레드마인이 올라앉은 WEBrick 서버가 데몬모드로 동작할 때 pgrep 을 써서 이 녀석의 PID를 얻어 정지시키는 방법 

http://www.alecjacobson.com/weblog/?p=28
 

위 내용응 응용, 적절한 스크립트를 작성하고 crontab 으로 돌려주는 편이 좋겠다. 

/ruby-apps/redmine/restart.sh  

#!/bin/sh
# 레드마인 재구동

# 기존 동작중인 레드마인 죽이고
REDMINE=`pgrep ruby`
kill -KILL $REDMINE

# 데몬모드로 재구동
ruby /ruby-apps/redmine/script/server webrick -d -e production

#재구동 로그 남김
echo "Redmine restart at :"  `date` >> /ruby-apps/redmine/restart.log



/ect/crontab 을 관리자 권한으로 수정. 다음 내용을 적어넣는다. 

...

# 토, 일요일 6시간 단위
0 */6   * * 6,7   user     /ruby-apps/redmine/restart.sh > /dev/null 2>&1
# 평일 새벽 5시, 저녁 11 재구동
0  5,23   * * 1-5   user     /ruby-apps/redmine/restart.sh > /dev/null 2>&1
 

좀 무식해 보이기는 하지만... 일단 넘어가자. 





 

추가 #4 

하위 프로젝트를 만들었을 때 일감에 대한 gantt 차트를 출력하면 최상위에서만 제대로 보이는 문제가 보임. 
"redmine gantt subproject" 로 검색. 패치가 있다. 
http://www.redmine.org/issues/6476

다운로드 후 패치 진행

# wget  http://www.redmine.org/attachments/download/5281/gantt_filters.patch
# mv gantt_filters.patch /ruby-apps/redmine
# cd /ruby-apps/redmine 
# patch -p0 < gantt_filters.patch 



패치하면 잘 동작한다. 


 
 

추가 #5
14.04 에서 루비 1.8.7 설치
http://n3rve.com/how-to-install-ruby-1-8-rubygems-on-ubuntu-14-04