예전 글에서 BitNami Redmine 좋다고 좀 흥분했는데... ㅎㅎ 테스트 용도로는 충분하지만 실제로 서비스 하려면 결국 이것저것 손을 봐야합니다.
다행히도 서비스 등록, 시작/정지 등등... 기본 세팅이 충실히 되 있어서 한결 편하게 세팅할 수 있다는 장점은 여전합니다.^^;
한글 환경에서 Redmine을 서비스하기 위해서는 크게 MySQL을 UTF-8로 변신시키기, Redmine 최신 소스 일부 손보기 정도가 있습니다.
1. MySQL UTF-8로 변신시키기
BitNami에서 깔아주는 MySQL은 latin1으로 셋팅됩니다. 웹에서 잘 보여지고 잘 저장되지만 나중에 분명 골치아픈 문제가 생길 것이기 때문에 애초에 제대로 세팅을 해보겠습니다.
- \BitNami Redmine Stack\mysql\my.ini를 열어서 아래 내용을 추가/수정 합니다.
[client]
default-character-set=utf8[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci[mysql]
default-character-set=utf8
- MySQL 서비스를 새로 시작하고 ( 실행 창에서 services.msc 치고 redmineMySQL을 중지/시작 하면 빠릅니다.) 콘솔로 로그인해서 서버 설정 상태를 확인 합니다.
c:\program files\BitNami Redmine Stack\mysql\bin\mysql -uroot -p
Enter password: ***********
mysql> show variables like 'c%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
| concurrent_insert | ON |
| connect_timeout | 5 |
+--------------------------+----------------------------+
12 rows in set (0.00 sec)
이렇게 utf8이 잔뜩 나오면 제대로 된겁니다. ^^
- redmine_production DB 새로 생성
mysql> drop database redmine_production;
mysql> CREATE DATABASE redmine_production DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
이제 MySQL과 DB는 준비가 됐습니다.
2. 이왕 건들기 시작한거 redmine도 최신 소스로 가져와서 붙여보기
우선 서비스를 모두 내리고, 기존 redmine 폴더는 redmine_old로 바꿔줍니다.
- redmine 저장소에서 최신 개발소스 가져오기
c:\program files\BitNami Redmine Stack\svn export http://redmine.rubyforge.org/svn/trunk redmine
기존 redmine_old 폴더에서 database.yml와 scripts 폴더를 복사해 옵니다.
C:\Program Files\BitNami Redmine Stack\redmine\config\database.yml을 열어서 아래와 같이...production:
adapter: mysql
database: redmine_production
host: localhost
username: root
password: root_paddword
encoding: utf8
3. 빈 redmine_production 채워넣기
- Ruby on Rails에는 db:migrate가 있죠
- 당연히 이 작업을 하기 전에 MySQL이 실행되고 있어야합니다.
C:\Program Files\BitNami Redmine Stack\redmine\rake db:migrate RAILS_ENV="production"
4. redmine 각종 기본데이터 넣어주기
4. 기존 redmine_old폴더에 scripts 폴더만 새로 만들어진 redmine 폴더로 옮깁니다.
(서비스 시작과 관련한 스크립트들이 들어있어요. 이거 안해주면 사이트가 안뜨고 503 에러 납니다. )
5. http://localhost 로 접근해서 redmine 사이트가 잘 뜨면 성공! 로그인은 admin / admin으로 하시면 됩니다.
* 0.7.X 버전부터 한글 파일 업로드/다운로드 문제가 해결됐습니다.
아래 내용은 참고 정도로만...
이제 드뎌 한글 파일 업로드 / 다운로드가 되도록 수정을 해보겠습니다.
아래 내용은 한글 Windows XP SP2 환경하에서만 확인됐습니다. 아마도 UTF-8 이 잘 지원되는 Mac이나 Linux에서는 그냥 잘 될 수도 있습니다.
1. redmine은 파일 업로드 관련 코드는 모두 attachment 모델에 들어있습니다.
인터넷을 검색해본 결과 UTF-8에서 EUC-KR로 변환하면 윈도우에서 파일 읽고/쓰기가 가능하다고 해서 아래와 같이 수정했습니다.
- C:\Program Files\BitNami Redmine Stack\redmine\app\models\attachment.rb 수정 (Bold가 추가/수정되는 내용입니다.)
require "digest/md5"
require "iconv"
# Copy temp file to its final location
def before_save
if @temp_file && (@temp_file.size > 0)
logger.debug("saving '#{self.diskfile}'")
logger.debug("saving '#{euc_kr_diskfile}'")
File.open(euc_kr_diskfile, "wb") do |f|
f.write(@temp_file.read)
end
self.digest = Digest::MD5.hexdigest(File.read(euc_kr_diskfile))
end
# Don't save the content type if it's longer than the authorized length
if self.content_type && self.content_type.length > 255
self.content_type = nil
end
end
# Returns file's location on disk
def diskfile
"#{@@storage_path}/#{disk_filename}"
end# 한글 파일추가 되는 메소드
def euc_kr_diskfile
"#{@@storage_path}/#{Iconv.new('EUC-KR','UTF-8').iconv(disk_filename)}"
end
- 이제 다운로드도 잘 되게 해야겠지요.
Notepad++이나 editplus 같은 에디터 등에서 파일 찾기로 diskfile 메소드를 쓰는 모든 파일을 찾아봅니다.
현재 redmine 버전은 총 3개의 컨트롤러에서 해당 메소드를 호출하고 있습니다.
C:\Program Files\BitNami Redmine Stack\redmine\app\controllers\attachments_controller.rb
C:\Program Files\BitNami Redmine Stack\redmine\app\controllers\documents_controller.rb
C:\Program Files\BitNami Redmine Stack\redmine\app\controllers\versions_controller.rb
해당 파일에서
send_file @attachment.diskfile, :filename => filename_for_content_disposition(@attachment.filename)... 로 되있는 부분을
send_file @attachment.euc_kr_diskfile, :filename => filename_for_content_disposition(@attachment.filename) 로 바꿔주시면 됩니다.
- 끝 -
'Agile Game Project > Pragmatic tools' 카테고리의 다른 글
| 우분투(ubuntu)에 루비(ruby), 루비온레일즈 (ruby on rails)설치하기 (0) | 2008/08/13 |
|---|---|
| 아주 얇은 아파치 이야기 - VirtualHost 와 모니터링 (0) | 2008/06/20 |
| Redmine - 한글과 관련된 문제와 해결책 (5) | 2008/02/14 |
| Redmine - 기타. 네이버를 이용한 E-Mail 통지 (Notification) 셋업 (2) | 2008/02/12 |
| Redmine - 2.2 Subversion 연동하기 (Apache 이용) (0) | 2008/02/02 |
| Redmine - 2.1 Subversion 연동하기 (svn protocol 이용) (0) | 2008/02/01 |
|
프로젝트 관리 툴인 redmine 과
소스코드 매니지먼트 시스템= 형상관리시스템 (SCM) 의 일종인 subversion 을 깔려고 했다.
redmine 은 특정 프로젝트를 구현하는데 도움을 주는 관리 툴.
어떤 개발이나 유지보수 프로젝트를 수행한다 하면,
일단 설계를 끝내고,
구현해야 할 기능들을 뽑아낸 후에,
일정에 맞춰서 구현을 할때,
각종 구현해야 할 task들을 다 여기에 집어넣어두고,
하나하나 실행하면서 진행... |
각종 프로젝트 변경사항을 편하게 이메일로 받아볼 수 있도록 셋업해보겠습니다.
Redmine이 설치된 PC에 IIS가 설치되있다면 그냥 SMTP 서비스를 돌리면 되겠지만,
물론 ActionMailer 설정은 아래와 같이... IIS SMTP Mail Queue에 쌓인 메일을 열어보니 수신자 정보가 없습니다. 왜 안되는건지
# SMTP server configuration
config.action_mailer.smtp_settings = {
:address => "127.0.0.1",
:port => 25,
:domain => "somenet.foo",
:authentication => :plain
}
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
저 같은 경우는 네이버 SMTP를 이용하고 있습니다.
- 그렇습니다. 저는 자랑스런 네이버 "으뜸사용자" 입니다. ㅎㅎ
Redmine도 Ruby on Rails 애플리케이션이니까 당연히 다음의 경로에 설정 파일이 있습니다.
\Bitnami Redmine Stack\redmine\config\environment.rb
설정파일을 쭈욱 따라가다 보면 다음과 같은 부분이 있습니다.
위의 설정 부분을 적절히 하시고 꼭 config.action_mailer.perform_deliveries 값을 true로 바꿔주세요.
- 끝 -
'Agile Game Project > Pragmatic tools' 카테고리의 다른 글
| 아주 얇은 아파치 이야기 - VirtualHost 와 모니터링 (0) | 2008/06/20 |
|---|---|
| Redmine - 한글과 관련된 문제와 해결책 (5) | 2008/02/14 |
| Redmine - 기타. 네이버를 이용한 E-Mail 통지 (Notification) 셋업 (2) | 2008/02/12 |
| Redmine - 2.2 Subversion 연동하기 (Apache 이용) (0) | 2008/02/02 |
| Redmine - 2.1 Subversion 연동하기 (svn protocol 이용) (0) | 2008/02/01 |
| Redmine - 1. 기본 설치 (0) | 2008/02/01 |
저번 글에 이어 이제 Subversion을 Apache와 연동하는 방법을 설명하겠습니다.
구글링을 해보면 Apache 2.2.X와 Subversion 1.4.5는 연동이 안된다고 합니다. 저도 버전 안올리고 BitNami Redmine 설치된 상태로 시도해봤는데 안되더군요.
서브버전 다운로드 페이지를 열어보니 (http://subversion.tigris.org/project_packages.html ) 새 버전이 나왔군요. 혹시나 하고 찾아들어갔더니 Subversion 1.4.6 Win32 binaries for Apache 2.2.x. 라는 다운로드 링크가 있습니다.
이제 기존에 깔린 Subversion 1.4.5 버전을 Subversion 1.4.6 버전으로 무사히 바꾸는 일만 남았습니다.
1. Redmine 서비스를 모두 멈춥니다
2. \BitNami Redmine Stack\subversion 을 subversion 1.4.5로 이름을 바꿔줍니다.
3. 다운받은 Subversion 1.4.6을 \BitNami Redmine Stack\subversion에 압축해제 합니다.
4. \Bitnami Redmine Stack\subversion 1.4.5\scripts 폴더를 \Bitnami Redmine Stak\subversion 으로 복사합니다.
5. \Bitnami Redmine Stack\subversion\bin\에 있는 mod_authz_svn.so, mod_dav_svn.so 파일을 \Bitnami Redmine Stack\Apache\modules로 복사합니다.
6. Apache basic authentication을 이용해 Subversion 인증을 처리할 것이기 때문에
\Bitnami Redmine Stack\SvnRepo 폴더에서 htpasswd 명령을 이용해 admin 계정을 세팅 합니다.
일단 파일이 만들어진 다음부터는 htpass -m 파라미터만 붙여주면 됩니다.
7. \BitNami Redmine Stack\Apache2\conf\httpd.conf 파일을 열고 맨 밑에 다음과 같이 추가합니다.
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<VirtualHost *:88>
<Location /svn>
DAV svn
SVNParentPath "C:/Program Files/BitNami Redmine Stack/SvnRepo"
AuthName "Subversion repository"
AuthType Basic
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
AuthUserFile "C:/Program Files/BitNami Redmine Stack/SvnRepo/svn.htpasswd"
</Location>
</VirtualHost>
앞으로 http://localhost:88/svn/ 로 들어오면 subversion에 접속이 됩니다.
8. Redmine에서는 다음과 같이 하시면 됩니다.
- 끝
'Agile Game Project > Pragmatic tools' 카테고리의 다른 글
| Redmine - 한글과 관련된 문제와 해결책 (5) | 2008/02/14 |
|---|---|
| Redmine - 기타. 네이버를 이용한 E-Mail 통지 (Notification) 셋업 (2) | 2008/02/12 |
| Redmine - 2.2 Subversion 연동하기 (Apache 이용) (0) | 2008/02/02 |
| Redmine - 2.1 Subversion 연동하기 (svn protocol 이용) (0) | 2008/02/01 |
| Redmine - 1. 기본 설치 (0) | 2008/02/01 |
| BitNami - open source installer (0) | 2008/02/01 |
more..
설치 잘 하셨죠?
별 문제없이 대략 한시간 안에 설치 마치고 이것저것 써보면서 Redmine의 매력에 푹 빠졌을텐데요. 이제부터 조금 복잡합니다. -.-;
원래 주는데로 쓰면 괜찮은데 뭐를 바꾸기 시작하면 그때부터 고생이 시작되죠.
그 처음으로 Subversion 연동을 시작해보겠습니다.
BitNami Redmine Stack은 크게
Apache 2.2.4
Ruby 1.8.6
Rails 2.0.2
Subversion 1.4.5
MySQL 5.0.45
Redmine 0.6.3
으로 구성되 있습니다.
이 중 Apache 2.2.4와 Subverion 1.4.5는 서로 연동이 불가능한 버전이라고 합니다. 뭐 저도 잘 안됐는데 되신 분 있으면 댓글을...
Apache 연동을 하려면 이 글을 읽지 말고 Redmine - 2.2 Subversion 연동하기 ( http protocol 이용) 을 읽어주세요.
그럼 이제 시작해볼까요?
1. Subversion 클라이언트 설치
이미 깔려있으면 상관없고 없다면 Subverion 1.4.5와 잘 어울리는 TortoiseSVN 1.4.5 을 깔아주세요.
2. 서브버전 저장소 생성
저장소 하나 만들고 말게 아니기 때문에 BitNami Redmine Stack 폴더 밑으로 저장소의 부모 폴더를 만들어 줍니다.
\BitNami Redmine Stack\SvnRepo 폴더 생성
그 밑에 첫번째 서브버전 저장소를 만듭니다.\BitNami Redmine Stack\SvnRepo\Sample 폴더 생성
\BitNami Redmine Stack\SvnRepo\Sample 폴더로 이동해서 아래처럼 Create repository here 를 해주세요.
타이핑 좋아하시는 분은 \BitNami Redmine Stack\SvnRepo에서
svnadmin create --fs-type fsfs sample 라고 하시면 됩니다. (명령어 못 찾으면 Path에 추가하시거나 Full-Path 치세요. ㅎㅎ)
3. \BitNami Redmine Stack\SvnRepo\Sample\conf\passwd 파일을 열어서 계정 추가.
예) admin = 1234
4. \BitNami Redmine Stack\SvnRepo\Sample\conf\svnserve.conf 파일 열어서 아래 내용 주석 제거 ( #을 빼주시면 되요 )
anon-access = read
auth-access = write
password-db = passwd
5. 명령창에서 등록된 윈도우 서비스 중 redmineSubversion을 내립니다. ( 몰랐는데 sc 라는 명령어도 있네요)
\BitNami Redmine Stack\Subverion\scripts\serviceinstall.bat REMOVE
6. \BitNami Redmine Stack\Subverion\scripts\serviceinstall.bat 파일을 열어서 저장소 폴더 정보를 추가로 넣어줍니다. (port는 고치지마세요)
"C:\Program Files\BitNami Redmine Stack/subversion\scripts\winserv.exe" install redmineSubversion -displayname "redmineSubversion" -start auto "C:\Program Files\BitNami Redmine Stack/subversion\bin\svnserve.exe" -d --root "C:\Program Files\BitNami Redmine Stack\SvnRepo" --listen-port=3690
7. 다시 redmineSubverion 을 윈도우 서비스로 등록합니다.
\BitNami Redmine Stack\Subverion\scripts\serviceinstall.bat INSTALL
8. 이제 드디어 Redmine 설정을 합니다.
프로젝트를 하나 만들고 들어가서 설정 > 저장소 를 선택 후 다음과 같이 입력...
Login과 Password는 아까 passwd에 입력했던 값을 넣어주시면 되요.
9. 위의 모든 과정이 잘 됐으면 아래와 같은 화면을 보실 수 있습니다.
10. 저장소에서 한글 보여주기
좌측 상단 "관리자" 링크 또는 " Administrator" 링크를 누르고 설정 화면에서
Repositories encodings 값에 UTF-8,EUC-KR을 추가해주면 한글 내용을 볼 수 있습니다.
- 끝 -
'Agile Game Project > Pragmatic tools' 카테고리의 다른 글
| Redmine - 기타. 네이버를 이용한 E-Mail 통지 (Notification) 셋업 (2) | 2008/02/12 |
|---|---|
| Redmine - 2.2 Subversion 연동하기 (Apache 이용) (0) | 2008/02/02 |
| Redmine - 2.1 Subversion 연동하기 (svn protocol 이용) (0) | 2008/02/01 |
| Redmine - 1. 기본 설치 (0) | 2008/02/01 |
| BitNami - open source installer (0) | 2008/02/01 |
| 국내 애자일 방법론에 대한 OST 참가 (0) | 2007/09/26 |





이올린에 북마크하기
이올린에 추천하기