Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

소개

예전 부터 Trac를 써보려고 했지만, 왠지 손이 가지 않더군요. 첫번째 이유는 APM(:12)기반이 아닌 python(:12)기반이라는 점이였습니다. python을 쓰지 않거든요. 언어기반이 뭐가 중요하냐 ! 그냥 이슈관리 시스템만 잘 구축해서 사용하면 충분하지 않느냐 ?라고 하실 수 있을 것 같은데요.

이슈 관리 시스템은 특성상 문서 관리 시스템과 밀접하게 묶여 있습니다. Trac이 wiki기반으로 만들어진 이유죠. 그런데, 지금까지 제가 경험해본 바로는 wiki라는 것이 회사나 제품의 특성에 맞게 제대로 구축해서 사용하려면 상당히 많은 커스터마이징이 필요합니다. joinc 사이트를 오랜 시간 wiki기반으로 관리해오면서 경험으로 체득한 내용이죠. 지금 joinc 사이트는 moniwiki기반으로 돼 있는데, 워낙 많은 부분이 커스터마이징 돼서 원래 moniwiki와는 완전히 다른 위키가 되고 말았습니다.

moniwiki가 APM(:12)기반이라서 가능한 일이었죠. 개인적으로 PHP(:12)를 무척 즐겨 사용하거든요. 웹 프로그래밍은 생각없이 APM 기반으로 합니다. PHP로 프로그래밍계에 발을 들여 놓기도 했구요. 다른 몇몇 회사에서도 문서,소스 관리 시스템, QA시스템까지를 moni wiki로 구축해서 사용했습죠.

이러다보니 python 기반의 Trac에는 왠지 손이 가질 않더군요.

그냥 moniwiki 기반으로 직접 만들어서 사용하지 이런 마인드였습니다.

귀차니즘에 굴복

하지만 말이 쉽지 새로 만드는게 보통 힘든일이 아닙니다. 일단 그 귀차니즘을 극복할 방법이 없더군요. 예전에 cvs(:12) 기반으로 만든 경험이 있기는 하지만 음냐. 그래서 그냥 trac을 사용하기로 했습니다. wiki 시스템을 커스터마이징하기가 결단코 쉽지 않을 거란 생각이 들긴 하지만, 뭐 어찌 하다보면 되지 않겠습니까 ? 오오.. 이거 좋네..

svn 설치 및 기동

svn 설치는 SVN Tutorial에 설치돼 있으니 넘어가구요. 일단 저는 다음과 같은 svn 환경을 만들었습니다.
  • svn 저장소 위치 : /var/trac
  • 테스트를 위한 프로젝트 이름 : /var/trac/myproject
  • 실행 : svnserve -d -r /var/trac

trac 설치 및 svn 연동

trac 설치

trac를 설치할 운영체제(:12) 환경입니다.
  • Ubuntu Linux 10.04 LTS
apt-get으로 설치하면 됩니다.
# apt-get install trac

trac를 설치했습니다. 그럼 어떻게 운용 할 것인지에 대한 선택이 남아 있습니다. trac는 웹 기반의 이슈 관리 환경을 제공하는데요. apache와 함께 mod_python으로 기동하거나 trac 단독으로 기동하는 방식이 있습니다. apache와 함께 할 경우에, 별도의 포트를 할당할 필요 없이 잘 알려진 웹 포트로 서비스할 수 있다는 장점이 있는데요. 저는 그냥 trac 단독으로 운영하기로 했습니다.

trac 단독모드가 딱히 좋아서는 아니고, apache 설정이 귀찮아서 입니다. apache 설정은 왜 이리 귀찮은지요.

유저 관리

설치를 했으니, 유저 관리 방식을 정해줘야 겠죠. htpasswd를 이용한 방법과 htdigest를 이용한 방법 그외에 다른 방법이 있다고 하는데, 웹기반으로 갈거니 다른 방법은 생략. 둘 중 어느걸 할까 테스트 하다가 htdigest를 이용한 방법을 선택 했습니다. 이유는 htpasswd로 했더니 한번에 안되서. 전 일단 한번에 안되면, 포기합니다.

# htdigest -c joinc.htdigest trac yundream
joinc.htdigest 이름의 유저&패스워드 파일을 만들었습니다. releam은 trac로 했구요. 양키들의 네이밍 센스는 때때로 사람을 헛갈리게 합니다. releam은 유저의 활동영역이라고 생각하시면 됩니다. trac이라는 영역에서 활동할 유저 yundream을 만들겠다는 예기죠.

trac 기본 디렉토리

이제 trac의 서비스 디렉토리를 만들어야 하는데요. 저는 /var/www/trac로 결정했습니다. 디렉토리를 만들고 나서 trac-admin으로 디렉토리를 초기화 합니다.
# trac-admin /var/www/trac/ initenv
하고 나면, /var/www/trac 환경 파일을 비롯해서 서비스에 필요한 여러 파일들이 설치된걸 확인할 수 있습니다.

유저 & 패스워드 파일 복사

trac 서비스 디렉토리(:12)를 만들었으니, 유저&패스워드 파일을 복사해야 겠죠 ?
# mv joinc.htdigest /var/www/trac

설정파일 변경

/var/www/trac/conf 밑에 보면 trac.ini 파일이 있습니다. 구미에 맞게 수정해 주시면 됩니다. 저는 첨부파일 크기와 로고 이미지만 손봤습니다. svn 저장소 위치등도 수정할 수 있으니, 환경에 맞게 수정해 주시면 되겠습니다.

그리고 서비스를 띄우면 됩니다.
# tracd -p 8080 -b trac.joinc.co.kr --auth="*",/var/www/trac/joinc.htdigest,trac /var/www/trac/ -d

이제 서비스를 사용해 보죠. http://trac.joinc.co.kr:8080

마치며

trac를 설치하려고 인터넷을 뒤적이면서 느낀 점이 있습니다. 왜 이리 읽기가 불편하냐!!!. 특히 아파치 관련 설정은 정말 답이 없더군요. 뭐.. 제가 설정 같은걸 원체 싫어해서 겠지만, 조금만 더 신경쓴다면 이해하기 쉬운 글을 쓸 수 있을 건데 그런 생각이 들더군요.

그럴려면 실제 설치하면서 그 경험을 그대로 글로 풀어내는게 좋을 건데 말이죠.

뭐, 근데 이글도 설치를 하면서 적은게 아니고, 설치를 끝낸 후 기억을 더듬으면서 쓴 글이라서 쉽게 따라서 설치할 수 있을지는 잘 모르겠습니다. 중간에 안되는 것 있으면 바로 피드백 주세요.