예전 글에서 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들을 다 여기에 집어넣어두고,
하나하나 실행하면서 진행... |
실토하자면, 올 초에 해킨토시化 됐던 T42를 팔아버리고 맥북을 샀습니다.
키노트에서 화면만 안 뭉개졌으면 어찌저찌 더 썼을지도 모르는데 CI/QE 지원이 제대로 되지 않는게 결정적이었죠.
레오파드로만 잘 써오다가 회사에서 인터넷이 안되는 관계로 패러럴즈 + 와이브로 를 이용하기 위해 사소한 삽질을 했습니다. 뭐 잘 될까 걱정하시는 분들이 계시다면 지금까지는 별 문제 없다고 말씀드릴 수 있겠습니다.
와이브로 쓰고 싶은 맥 유저 분들은
1. 공짜 + 선물까지 나눠주는 와이브로 이벤트에 참여해서 아답터를 받습니다.
- 저는 U1000을 쓰고 있습니다.
2. 맥북에 패러럴즈 최신 버전을 설치합니다. 뭐 가능하면 최신버전이 좋겠죠.
- Parallels Desktop 3.0 for Mac (build 5582) 와 Windows XP SP2을 썼습니다.
3. KT Wibro 사이트 >> 고객지원 >> 다운로드에서 최신 드라이버와 연결 프로그램을 다운 받습니다.
4. 패러럴즈 바탕화면에 복사하고 실행할 경우 정상적으로 실행되지 않아 USB -> C 드라이브에 복사 후 실행 했습니다.
5. 맥북에 와이브로 아답터 꼽고 설치 진행...
6. 맥북의 네트웍을 꺼버리고 (Turn Airport Off) 와이브로 연결 프로그램을 통해 연결 합니다.
저는 확인 못했지만, 패러럴즈 와이브로 연결을 통해 레오파드에서도 인터넷을 쓸 수 있다고 합니다.
- 끝 -
'mac' 카테고리의 다른 글
| 오랜만에... 맥 관련 포스팅 - 패러럴즈에서 와이브로 쓰기 (0) | 2008/02/08 |
|---|---|
| 스프링노트 - 예리한데... (2) | 2007/05/05 |
| MacJournal에서 Tistory로 포스팅 하기 (1) | 2007/05/01 |
| 해킨토시가 된 T42 - 오리지널맥은 아니지만, 키감만은 쫀득쫀득 (0) | 2007/04/29 |
누가 얘기하기를 스프링노트는 센스있게 사용자의 컴퓨터를 보고 "이 PC에 항상 로그인" 또는 "이 Mac에 항상 로그인" 이라고 뿌려준다는데, 보다싶이 사파리로 브라우징을 하고 있음에도 불구하고 "이 PC에 항상 로그인"이라고 뜬다.
우띠 짝퉁 맥 - 일명 해킨토시 쓰는거 눈치 챈겨냐? 그냥 속아주면 안되겠니?
패킷모니터링이라도 해서 도대체 어떻게 눈치챘는지 궁금하지만, 뭐 알아도 소용없지.
그래도 완소 내 해킨토시는 "블랙카리스마 Thinkpad T42" ㅋㅋ
'mac' 카테고리의 다른 글
| 오랜만에... 맥 관련 포스팅 - 패러럴즈에서 와이브로 쓰기 (0) | 2008/02/08 |
|---|---|
| 스프링노트 - 예리한데... (2) | 2007/05/05 |
| MacJournal에서 Tistory로 포스팅 하기 (1) | 2007/05/01 |
| 해킨토시가 된 T42 - 오리지널맥은 아니지만, 키감만은 쫀득쫀득 (0) | 2007/04/29 |
오늘은 Mac에서 글 쓰기 좋은 프로그램으로 손 꼽히는 MacJournal을 깔아서 이것저것 써보고 있습니다.
글을 쓰면 당연히 로컬 뿐만 아니라 블로그에도 올려야 할텐데 지원하는군요.
티스토리는 blogger v1, metaWeblog, MovableType(mt) Blog API 를 지원합니다.
me2day 때도 유용하게 썼는데, 표준이라는게 참 좋네요^^;
1. 환경설정 - 기타설정
2. 기타 설정 하단에 보면 다음과 같은 설정을 할 수 있습니다.
BlogAPI 사용을 체크하시고 BlogAPI 세팅주소와 BlogAPI Blog ID 값을 기억합니다.
3. MacJournal에서 다음과 같은 메뉴를 선택합니다.
- 최초 세팅이 안됐을때는 메뉴명이 다를 수 있습니다.
4. 세팅은 다음과 같습니다.
- Type : MetaWeblog
- URL : 자신의 블로그 주소 (예-http://twiny.tistory.com)
- Post URL : BlogAPI 주소 (예-http://twiny.tistory.com/api)
- User : Tattertools 로그인 이메일 주소
- Blog ID : BlogAPI Blog ID 값을 넣어줍니다. (티스토리 설정 화면에 숫자값)
이러면 세팅 끝이고 패스워드를 물어보게 됩니다.
위에 보시는 바와 같이 친절하게 분류도 읽어 오는군요.
이젠 뭐 새삼스럽지도 않지만 우리는 Web as Application 시대에 살고 있었군요^^
'mac' 카테고리의 다른 글
| 오랜만에... 맥 관련 포스팅 - 패러럴즈에서 와이브로 쓰기 (0) | 2008/02/08 |
|---|---|
| 스프링노트 - 예리한데... (2) | 2007/05/05 |
| MacJournal에서 Tistory로 포스팅 하기 (1) | 2007/05/01 |
| 해킨토시가 된 T42 - 오리지널맥은 아니지만, 키감만은 쫀득쫀득 (0) | 2007/04/29 |
다시 빛을 발하게 됐습니다.
일명 "해킨토시". 오리지널맥과 비할바는 아니지만 키감만은 역시 발군.
무선랜이 안잡혀 USB무선랜 추가로 질러주시고, 내장 그래픽(모빌리티 9600)은 CI/QE 가 미지원 상태입니다. 이것만 됐으면 키노트로 프레젠테이션까지 할 수 있는데... 아쉽네요
Mac OS X을 띄운 상태로 사진 한장 찍어야하지만, 귀찮은 김에 예전 사진으로 대체합니다.
아, Mac OS X에서는 캡쳐가 기본 지원이군요
Shift + Command + 4 를 누르고 영역선택하면 바탕화면에 이미지로 저장.
'mac' 카테고리의 다른 글
| 오랜만에... 맥 관련 포스팅 - 패러럴즈에서 와이브로 쓰기 (0) | 2008/02/08 |
|---|---|
| 스프링노트 - 예리한데... (2) | 2007/05/05 |
| MacJournal에서 Tistory로 포스팅 하기 (1) | 2007/05/01 |
| 해킨토시가 된 T42 - 오리지널맥은 아니지만, 키감만은 쫀득쫀득 (0) | 2007/04/29 |





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