Trac을 Windows에서 쉽게 설치하여 사용하기

프로젝트 관리 도구로 Trac (http://trac.edgewall.org/)을 쓰는 기업이 많다.
요즘들어 많은 WEB2.0 개발회사들이 Trac을 프로젝트 관리 도구 System으로 사용하는 기업이 많은 것 같다.
(테더앤미디어의 TEXTCUBE 프로젝트도 trac으로 개발되고 있다.)

Trac을 쓰게되면 1) 프로젝트 MileStone관리 2) 프로젝트 이슈(티켓)관리 3) 프로젝트 문서 관리(위키) 4) 프로젝트 형상관리 (Subversion) 을 통합적으로 trac 단일 UI에서 관리가 가능하게 됨으로써, PM-DEV-QA간의 원활한 진행 체크 및 커뮤니케이션 관리가 가능해지는 장점이 있다.

Trac은 사용하기는 쉬우나, 워낙 설치가 까다로워서 왠만한 Engineer는 몇일 고생할 거 생각하고 xNIX 환경에서 구현해야하나, SourceFourge에 TOW (Trac on Windows)라는 제품으로 윈도우에서 설치 1분만에 Trac을 사용할 수 있는 혁신적인 Easy-Installer가 나와서 소개하고자 한다. (지금보니 한국분이 개설한 제품이다)

Project Repository – http://sourceforge.net/projects/traconwindows/
Project Blog – http://traconwindows.wordpress.com/
Trac Guide – http://trac.edgewall.org/wiki/TracGuide

현재 기준으로는 Base 및 Standard 패키지가 존재하고 둘의 차이점은 다음과 같다.
Base 패키지 구성
– python 2.4.4
– trac 0.10.4
– clearsilver 0.9.14
– apache 2.2.6
– mod_python 3.3.1
– subversion 1.4.5
– svn-python 1.4.5
– sqlite 3.5.2
– pysqlite 2.3.5
– easy_install

Standard 패키지 구성
– Base 패키지 포함
– Added Web Admin plugin
– Added Account Manager plugin
– Added XML-RPC plugin
– Added Eclipse Trac Integration plugin
– Added TracNav plugin
– Added WYSIWYG Editor plugin
– Added trac.ini Admin plugin
– Added TOC macro

원래 설치하려면 위의 Base, Standard 해당하는 내용을 일일이 찾아서 설치해 주어야 하는데..
본 TOW (Trac On Windows)는 설치,구성이 3분 이내에 할 수 있을 정도로 매우 쉽게 구성되어 있으며, 다음과 같이 하면 된다.

1) http://sourceforge.net/projects/traconwindows/ 에서 최신 Standard 패키지를 다운로드 받습니다.
2) C:\ 에 압축파일을 풉니다.
3) C:\TOW\start-tow.bat 파일을 실행하면 완료 (정말 쉽다.^^)
4) http://localhost:8080/projects/ 로 접근하시면 됩니다.

신규 프로젝트 설정법
1) 사용자 등록
C:\TOW>add-user.bat <UserName> <Password>

2) 프로젝트 등록 하는 방법
C:\TOW>create-svn-repo.bat <ProjectName>
C:\TOW>create-trac-repo.bat <ProjectName>
해준 후 http://localhost:8080/projects/<ProjectName&gt; 으로 접속하면 됨.

상기와 같이 항상 데몬 프로그램을 로그인 한 후 CMD 창에서 start-tow.bat파일을 해주어야 하나,
이를 윈도우의 서비스로 등록하면 자동으로 된다.
C:\>sc create trac binPath= “c:\TOW\start-tow.bat” start= auto displayname= “Trac Service of TOW”

이렇게하면 윈도우즈 서비스로 등록되며 자동 실행 되어야 하나, 필자 컴퓨터에서는 무슨 이유에서인지 “Error 1053:The Service did not responde to the start or control request in an timely fashion”이라는 메시지를 뿌리면서 자동 서비스 실행이 안된다. (MSDN에서 찾아보니 .NET Framework SP을 설치하면 된다고 한는데.. 성공하시면 덧글/트랙백 좀 남겨주세요.)

