-----------------------------------------------------------------------------------------------
출처: http://taekgeun.tistory.com/20
-----------------------------------------------------------------------------------------------
소프트웨어를 개발할 때 이슈트래킹시스템은 필수이다. 이슈트래킹 시스템은 여러가지가 있겠지만
많이 사용하는것은 Bugzilla, Mantis, Trac, Jira 정도다. 이중 Bugzilla 와 Jira는 써보지 않아서
잘 모르겠고 mantis와 trac은 써봤는데 각기 나름대로 장단점을 가지고 있다.
Mantis는 이슈관리적인 측면에서 가장 충실한 것 같고 Localization도 잘되어 있다.
또한 최신버전은 Dokuwiki가 포함되어 있기때문에 wiki와의 통합도 쉬우며 다양한 통계정보까지 지원한다.
반면에 SVN과의 통합을 위해선 추가로 설정해줘야할 부분이 있으며 프로젝트 관리 개념이 들어가 있지는 않다. Trac은 최근 개발자들 사이에서 가장 많이 쓰이는 것 같고 SVN과의 통합이 기본적으로 지원되며
모든 텍스트에 wiki문법을 사용할 수 있다. 하지만 여러가지 통계정보를 제공해 주지는 않으며 설치도
쉽지 않은 것 같다.
다음은 Ubuntu 8.10 Desktop 버전에서 Trac을 설치하는 방법이다.
우분투에서는 apt-get 을 이용해 필요한 패키지를 쉽게 설치할 수 있다.
1. 아파치 웹서버 설치
Trac을 웹서버없이 단독으로 올릴 수는 있지만 그리 권장할 만 하지는 않다.
그리고 Ubuntu Desktop에는 아파치 웹서버가 기본설치되지 않기 때문에 다음과 같이 설치해야 한다.
2. Subversion 설치
Trac은 서브버전과 통합된 형태이기 때문에 Subversion도 설치해야 한다.(svn 1.5.1 이 설치됨)
3. Trac 설치
Trac은 최신버전인 0.11 이 설치된다.
4. 서브버전 저장소 생성
서브버전 저장소를 /var/lib/svn 밑에 설정할 경우 다음과 같이 디렉토리를 생성한다.
$ sudo svnadmin create /var/lib/svn/myproejct
5. Trac설정
DB는 SQLite를 사용하며, 소스 저장소는 Subversion을 사용하도록 설정한다.
$ sudo mkdir –p /var/lib/trac
$ cd /var/lib/trac
$ sudo trac-admin myproject initenv
# 프로젝트 명 입력
Project Name [My Project]> myproject
# DB 연결 설정
Database connection string [sqlite:db/trac.db]> 엔터
# 소스 저장소 타입 설정
Repository type [svn]> 엔터
# 저장소 경로
Path to repository [/path/to/repos]> /var/lib/svn/myproject
6. Trac관리자 설정
Trac 0.11 버전부터는 WebAdmin 이 기본적으로 포함되어 있기 때문에 다음과 같이 반드시 관리자설정을 하는게 좋다.
7. Trac logo 설정 변경
트랙설치경로/conf 디렉토리 밑에 trac.ini 파일에 다음 항목을 수정한다.
[header_logo]
alt =
height = -1
link = http://트랙설치한 ip/myproject
src = common/trac_banner.png
8. 아파치 웹서버 설정
dav_svn.conf 에 서브버전 설정 추가 (Tortoise 나 Eclipse subversion 클라이언트에서 접속할 때
주소는 http://트랙설치ip/svn/myproject 이다.)
$ sudo nano /etc/apache2/mods-available/dav_svn.conf
Subversion을 위한 설정
# dav_svn.conf - Example Subversion/Apache configuration
#
# For details and further options see the Apache user manual and
# the Subversion book.
#
# NOTE: for a setup with multiple vhosts, you will want to do this
# configuration in /etc/apache2/sites-available/*, not here.
# <Location URL> ... </Location>
# URL controls how the repository appears to the outside world.
# In this example clients access the repository as http://hostname/svn/
# Note, a literal /svn should NOT exist in your document root.
<Location /svn> <- 주석제거
# Uncomment this to enable the repository
DAV svn <- 주석제거
# Set this to the path to your repository
#SVNPath /var/lib/svn
# Alternatively, use SVNParentPath if you have multiple repositories under
# under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...).
# You need either SVNPath and SVNParentPath, but not both.
SVNParentPath /var/lib/svn <- 주석제거
SVNListParentPath on <- 추가
# Access control is done at 3 levels: (1) Apache authentication, via
# any of several methods. A "Basic Auth" section is commented out
# below. (2) Apache <Limit> and <LimitExcept>, also commented out
# below. (3) mod_authz_svn is a svn-specific authorization module
# which offers fine-grained read/write access control for paths
# within a repository. (The first two layers are coarse-grained; you
# can only enable/disable access to an entire repository.) Note that
# mod_authz_svn is noticeably slower than the other two layers, so if
# you don't need the fine-grained control, don't configure it.
# Basic Authentication is repository-wide. It is not secure unless
# you are using https. See the 'htpasswd' command to create and
# manage the password file - and the documentation for the
# 'auth_basic' and 'authn_file' modules, which you will need for this
# (enable them with 'a2enmod').
AuthType Basic <- 주석제거
AuthName "Subversion Repository" <- 주석제거
AuthUserFile /etc/apache2/dav_svn.passwd <- 주석제거
# To enable authorization via mod_authz_svn
#AuthzSVNAccessFile /etc/apache2/dav_svn.authz
# The following three lines allow anonymous read, but make
# committers authenticate themselves. It requires the 'authz_user'
# module (enable it with 'a2enmod').
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user <- 주석제거
#</LimitExcept>
9. 아파치 가상호스트 수정
$ sudo nano /etc/apache2/sites-available/default # Trac <VirtualHost *:80> ServerAdmin webmaster@localhost <Location /> SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir /var/lib/trac PythonOption TracUriRoot / </Location> <LocationMatch "[^/]+/login"> AuthType Basic AuthName "Trac Authentication" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </LocationMatch>
htpasswd로 사용자 암호를 만든다. 처음 만들 때만 –c 옵션을 주고 생성한다.
두 번째 사용자부터는 암호 파일 명과 사용자 아이디만 입력하면 된다.
$ sudo htpasswd –c /etc/apache2/dav_svn.passwd admin
11. Trac 초기화면
'IT_Programming > Dev Tools' 카테고리의 다른 글
jconsole로 톰캣 서버 원격 모니터링 하기 (0) | 2011.04.03 |
---|---|
이클립스 리소스(Resource) 검색 (0) | 2011.04.03 |
Trac + Mylyn 연동 방법 (0) | 2011.04.03 |
윈도우 계열에서의 초간단 Trac 설치 방법 (0) | 2011.04.03 |
[펌] VisualSVN과 mysql을 이용한 Trac 설치 완벽 가이드 (0) | 2011.04.03 |