Trac on Windows
Trac은 Python으로 개발된 웹기반 프로젝트 관리 프로그램이다. Trac의 현재 배포버전은 0.10.3.1이고, 개발버전은 0.11dev이다. Trac은 웹페이지를 생성하기 위해 배포버전에서는 ClearSilver를, 개발버전에서는 Genshi를 사용한다. ClearSilver는 윈도우용 바이너리 파일을 Python 2.4용만 배포하고 있기 때문에 배포버전을 설치하기 위해서는 Python 2.4를 설치해야 한다.
Install Trac 0.10.3.1
다음은 윈도우 2003에 Trac 0.10.3.1을 설치하기 위해 함께 설치한 소프트웨어 목록이다. 각 버전은 2007년 3월 기준이다.
- Python 2.4
- ClearSilver-0.9.14.win32-py2.4
- SQLite 3.3.13
- PySqlite-2.3.3.win32-py2.4
- SubVersion 1.4.3
- svn-python-1.4.3.win32-py2.4
- Apache HTTP Server 2.2.4
- Mod_Python 3.3.1-py.24
- Trac 0.10.3.1
설치후 Path 환경변수에 Python, SQLite, SubVersion의 실행파일 경로를 추가해야 한다. Trac을 설치하고 나면 Python24\Scripts 폴더에 trac-admin, tracd 파일이 생성된다. 이 파일들은 Python 스크립트들인데 shebang line이 삽입되어 있지만 윈도우의 커맨드라인은 이를 인식 못하므로 파일 이름에 .py 붙여주든지 Python을 명시적으로 호출해줘야 한다.
Creating a Project Environment
Trac의 위키 페이지들과 티켓이 저장되는 곳을 Trac Environment라고 한다. trac-admin을 이용해 생성할 수 있다.
d:\Python24\Scripts>trac-admin.py d:\trac\MyProject initenv
Trac Environment를 생성한 후 tracd로 정상적으로 작동하는지 테스트해볼 수 있다.
d:\Python24\Scripts>tracd.py --port 8000 d:\trac\MyProject
브라우저를 이용해 http://localhost:8000에 접속해서 작동을 확인한다.
Running Trac on Apache Web Server using Mod_Python
tracd.py를 이용한 Standalone Server는 성능이 떨어지기 때문에 Apache같은 웹서버를 이용하는 것이 좋다. Trac을 Mod_Python을 이용해 Apache와 연동하기 위해서는 Apache의 httpd.conf에 다음 설정을 추가한다.
<Location /projects/MyProject>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv d:/trac/MyProject
PythonOption TracUriRoot /projects/MyProject
</Location>
유저 인증을 위해서 Apache의 bin폴더에 있는 htpasswd.exe를 이용해 패스워드 파일(.htpasswd)을 생성하고 httpd.conf에 다음 설정을 추가한다.
<Location "/projects/MyProject/login">
AuthType Basic
AuthName "myproject"
AuthUserFile d:/trac/MyProject/.htpasswd
Require valid-user
</Location>
Trac Plugins
Trac은 플러그인을 설치하여 여러가지 추가적인 기능을 이용할 수 있다. Trac의 플러그인들은 Python Eggs로 패키징되어 있고, 이를 설치하려면 setuptools가 필요하다. setuptools는 ez_setup.py를 다운받아 실행시키면 설치된다. 플러그인들은 TracPluginList와 Trac Hacks에서 찾을 수 있다.
Web Admin Plugin
커맨드라인에서 trac-admin으로 TracEnv를 관리하는 것은 참 불편한 일이다. 웹페이지를 통해 trac-admin의 기능을 이용할 수 있도록 해주는 플러그인이 TracWebAdmin이다. 0.11dev에는 이 플러그인이 기본으로 포함되어 있다.
d:\Python24\Scripts>easy_install http://svn.edgewall.com/repos/trac/sandbox/webadmin
Account Manager Plugin
Trac에서 유저 인증을 위해서는 Apache/htpasswd를 이용해 패스워드 파일을 관리해줘야 한다. 유저 관리를 위해 패스워드 파일을 직접 조작하기 보다는 Account Manager Plugin을 사용하는 것이 편리하다. 유저 목록 관리, 패스워드 변경, 유저 가입 페이지 추가등을 할 수 있다.
d:\Python24\Scripts>easy_install http://trac-hacks.org/svn/accountmanagerplugin/0.10