Skip to content
Posted on:January 18, 2009 at 01:12 PM

Trac On Windows 가이드

Trac On Windows 가이드

TOW 0.3.0a, 2008년 8월 버전

TOW-0.3.0-alpha1-Base-en.ZIP

    • Python 2.5.2
    • Trac 0.11.1
    • Genshi 0.5.1
    • Apache HTTP Server 2.2.9
    • Mod_python 3.3.1
    • Subversion 1.5.1 (Subversion Repository support 1.4)
    • Subversion Python binding 1.5.1
    • EasyInstall 0.6c8
    • Added useful scripts.
  1. 다운받은 zip파일을 c:TOW 디렉토리에 풀어준다.
  2. 환경변수를 등록하기 위해서 다음의 Python 스크립트를 실행시킨다.
    [towservice](/data/06/towservice.zip)
    python towservice.py
  • 환경변수가 제대로 레지스트리에 추가되고 컴퓨터를 재부팅한다.
  • 제대로 되어 있는지 확인하기 위해서 Httpd를 실행시켜본다.
cd towApachebin
httpd
  • 확인을 하기 위해서 아래의 주소를 웹브라우저에 입력하기 제대로 동작하는 지 확인한다.
http://localhost:8080/projects

제대로 trac 페이지가 떴다면 제대로 설치가 된것이다.

  • 이제 TOW를 서비스로 등록한다. 인터넷에서 찾은 다른 자료들은 start-tow.bat를 서비스로 등록을 하던데 여기서 하려고 하는 방법은 Apache를 직접 서비스로 등록하는 것이다. towservice.py가 이미 필요한 환경변수들을 시스템에 등록을 했고, 아파치 설정도 다 되어있기 때문에 바로 아파치를 서비스로 등록하는 것만으로도 충분하다.
cd towapachebin
httpd -k install
  • 이제 윈도우 서비스 관리로 들어가서 Apache를 찾은 후에 시작 유형을 자동으로 하고 서비스를 시작한다. 이제 시스템이 시작함과 동시에 trac이 실행되게 된다.
  • 트랙 기본프로젝트 웹사이트:
    http://localhost:8080/projects/HelloTow
  • svn repo :
http://localhost:8080/svn/HelloTow
  • 관리자 암호 변경하기
add-user admin <새 비밀번호>
  • 새 사용자 추가하기
add-user.bat <UserName> <Password>

그리고 반드시 이것을 해줘야 한다. http://trac.tistory.com/27

  • 새 프로젝트 등록하기
add-project

혹은

create-svn-repo.bat <ProjectName>
create-trac-repo.bat <ProjectName>
  • 프로젝트 제거하기
    다음 위치의 디렉토리 2개를 제거한다.
SvnRepoProjects<ProjectName>
TracRepoProjects<ProjectName>
  • 리포지토리 변경할 때
    기존에 subverison 1.5.5 서버로 서비스로 운영하던 리파지토리를 이전하니까 제대로 되지 않았다. 그래서 궁리하던 바 아래의 명령어로 고쳐졌다.
trac-admin <ProjectName> resync

web에서는 됬지만 svn client로 check out할 때 에러가 나서 기존 1.5.5.기반의 리포지토리는 사용할 수 없게 되었다. 지금 가지고 있는 버전이 그닥 리비전이 많치 않아서 버전 히스토리 날리기로 맘먹었다.

  • Trac 환경설정 파일
c:TOWTracRepoProjectsmkpconftrac.ini
  • 아직은 잘 모르겠는데, 일단 admin 계정으로 trac에 로그인 해서 상단 메뉴바 중에 가장 오른쪽 끝에 있는 Admin버튼을 누르고, 그 메뉴중에 Permissions를 선택한다.
    크게 3가지 메뉴가 있는데 여기에서 Grant Permission 쪽에다 다음과 같이 설정한다.
  • Subject: Action: Trac_admin.
  • 이렇게 하면 Manage Permission 쪽에 새로운 이름이 나타나게 되고, 그 계정으로 로그인 하면 Admin 권한이 있다.
  • 사용자들을 그룹별로 묶어서 그 그룹에 권한을 줘야 맞을 것 같은데 아직 사용법을 다 모르겠다. 일단은 이렇게 하면 할려고 하는 것은 할 수 있는 상태이므로 그렇게 놓치만 나중에 좀 더 프로젝트가 커지면 제대로 알아보도록 하자.
  • trac.ini 파일에서 150라인 근처의
    default_charset = utf-8

    로 고쳐준다.

 

  1. AccountManager
  • 트랙에서 유용하게 사용하는 기능 중의 하나가 commit할 때 연관된 ticket에 그 내용을 적어서 나중에 ticket에 적힌 내용만으로 무슨 일들이 행해졌나를 보는 기능이 있다. 이것이 trac과 svn이 연결되는 가장 중요한 기능인데 이에 대한 셋팅을 하는 법이다.
  • pre-commit
    svn 로그가 형식에 맞게 쓰여지지 않았을 경우에 커밋이 안되게 하는 용도로 사용한다.
  • post-commit
    svn 로그에 적힌 티켓번호, 리비전등을 트랙 티켓에 연결한다.
  • 파일 및 다운로드
    디렉토리 안에 다음의 4개의 스크립트를 푼다. [tow-hooks.zip]("/data/06/tow-hooks.zip")
    • pre-commit.cmd
    • trac-pre-commit-hook.py
    • post-commit.cmd
    • trac-post-commit-hook.py
svnrepoprojects<ProjectName>hook
  • cmd 파일을 열어서 TRAC_ENV 변수를 잘 설정해준다.
  • TOW 기본 포트가 8080이라 좀 불편한 관계로 기본 포트로 변경을 하는게 좋을 것 같다.
    /Apache/conf/httpd.conf

 

  • 53라인근처의 아래 설정을 바꿔준다.
    Listen 80
  • 142라인근처의 아래 설정을 바꿔준다.
    ServerName tow.localhost:80
    1. admin으로 로그인해서 사용자들에게 trac-admin permission을 준다.
    2. trac.ini 파일 수정하기
       27: link = http://mpc/projects/mkp
      28: src = site/trac_banner.png (trac_banner.png파일은 복사해온다)
      150: default_charset = utf-8

     

  • hook파일 복사해오기
    pre-commit.cmd, trac-pre-commit-hook.py, post-commit.cmd, trac-post-commit-hook.py 4개파일 복사해온다.
    그중에서 cmd 파일 열어서 TRAC_ENV 변수를 잘 설정해준다.
  • Web Analytics