Trac

오픈소스 비즈니스 컨설팅

이슈 관리용 오픈소스인 Trac을 정리 한다.


목차

설치 가이드

설치전 사전 준비 사항


Genshi 모듈 설치

Python용 Template 엔진인 Genshi를 설치 한다.


  • 다운로드 받은 파일을 실행하여 "다음(N)" 버튼만 눌러 주면 아래 폴더에 설치가 된다.
$PYTHON_HOME/Lib/site-packages/genshi


  • Python용 setuptools가 설치되어 있으면 아래 방법으로 간단하게 설치할 수 있다.
  • Windows에서 도스창을 연다.
  • 아래 명령을 실행하여 Genshi를 설치 한다.
easy_install Genshi

Pygments 모듈 설치

Python의 setuptools를 사용하여 Trac의 소스보기에서 Syntax Highlighting를 지원하는 Pygments를 설치 한다.

  • Python의 Pygments 모듈 설치
  • 도스창을 열어 "easy_install Pygments" 명령을 실행 한다.
C:>easy_install Pygments
Searching for Pygments
Reading http://pypi.python.org/simple/Pygments/
Reading http://pygments.org/
Reading http://pygments.pocoo.org/
Best match: Pygments 1.0
Downloading http://pypi.python.org/packages/2.5/P/Pygments/
    Pygments-1.0-py2.5.egg#md5=7e39d44a5b9ec0e037714863d5c6a2e6
Processing Pygments-1.0-py2.5.egg
creating c:\app\python\lib\site-packages\Pygments-1.0-py2.5.egg
Extracting Pygments-1.0-py2.5.egg to c:\app\python\lib\site-packages
Adding Pygments 1.0 to easy-install.pth file
Installing pygmentize-script.py script to c:\app\Python\Scripts
Installing pygmentize.exe script to c:\app\Python\Scripts

Installed c:\app\python\lib\site-packages\pygments-1.0-py2.5.egg
Processing dependencies for Pygments
Finished processing dependencies for Pygments


Trac용 추가 모듈 설치

  • 설치 방법을 설명하기 위해 위에서 이미 설치한 추가 모듈은 설치를 생략 하라.
  • 도스창을 연다.
  • 아래의 명령을 차례로 실행 한다.
easy_install babel       #--- Trac은 한글화에 babel을 사용 한다.
easy_install Genshi
easy_install Pygments
easy_install docutils
easy_install textile
easy_install epydoc

Track 설치


  • 다운로드 받은 파일을 실행하여 "다음(N)" 버튼만 눌러 주면 아래 폴더에 설치가 된다.
$PYTHON_HOME/Lib/site-packages/trac
$PYTHON_HOME/Scripts/ 폴더에 trac-admin.exe, tracd.exe


Trac용 DB 설정

  • MySQL에 Trac에서 사용할 Schmea를 등록한다.
  • MySQL Administrator에 root 관리자로 로그인 한다.
  • 좌측 상단 창에서 "Catalogs"를 선택한다.
  • 좌측 하단의 "Schemata" 창에서 우측 마우스를 누른다.
  • "Create New Schema" 메뉴를 선택하여 Schema를 생성한다.
  • Schema 생성화면에서 "Schema name"으로 "tracdb"를 입력한다.
DB Schema 등록


  • MySQL에 Trac에서 사용할 사용자를 등록한다.
  • 좌측 상단 창에서 "User Administration"을 선택한다.
  • 좌측 하단의 "Users Accounts" 창에서 우측 마우스를 누른다.
  • "Add new user" 메뉴를 선택하여 사용자를 생성한다.
  • "User Information" 탭에서 "MySQL User"("trac"), "Password", "Confirm Password" 등을 등록한다.
DB 사용자 등록


  • MySQL에 Trac에서 사용할 사용자의 권한을 설정한다.
  • "Schema Privileges" 탭에서 사용자가 사용할 Schema("tracdb")를 선택한다.
  • "Available Privileges"의 모든 권한을 "Assigned Privileges"로 이동한다.
  • "Apply changes" 버튼을 눌려 등록된 정보를 저장한다.
권한 부여


  • MySQL Query Browser에 접속한다.
  • 상단의 "Tools" 메뉴에서 "MySQL Query Browser" 메뉴를 선택한다.
Query Browser 접속


  • 사용자의 MySQL 데이터베이스 접속 정보를 추가한다.
  • 우측의 "Schemata" 탭에서 "mysql"을 더블 클릭하여 선택한다.
  • grant all privileges on tracdb.* to trac@localhost identified by '암호'; (사용자에게 Schmea에 대한 권한을 추가)
  • flush privileges; (위 명령을 통해 설정한 권한을 데이터베이스에 반영)
  • select host, user, password from user order by user, host; (사용자의 접속 정보 확인)
접속 정보 추가
  • MySQL Query Browser가 아니라 DOS 창에서 접속 정보를 추가하는 방법