참고 :
#01.
CentOS 5.0 subversion/svn 설치
#02. CentOS 5.0 subversion – viewvc 설치
#03. Subversion 사용 통계/현황 요약 보기
#04. Subversion commit 메일로 통보 받기
#05. 프로젝트 협업을 위한 Trac, CodeBeamer, Jira, Mantis의 간단 비교

Technorati Tags: , , ,

Peter Kim에 대하여

김태영 PMP 010-9344-7505 프로젝트리서치(주) 대표/설립 peterkim@projectresearch.co.kr http://www.ProjectResearch.co.kr

23개의 답글 to “Trac을 Windows에서 쉽게 설치하여 사용하기”

  1. 감사합니다. 안그래도 필요했는데, 잘 보겠습니다! :)

  2. 저 또한, 감사하게 보겠습니다…^^ 말씀하신 문제에 대해서는 설치후에 발생하는지 확인해 보도록 하겠습니다.

  3. http://support.microsoft.com/kb/193238 를 참고 해서 해결했습니다.

    Windows Server 2003 Resource Kit Tools 은 여기서 다운 받구요.
    http://www.microsoft.com/downloads/details.aspx?FamilyID=9D467A69-57FF-4AE7-96EE-B18C4790CFFD&displaylang=en

    — 작업하구 메모해둔 내용입니다. —
    Copy SRVANY.EXE and INSTSRV.EXE to your Windows\System32 directory
    c:\>INSTSRV AutoMan C:\windows\system32\SRVANY.EXE

    c:\>regedit
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AutoMan
    new key “Parameters”
    String Value. Set the name to “Application”
    On the Edit menu, click Modify. Change the Value data to the path to start-tow.bat
    c:\TOW\start-tow.bat

    Modify start-tow.bat
    call set-tow.bat –> call c:\TOW\set-tow.bat

  4. .net framework sp를 깔긴 했는데…안되길래…삽질 좀..=-=;;

  5. 김훈님.. 감사합니다. 저도 해봐야겠네요.

  6. [TOW] 테스트용 Trac은 http://localhost:8080/projects/HelloTOW 로 접속하세요.
    [TOW] 테스트용 Subversion은 http://localhost:8080/svn/HelloTOW 로 접속하세요.
    httpd: Syntax error on line 493 of C:/TOW/Apache/conf/httpd.conf: Cannot load C:
    /TOW/Apache/modules/mod_python.so into server: \xc1\xf6\xc1\xa4\xb5\xc8 \xb8\xf0
    \xb5\xe2\xc0\xbb \xc3\xa3\xc0\xbb \xbc\xf6 \xbe\xf8\xbd\xc0\xb4\xcf\xb4\xd9.

    위의 문제 발생 원인은 Python이 비주얼 스튜디오 7.1(2003)으로 만들어져 있는데,
    msvcr71.dll 과 관련된 파일이 없어서 발생하는 문제입니다.
    http://www.npteam.net/199 여기에서 SetupMFC71.exe를 받아서 설치 하세요.

  7. 감사히 잘봤습니다.
    근데 서비스에 자동등록이 안되네요.. sc create로 서버명까지 넣어도.. Usage만 뜨는데 ^^;;

    그리고 한가지 VirtualHost설정하는 법좀 알려주세요. TOW에 Apache가 깔리는데 실제로 Monitor해보면 아무것도 실행되는게 없는데.. 시작할려면 원시적으로 다시 깔아야하는거 아닌지요? start-tow한다고 설정이 다되는줄 알았는데.. 것도 쉽지 않네요..

    감사합니다..

  8. Mark님의 comment를 보고 한번 해보려고 다시 TOW를 설치해보았습니다. ( 0.2.2.a 버전으로 2월 24일에 판올림되었네요)

    1) C:\TOW로 압축을 풀고
    2) C:\TOW\create-svn-repo.bat
    3) C:\TOW\create-trac-repo.bat
    4) C:\TOW\add-user.bat
    5) C:\TOW\start-tow.bat
    6) http://localhost:8080/projects/ 로 브라우저 접근
    프로세스 모티러링에 httpd 데몬은 띄어져 있구요..

    혹시 c:₩tow가 아닌 다른 곳에 인스톨하는 것이라면, 제작자 아래 Blog글을 참고하세요. (2008.03.07 글이네요)
    http://trac.tistory.com/entry/TOW-기본-디렉토리CTOW-변경해서-설치하기

  9. libapr.dll 에러 발생시 대처 방법

    [증상] TOW 실행시 httpd.exe에서 libapr.dll 에러 발생

    [원인] libapr.dll은 Subversion의 Bin폴더에 있는 dll 파일입니다.
    TOW를 실행하기전에 Windows버전 SVN 서버를 이미 설치하셨다면,
    기존의 SVN 서버를 Uninstall하시거나,
    환경 변수에서 APR_ICONV_PATH의 값을 “C:\TOW\Subversion\iconv”로 수정하시면 정상 작동합니다.

    httpd 아파치 모듈에서 libapriconv-1.dll을 이용해서 iconv의 환경설정 변수를 읽어서 처리하는데,
    TOW의 “C:\TOW\Subversion\iconv” 폴더 경로와
    이미 설치된 SVN 서버의 “C:\Program Files\Subversion\iconv” 폴더 경로가 일치하지 않아서 발생하는 문제점으로 추측됩니다.

  10. [Mon Jul 21 17:17:42 2008] [notice] Apache/2.2.6 (Win32) DAV/2 SVN/1.4.5 configured — resuming normal operations
    [Mon Jul 21 17:17:42 2008] [notice] Server built: Sep 5 2007 08:58:56
    [Mon Jul 21 17:17:42 2008] [notice] Parent: Created child process 4868
    [Mon Jul 21 17:17:43 2008] [error] python_init: Python version mismatch, expected ‘2.4.3’, found ‘2.4.1’.
    [Mon Jul 21 17:17:43 2008] [error] python_init: Python executable found ‘C:\\TOW\\Apache\\bin\\httpd.exe’.
    [Mon Jul 21 17:17:43 2008] [error] python_init: Python path being used ‘C:\\TOW\\Python;C:\\TOW\\Python\\DLLs;C:\\TOW\\Python\\Scripts;C:\\TOW\\Python\\Lib;;C:\\WINDOWS\\system32\\python24.zip;;C:\\TOW\\Apache\\bin’.
    [Mon Jul 21 17:17:43 2008] [notice] mod_python: Creating 8 session mutexes based on 0 max processes and 250 max threads.
    [Mon Jul 21 17:17:43 2008] [notice] Child 4868: Child process is running
    [Mon Jul 21 17:17:43 2008] [notice] Child 4868: Acquired the start mutex.
    [Mon Jul 21 17:17:43 2008] [notice] Child 4868: Starting 250 worker threads.
    [Mon Jul 21 17:17:43 2008] [notice] Child 4868: Starting thread to listen on port 8080.
    [Mon Jul 21 17:18:07 2008] [notice] Parent: Received shutdown signal — Shutting down the server.
    [Mon Jul 21 17:18:07 2008] [notice] Child 4868: Exit event signaled. Child process is ending.
    [Mon Jul 21 17:18:08 2008] [notice] Child 4868: Released the start mutex
    [Mon Jul 21 17:18:09 2008] [notice] Child 4868: Waiting for 250 worker threads to exit.
    [Mon Jul 21 17:18:09 2008] [notice] Child 4868: All worker threads have exited.
    [Mon Jul 21 17:18:09 2008] [notice] Child 4868: Child process is exiting
    [Mon Jul 21 17:18:09 2008] [notice] Parent: Child process exited successfully.
    [Mon Jul 21 17:19:58 2008] [notice] Apache/2.2.6 (Win32) DAV/2 SVN/1.4.5 configured — resuming normal operations
    [Mon Jul 21 17:19:58 2008] [notice] Server built: Sep 5 2007 08:58:56
    [Mon Jul 21 17:19:58 2008] [notice] Parent: Created child process 4768
    [Mon Jul 21 17:19:58 2008] [error] python_init: Python version mismatch, expected ‘2.4.3’, found ‘2.4.1’.
    [Mon Jul 21 17:19:58 2008] [error] python_init: Python executable found ‘C:\\TOW\\Apache\\bin\\httpd.exe’.
    [Mon Jul 21 17:19:58 2008] [error] python_init: Python path being used ‘C:\\TOW\\Python;C:\\TOW\\Python\\DLLs;C:\\TOW\\Python\\Scripts;C:\\TOW\\Python\\Lib;;C:\\WINDOWS\\system32\\python24.zip;;C:\\TOW\\Apache\\bin’.
    [Mon Jul 21 17:19:58 2008] [notice] mod_python: Creating 8 session mutexes based on 0 max processes and 250 max threads.
    [Mon Jul 21 17:19:58 2008] [notice] Child 4768: Child process is running
    [Mon Jul 21 17:19:58 2008] [notice] Child 4768: Acquired the start mutex.
    [Mon Jul 21 17:19:58 2008] [notice] Child 4768: Starting 250 worker threads.
    [Mon Jul 21 17:19:58 2008] [notice] Child 4768: Starting thread to listen on port 8080.
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] mod_python (pid=4768, interpreter=’tow.localhost’, phase=’PythonHandler’, handler=’trac.web.modpython_frontend’): Application error
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] ServerName: ‘tow.localhost’
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] DocumentRoot: ‘C:/TOW/Apache/htdocs’
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] URI: ‘/projects/wise’
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] Location: ‘/projects’
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] Directory: None
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] Filename: ‘C:/TOW/Apache/cgi-bin/trac.cgi’
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] PathInfo: ‘/wise’
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] Traceback (most recent call last):
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\Lib\\site-packages\\mod_python\\importer.py”, line 1537, in HandlerDispatch\n default=default_handler, arg=req, silent=hlist.silent)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\Lib\\site-packages\\mod_python\\importer.py”, line 1229, in _process_target\n result = _execute_target(config, req, object, arg)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\Lib\\site-packages\\mod_python\\importer.py”, line 1128, in _execute_target\n result = object(arg)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\Lib\\site-packages\\trac\\web\\modpython_frontend.py”, line 87, in handler\n gateway.run(dispatch_request)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\Lib\\site-packages\\trac\\web\\wsgi.py”, line 87, in run\n response = application(self.environ, self._start_response)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\Lib\\site-packages\\trac\\web\\main.py”, line 391, in dispatch_request\n env = _open_environment(env_path, run_once=run_once)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\Lib\\site-packages\\trac\\web\\main.py”, line 58, in _open_environment\n env_cache[env_path] = open_environment(env_path)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\Lib\\site-packages\\trac\\env.py”, line 462, in open_environment\n env = Environment(env_path)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\Lib\\site-packages\\trac\\env.py”, line 142, in __init__\n load_components(self)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\Lib\\site-packages\\trac\\loader.py”, line 95, in load_components\n egg.location)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\lib\\logging\\__init__.py”, line 955, in debug\n apply(self._log, (DEBUG, msg, args), kwargs)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\lib\\logging\\__init__.py”, line 1079, in _log\n self.handle(record)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\lib\\logging\\__init__.py”, line 1089, in handle\n self.callHandlers(record)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\lib\\logging\\__init__.py”, line 1126, in callHandlers\n hdlr.handle(record)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\lib\\logging\\__init__.py”, line 642, in handle\n self.emit(record)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\Lib\\logging\\handlers.py”, line 819, in emit\n self.handleError(record)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\lib\\logging\\__init__.py”, line 693, in handleError\n traceback.print_exception(ei[0], ei[1], ei[2], None, sys.stderr)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\lib\\traceback.py”, line 129, in print_exception\n _print(file, lines[-1], ”)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] File “C:\\TOW\\Python\\lib\\traceback.py”, line 13, in _print\n file.write(str+terminator)
    [Mon Jul 21 17:20:07 2008] [error] [client 127.0.0.1] IOError: [Errno 9] Bad file descriptor

    이에러는 어떻게 해결해야될까요?

  11. 와우 !! 유용한 정보 매우 감사해요 :)

  12. CodeBeamer 한번 써보세요. 5명까지는 무료이구요…
    설치에서 사용 및 관리까지 더 쉽습니다.

  13. 오류의 원인은 Vista나 Win7 등과 같이 Administator로 등록할 필요가 있을때는
    Command 등을 관리자 권한으로 실행을 한다면 열고 그기에 아래와 같이 넣어야 합니다.

    C:\Windows\system32>sc create trac binPath= “c:\TOW\start-tow.bat” start= auto DisplayName= “Trac Service of TOW”
    [SC] CreateService 성공

    위와 같이 하면 성공합니다.
    그리고 항상 따옴표를 윈도우에서 알 수 있도록 넣어줘야 합니다. 만약 웹의 따옴표를 카피해서 사용한다면 오류가 납니다.

  14. thanks, and maintain up the great work

  15. 좋은 정보 감사합니다 ^^

