Trac설치가 워낙 복잡해서 이렇게 정리를 해 놓는다. 이 내용은 이재홍님이 지으신 윈도우 프로젝트 필수 유틸리티에서 배운 내용을 바탕으로 정리한 것이기 때문에 자세한 내용을 알고 싶으면 위 책을 보길 바란다.
Trac은 웹어플리케이션이기 때문에 자신의 PC에 프로그램을 설치하는 것이 아닌 개발서버등에 설치에 놓고 Trac의 각 프로젝트 웹페이지에 접속해서 사용하는 형식으로 동작되기 때문에 웹서버인 Apache가 필요하다.
Apache 설치
Apache는 Apache사이트에서 다운로드가 가능하다. 현재 버전은 2.2.11이다.
설치는 어렵지는 않고 그냥 Next만 눌러주면 되는데 Network Domain은 웹서버 도메인이 있으면 입력하고 아니면 그냥 넘어가도 괜찮다. IP로 접속하면 되기 때문에.... 아파치는 웹서버이기 때문에 기본적으로 80포트를 선택한다. 80포트를 쓰지 않으려면 아래쪽에서 다른 포트를 선택해 주면 된다. 윈도우즈 서버라서 IIS가 동작중이라면 80포트를 동시에 쓸수 없기 때문에 다른 포트를 선택하거나 80포트를 같이 쓸 수 있는 프로그램을 설치해 주어야 한다.
설치가 완료되면 tray에 아파치서버에 대한 아이콘이 나타나고 Apache Service Monitor을 이용해서 아파치 서버를 다룰수 있다. IIS와 Apache가 같이 80포트를 사용하려면 Windows Server 2003 Service Pack 1 32-bit Support Tools를 설치하여야 한다. 2003용이지만 XP에서도 사용이 가능하다. 설치 후 [시작프로그램] - [Windows Support Tools] - [Command Prompt]를 실행시켜서 다음과 같이 실행시켜 주면 된다.
httpcfg.exe set iplisten -i 현재아이피
실행시켜준 뒤에 리부팅을 해주면 IIS와 Apache가 동시에 80포트를 사용할 수 있다.
Trac 설치
이제 Trac 설치를 보자. Trac설치는 꽤 복잡하다. 그냥 설치한반에 끝나면 참 좋겠지만 안타깝게도 여러가지 설정을 해주어야 한다.
- 일단 Trac은 Python으로 짜여져 있기 때문에 Python을 설치해 주어야 한다. Python사이트에서 다운로드가 가능하다. 여기서는 Python 2.5.4를 사용하였다.(뒤이어 설치할 프로그램들의 대부분이 2.5를 사용하기 때문에 2.5를 깔지 않으면 에러가 난다.) 설치는 기본대로 설치를 해주면 된다.
- SNV Python Bindings은 Trac에서 Subversion 레파지토리의 내용을 읽어오기 위한 프로그램이다. 여기서는 svn-python-1.5.5.win32-py2.5.exe을 사용한다. 파이썬 2.5가 설치되어 있지 않으면 설치도중 에러가 나타난다. SNV Python Bindings은 아파치 2.2용과 2.0용이 있는데 여기서는 Apache 2.2를 설치했기 때문에 2.2용으로 사용한다. 아파치가 2.0이라면 2.0용을 설치해야 한다.
- Genshi는 Trac이 사용하는 웹용 아웃풋을 만들어 내는 역할을 한다. Genshi-0.5.1.win32-py2.5을 다운로드해서 설치해주면 된다.
- setuptools를 설치해 준다. setuptools은 Trac을 설치하고 플러그인을 설치하는데 필요한 툴이다. setuptools사이트의 최하단에 보면 다운로드를 받을 수 있다. setuptools-0.6c9.win32-py2.5.exe를 사용한다.
- Mod_python은 Apache가 파이썬 코드를 실행하기 위해서 필요하다. 여기서는 mod_python-3.3.1.win32-py2.5-Apache2.2.exe을 사용하였고 설치중간에 폴더경로를 묻는데 Apache가 설치된 경로를 지정해 주면 된다. 일반적으로 설치했다면 C:\Program Files\Apache Software Foundation\Apache2.2가 경로가 될 것이다. 설치해준 다음에 Apache2.2\conf\httpd.conf파일을 열어서 126라인 정도의 LoadModule부분에 다음라인을 추가한다.
#LoadModule version_module modules/mod_version.so #LoadModule vhost_alias_module modules/mod_vhost_alias.so LoadModule python_module modules/mod_python.so # 추가된 라인
- pysqlite는 파이썬에서 sqlite 디비에 접속하게 해주는 역할을 하기 때문에 필요하다. 이 사이트가 이렇게 생기지 않았던것 같은데 뭔가 다른걸 준비하고 있는것 같다.(정확히 해석이 안되서...) 여기서는 pysqlite-2.4.1.win32-py2.5.exe를 사용했다.
- enscript는 Trac상에서 소스코드를 볼 때 소스코드의 Syntax Highlight를 해주는 역할을 한다. enscript-1.6.3-9-bin.exe를 설치했다.
- 아~ 힘들다.. 이제 드디어 Trac을 설치한다. Trac의 다운로드페이지에서 다운로드를 할 수 있고 현재 버전은 0.11.2.1이다. 이것 역시 그냥 설치해주면 된다.
설정하기
이제 설치가 완료되었다. 이제 Trac을 사용하기 위해서 설정을 해주어야 한다. 하나의 Trac에서 여러개의 프로젝트를 관리할 수 있으면 프로젝트마다 하나씩 생성해 주면 된다. 트랙의 프로젝트 관리는 trac-admin.exe가 담당하고 있다.
먼저 Trac의 프로젝트를 관리할 폴더를 만든다. 여기서는 C:\에 trac라는 폴더를 만들었다. 그리고 C:\Python25\Scripts로 이동해서
trac-admin.exe c:\trac\TestProject initenv
라는 명령어를 입력한다. 여기서 TestProject는 프로젝트명으로 원하는 이름을 입력해주면 된다. 실행시키면 위의 화면처럼 Project Name를 묻는 부분이 나오고 원하는 프로젝트 명을 입력해주면 된다.
그 다음에는 Database connection string과 Repository type를 묻는데 여기서는 기본값 그대로 사용할 것이므로 둘다 엔터를 눌러서 넘겨주면 된다. sqllite를 안쓰거나 svn이 아닐 경우 다른 값을 입력해야 한다. 그 다음에는 Path to repository를 묻는데 원하는 프로젝트의 Repository경로를 입력해 주면 된다.(여기서는 다루지 않았지만 SVN에서 설정한 Repository이다. 나는 VisualSVN을 사용한다.) 다 입력하면 프로젝트를 설정되는 과정이 죽~ 나온다.
위와 같이 Congratulations!가 나타나면 설정에 성공한 것이다. 이제 trac에 접속하기 위해서 Apache 서버에 연결을 해야한다. Apache폴더 아래 conf/httpd.conf파일 맨 아래에 다음과 같은 코드를 추가한다.
NameVirtualHost *:80
<VirtualHost *:80>
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir C:\trac
PythonOption TracUriRoot /trac
</Location>
<LocationMatch "/trac/[^/]+/login">
AuthType Basic
AuthName "Trac"
AuthUserFile C:\Repositories\htpasswd
Require valid-user
</LocationMatch>
</VirtualHost>
PythonOption TracEnvParentDir는 위에서 설치한 트랙에 대한 폴더이고 AuthUserFil은 SVN의 레파지토리안에 있는 사용자비밀번호가 설정된 파일인 htpasswd의 경로이다.
이제 Trac이 설치된 아이피(혹은 도메인)에 위와같이 접속하면 설정되어 있는 프로젝트 리스트가 나오는 것을 볼 수 있다.
해당 프로젝트를 클릭하고 들어가서 위와같이 나오면 설치가 완료된 것이다. Timeline을 통해서 SVN의 Commit되는 상태를 확인할 수 있으면 로그인은 SVN에 설정된 아이디와 비밀번호로 로그인 하면 된다. Trac에 대한 사용법은 여기선 다루지 않는다.(나중에 기회되면...)
관리자 플러그인 설치
이로써 기본적인 Trac사용은 가능하지만 여러가지 설정을 바꾸려면 trac.ini라는 설정파일을 직접 수정해 주어야 하는데 이는 꽤 불편하다. 그래서 Ini Admin Plugin을 설치하면 Trac에 대한 설정을 편리하게 할 수 있다.
일단 사용자에게 관리자 권한을 주어야 한다. 위와 같이
trac-admin.exe C:\trac\TestProject permission add test TRAC_ADMIN
을 실행시켜준다. TestProject는 권한을 줄 프로젝트 이소 test는 사용자 아이디이다. 이렇게 사면 test계정이 관리자 권한을 가지게 된다.
관리자 권한을 가진 계정으로 로그인 하면 오른쪽에 Admin이라는 메뉴가 생긴것을 볼 수 있다.
Ini Admin Plugin을 다운받으면 setup.py와 iniadmin라는 폴더가 생기는데 위처럼 setup.py를 실행해주면 설치가 된다.
Admin메뉴에 들어가서 Plugins에서 iniadmin 0.2에 Enabled에 체크를 해주고 적용을 하면 왼쪽 메뉴에 trac.ini라고 나오면서 ini파일에서 설정해 줄수 있는 것들을 웹상에서 간단하게 바꾸어 줄 수 있는 것을 볼 수 있다.
설치가 복잡하긴 하지만 그만큼 사용할 가치가 있는 툴이라고 생각한다.
저도 전 프로젝트에서 trac를 사용해보고 trac에 푹 빠졌습니다.~
협업하는데 아주 좋은 툴이더군요~
다른 프로젝트 관리 툴을 안써봐서 정확히 머라하기는 좀 어렵지만 여러모로 맘에 들더군요... 댓글 감사합니다.
아주 자세하게 잘 설명해주셔서 너무 감사합니다. 덕분에 트랙 설치를 아주 쉽게 했습니다. TOW 보다 이게 훨씬 쉽군요. ㅎㅎ
캡쳐나 프로그램링크는 새로 다 찾아가면서 정리하기는 했지만 기본 토대는 "윈도우 프로젝트 필수 유틸리티"책을 이용했기 때문에 좀 민망하긴 하네요. 더 깊은 내용이 관심있으시면 위 책을 참고하셨으면 좋겠습니다.
감사합니다.
관리자만 볼 수 있는 댓글입니다.
저도 설치법을 잊어먹지 않기 위해서 적어넣은 정도라서 겪어보지 않은 에러라 머라 말씀드리긴 어렵네요.
구글링해봤더니
http://groups.google.com/group/trac-users/tree/browse_frm/month/2007-01?_done=%2Fgroup%2Ftrac-users%2Fbrowse_frm%2Fmonth%2F2007-01%3F&pli=1
이런 들이 나오는데 중간쯤에 나오는 질문을 보면 akami님과 증상이 비슷해 보이는군요. 패스문제라는것 같은데 제가 직접 해결까지 해본건 아니라서 참고하세요...
아니면 http://www.pyrasis.com/main/ 에 가셔서 질문하시는게 더 좋은 답변을 얻으실수 있을겁니다.
그럼 잘 해결되시길...
답변감사합니다.
하루종일 땡친게...이유가 결국 virturalhost 설정 문제였네요.
참~...언제 삽질의 끝은 황당합니다.ㅎ
종종 들리겠습니다.^^;;
도움은 못드렸지만 잘 해결되셨다니 다행이네요.
고생스런 삽질일수록 해결은 어이없을때가 많은것 같습니다.
저도 akami님의 홈페이지가 빨리 런칭되기를 기대하겠습니다. ^^
정말 깔끔하게 정리하셨네요..
아파치가 Start가 안되는 문제가 한번 있었긴 하지만 저의 실수였네요..
"// 추가된 라인"까지 httpd.conf에 넣어서 안되었다눈.. ㅋ(C&P의 전형적 오류.. ㅋ)
혹시 저같은 실수 하시는 분은 없겠죠? ^^;;
어쨌든 많은 도움 되었네요.. 감사합니다.
본문에 언급했다시피 윈도우 프로젝트 필수 유틸리티에 나온 내용을 재정리만 한거뿐입니다. ^^;;; 민망하군요.. ㅎ
다시 보니까 말씀하신데로 // 추가된 라인가 실수를 유발할 가능성이 좀 있어 보이는군요. 작성할때는 몰랐는데.. ㅎㅎㅎ //를 #로 수정했습니다. #는 conf에서 주석으로 인식하겠죠?(그래야 하는데.. ㄷㄷㄷ)
저두 책을 보고 따라하곤 있었는데 역시나 SVN은 아파치와 붙일 필요가 없는 거였군요 ㅎㅎ
거기서 계속 에러가 나서 한참을 헤맸네요
예 책에는 SVN 아파치 연동도 나와있는데 어차피 Trac에서 볼 수 있어서 생략했습니다.(좀 복잡한것 같길래요.) ^^
감사합니다. 덕분에 아주 쉽게 설치했습니다 ^^
도움되셨다니 다행입니다. ^^
근데 혹시 토끼형이라고 모르시나요? 그쪽 방명록에서 많이 뵈던 닉네임 같아서요... 아니시면 죄송하고요. ^^
좋은 내용 감사드립니다.
설치는 다 되었는데 SVN과 연동하는 점에서 문제가 발생한거 같아 이렇게 질문드립니다.
trac 서버에 접속해 보면 다음과 같은 오류메시지창이 항상 떠있습니다.
#################################################################################
Warning: Can't synchronize with the repository (Couldn't open Subversion repository D:/Repositories/TEST: SubversionException: ("Expected FS format between '1' and '3'; found format '4'", 160043)). Look in the Trac log for more information.
Trac Error
Couldn't open Subversion repository D:/Repositories/TEST: SubversionException: ("Expected FS format between '1' and '3'; found format '4'", 160043)
###################################################################################
어떻게 해결해야할까요??
버전 문제일수도 있다 생각해서 SVN 버전과 나머지 설치 버전을 적어올립니다.
VisualSVN Server 2.1.1
Apache 2.2
Python 2.5.4
svn-python-1.5.5.win32-py2.5.exe
Genshi-0.5.1.win32-py2.5
setuptools-0.6c9.win32-py2.5.exe
mod_python-3.3.1.win32-py2.5-Apache2.2.exe
pysqlite-2.4.1.win32-py2.5.exe
enscript-1.6.3-9-bin.exe
Trac-0.11.7.win32.exe
찾아보니 http://trac.edgewall.org/ticket/9102 이 내용갖습니다.
제가 오래전에 정리했던 글이라 그사이에 버전 차이가 생겼나 보네요.
svn-python 이 버전이 너무 낮아서 생기는 문제라고 1.6으로 올리라고 하는군요.
업데이트 하시면 해결되시지 않을까 싶습니다. ^^
아 감사합니다^^
Outsider님 조언 덕분에 잘 돌아갑니다~^^
해결되셨군요.. 다행이네요 ^^
트랙 설치후에 로그인은 svn에 저장된 아이디와 비밀번호를 사용하신다고 하셨는데 svn에 아이디 비밀번호가 저장되있다는게 이해가 안되네요.. 설치후에 svn이 설치된곳에 가봐도 어디에도 아이디 비밀번호가 저장되있지 않은데 제가 잘못이해한건가요?
트랙 설치후 처음 로그인할때의 계정과 비밀번호가 뭐로 설정되있는건지 궁금하네요.ㅠ
너무 오래되서 기억이 잘 안나는데 문서봐도 그렇고 아파치의 인증을 사용하고 있을겁니다. 아파치쪽 사용한 passwd를 보셔야 할것 같네요.
집에 방치해둔 노트북(Averatec-3750, 2006년구매)에 Windows XP에 Trac을 설치했더니 python을 3.x로 설치하는 바람에 고생은 했지만, 잘 구동하네요. 전 회사에서 사용하던 거라 집에서도 설치하려고 했는데 덕분에 설치 완료했네요. Outsider님의 글 자주 보고 있고요...일하는(임베디드) 분야가 달라서 이해가 안되는 부분이 많지만 Study 동기 부여를 하게 해주셔서 감사의 말씀을 전하고 싶습니다.
Trac은 처음 사용했던 이슈트래커라서 좋아하는 편인데 안쓴지 오래돼서 아직도 유지되는지 몰랐네요. 전 웹쪽이라 다른 부분이 많기는 하지만 동기 부여가 되신다니 저도 힘이 나네요 ^^