mysql -uroot -pxxx mysql
    grant all privileges on tracdb.* 
        to trac@localhost identified by '암호';
    flush privileges;
    select host, user, password from user order by user, host;
    exit


Trac용 Subversion 저장소 생성

  • Trac에서 사용하기 위한 저장소 폴더와 testProject 프로젝트를 생성 한다.
c:/svn_repository 폴더를 생성 한다.
cd c:/svn_repository
svnadmin create --fs-type fsfs testProject
  • 프로젝트 접속에 사용할 계정을 생성 한다.
  • 생성된 사용자 계정 정보는 c:/svn_repository/testProject/svn_passwd 파일에 저장 된다.
cd c:/svn_repository/testProject
$APACHE_HOME/bin/htpasswd -c svn_passwd guest   #--- -c는 svn_passwd 처음 생성시
$APACHE_HOME/bin/htpasswd -m svn_passwd manager #--- -m은 svn_passwd이 있을 경우

Trac용 Project 생성

  • 도스창을 띄워 Trac에서 사용할 testProject 프로젝트를 생성 한다.
c:/trac_repository/ 폴더를 생성 한다.
trac-admin c:/trac_repository/testProject initenv
#--- 프로젝트 명을 입력 한다.
Project Name [My Project]> testProject
#--- MySQL 데이터베이스 접속 정보를 설정 한다.
Database connection string [sqlite:db/trac.db]> mysql://trac:암호@127.0.0.1/tracdb
#--- 사용할 저장소(subversion) 소프트웨어 명을 설정 한다.
Repository type [svn]> svn
#--- Trac의 testProject에서 사용할 Subversion의 repository를 지정 한다.
Path to repository [/path/to/repos]> c:/svn_repository/testProject


  • Trac용 testProject 프로젝트 설치 확인
  • c:/trac_repository/testProject 에 프로젝트가 생성 된다.
  • c:/trac_repository/testProject/conf/trac.ini 파일이 설정 파일 이다.


  • Trac에서 제공하는 데몬을 사용하여 trac 서비스 기동
  • 여기서는 Apache HTTP Server를 사용할 예정이므로 Trac의 데몬을 사용하지 않는다.
tracd --port 8000 c:/trac_repository/testProject


Trac용 Apache 설정

  • Apache HTTP Server에서 사용하기 위해 $APACHE_HOME/conf/httpd.conf 파일을 수정 한다.
<Location /trac>  
    SetHandler mod_python  
    PythonHandler trac.web.modpython_frontend 
    #--- Trac의 최상위 저장소
    PythonOption TracEnvParentDir c:/trac_repository  
    PythonOption TracUriRoot /trac  
</Location>  

<LocationMatch "/trac/[^/]+/login">  
    AuthType Basic  
    AuthName "Trac"
    #--- Trac에서 사용할 사용자 정보가 담긴 Subversion 암호 파일
    AuthUserFile c:/svn_repository/testProject/svn_passwd  
    Require valid-user  
</LocationMatch> 



Trac 관리자 설정

  • Trac의 관리자 권한 부여
  • Subversion에서 생성한 manager 사용자에게 Trac 관리자 권한을 부여 한다.
trac-admin.exe c:/trac_repository/testProject permission add manager TRAC_ADMIN


Trac Plugin 설치

  • IniAdminPlugin 설치
  • Trac의 환경 설정 파일인 trac.ini를 관리자 화면에서 편집 가능하도록 한다.
#--- 도스창에서 다음 명령을 실행 한다.
easy_install http://trac-hacks.org/svn/iniadminplugin/0.11
  • c:/trac_repository/testProject/conf/trac.ini 에 다음을 추가 한다.
[components]
iniadmin.iniadmin.iniadminplugin = enabled


  • WorkflowEditorPlugin 설치
  • Trac의 workflow를 관리자 화면에서 편집 가능하도록 한다.
#--- 도스창에서 다음 명령을 실행 한다.
easy_install http://trac-hacks.org/svn/workfloweditorplugin/0.11
  • c:/trac_repository/testProject/conf/trac.ini 에 다음을 추가 한다.
[components]
workfloweditor.* = enabled


Trac 한글화

  • Trac 0.11 버전은 한글화가 되어 있지 않으므로 각자 한글화를 하여야 한다.
  • $TRAC_HOME/templates/ 에서 메시지를 변경 한다.
  • $TRAC_HOME/htdocs/ 에서 이미지 파일을 변경 한다.
  • Trac 0.12 버전에서 부터는 한글화가 Trac 자체에 포함되어 출시될 예정 이다.


사용자 가이드

관리자 가이드

참고 문헌

  • Mantis : 2008년 국내 이슈트래킹 시장의 40%를 점유하고 있는 오픈소스
  • Bugzilla : 많은 기능이 포함된 대표적인 이슈트래킹용 오픈소스
개인 도구