트랙백/핑백

  1. CentOS 5.0에 subversion - viewvc 설치 « Peter .WEB2 - 12월 27, 2007

    […] 이재홍님의 윈도우에서 Subversion과 ViewVC 사용하기를 참고하세요. #02. Trac에서는 기본적으로 ViewVC와 유사한 효과의 Repository Browser를 지원합니다. #03. CentOS 환경에서의 Apache, MySQL, PHP 설치는 CentOS 5.0에 XAMPP 1.6.1 설치 […]

  2. TOW (TracOnWindows) - 4월 4, 2008

    TOW (TracOnWindows) 사용기 모음입니다.

    이 포스트에 모아보겠습니다. http://goeasylife.tistory.com/entry/TOW-Trac-On-Windows-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0 http://www.nicklib.com/bbs/board.php?bo_table=bbs_lecture&wr_id=2&page=4 http://www.colcol.net/view/8312@http://web20ko

  3. TOW (TracOnWindows) - 5월 22, 2008

    커맨드창에서 Suversion 관련 명령 실행시 한글 메시지가 깨지는 현상 해결하는 방법…

    C:\TOW\set-tow.bat 파일을 열으셔서 밑줄친 줄을 추가하시면 됩니다. … set SVN_HOME=%TOW_HOME%\Subversion set APR_ICONV_PATH=%SVN_HOME%\iconv set PYTHON_HOME=%TOW_HOME%\Python … APR_ICONV_PATH 라는 키워드를 찾기가 엄…

  4. 바빠 죽겠는데, 형상관리도 하라구요? « Peter .WEB2 - 6월 2, 2009

    […] # Trac을 Windows에서 쉽게 설치하여 사용하기 […]

  5. 2009년 Peter .WEB2 블로그 인기글 정리 « Peter .WEB2 - 1월 1, 2010

    […] 1. Trac을 Windows에서 쉽게 설치하여 사용하기 […]

  6. 블로그 결산 – PM 기법 인기 순위 « Peter .WEB2 - 1월 5, 2011

    […] Trac을 Windows에서 쉽게 설치하여 사용하기 […]

  7. 바빠 죽겠는데, 형상관리도 하라구요? « PMUnion - 5월 22, 2011

    […] # Trac을 Windows에서 쉽게 설치하여 사용하기 […]

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중

%d 블로거가 이것을 좋아합니다: