Google AdSense (text)

hidden logo stop

Moving

거지 같은 이글루스 광고노출 정책이 싫어서,
새 보금자리(http://blog.leocat.kr/)로 이사감.

[Trac] Trac 설치 Computer & Program

Trac을 설치했다. 포스팅 안 하고 그냥 넘어가려 했는데.. 이거.. 너무 어렵고 복잡해서.. 다시 설치하려면 고생할 것 같아 대충이라도 적어놔야겠다. 게다가 윈도우에서 설치하는 방법은 그다지 없고, 설치 방법 마다 설치하는 내용이 왜이리도 다른지.. 머리 터지는 줄 알았음 TㅅT 막판에 apache 설정을 삽질하는 바람에 생고생 까지.. TㅅT

우선.. Trac을 설치하면서 함께 필요한 것들.. 이 많은 것들을 모두 설치해야 한다.

- 일반적인 방법으로 설치하는 것들
Apache (웹서버. 없는 경우 tracd 명령으로 동작시킬 수 있음. 14번 단계 참고)
Mod-python (apache에서 python을 사용하기 위한 apache module)
Python
Subversion
Subversion Python Binding (python을 통해서 subversion을 사용할 수 있게 하는 도구)
setuptools (Python Package Index에 있는 패키지를 손쉽게 다운로드, 설치하는 도구)

- setuptools(easy_install)를 통해 간단히 설치하는 것들(따로 다운로드하지 않아도 됨)
SQLite (다른 database를 사용하는 방법은 Trac 설치 문서 참조)
Genshi (HTML 랜더링을 위해 사용한다고 한다.)
Pygments (구문 lighlighting을 위해 사용)
Trac

setuptools로 설치하는 것들은 있어도 되고, 없어도 되는 것들이 보통이다. 옵션으로 있으면 더 편하고 쓰기 좋은 기능을 하는 것 같다.


1. Apache와 Subversion 설치
나는 apache와 subversion은 이미 설치해서 사용하고 있었기 때문에 이 설치 내용은 패스~~

2. Python 설치
http://www.python.org/에 접속해서 python을 받아 설치한다. python만 사용하면 아무 버전을 사용하면 될텐데.. 현재 윈도버전용 mod는 python 2.5와 apache 2.2까지만 지원해서 최신 버전을 설치했다 다시 지우고 2.5 버전을 설치했다. TㅅT

3. Mod-python
Trac은 python으로 되어 있기 때문에 python 코드를 동작시키기 위해 mod를 설치한다. 이걸로 apache와 python 연결은 끝..

4. Subversion Python Binding
Trac의 python 코드가 subversion을 사용할 수 있게 하기 위해 설치한다.

5. setuptools
다음의 설치를 쉽게 하기 위한 도구를 설치한다. 이 setuptools을 사용하면 Python Package Index에 등록된 package를 자동으로 다운받아 설치한다. easy_install이라는 명령으로 package를 설치하게 된다.

6. SQLite
Trac은 database도 사용한다. 기본은 SQLite이고, 다른 database를 사용하고자 하면 Trac 설치 문서를 참고하자. 다음 명령을 통해 setuptools를 사용해서 Pysqlite를 간단하게 설치할 수 있다.
easy_install pysqlite


7. Genshi
HTML, XML 랜더링을 해주는 도구이다.
easy_install Genshi


8. Pygments
소스 코드의 syntax highlighting을 지원하는 도구이다.
easy_install Pygments


9. Trac
Trac도 setuptools를 통해서 설치할 수 있다.
easy_install Trac



자.. 이제 설치는 끝났다. 설정을 해볼끄나?? =ㅅ= apache, subversion 설치를 뛰어 넘었는데도 설치한게 벌써 몇 개다냐.. setuptools로 설치한 Genshi와 Pygments 외에도 enscript 등 여러 도구가 있는데 설치해도 되고 그렇지 않아도 되는 듯 싶다. Trac 설치는 너무 복잡하다. TㅅT

10. Subversion 저장도 만들기
Trac 이 녀석.. subversion도 사용한단다. 아아~~ 그럼 만들어 줘야지.. 나는 Trac용 subversion repository를 따로 모으기 위해 D:\SubversionRepository\tracRepository 경로를 만들었다. 그리고 test라는 trac 프로젝트를 위해 test라는 경로로 subversion repository를 생성한다.
svnadmin create [SVN_REPOSITORY]\[PROJECT_NAME]
svnadmin create D:\SubversionRepository\tracRepository\test


11. Trac 프로젝트 만들기
이제 정말 Trac 프로젝트를 만든다. test 프로젝트를 위해 trac repository 경로(D:\tracRepository) 하위에 test 경로에 생성했다.
trac-admin [TRAC_REPOSITORY]\[PROJECT_NAME] initenv
trac-admin D:\tracRepository\test initenv

위의 명령을 입력하면 커맨드라인으로 사용자의 입력을 받는다. 아래는 그 내용 중 입력하는 부분만 골랐다. 모두 입력하면 프로젝트를 생성하며, 마지막에 "Congratulations!"가 출력되면 모두 생성된 것이다.
...
Project Name [My Project]> test
...
Database connection string [sqlite:db/trac.db] 그냥 엔터 (다른 database를 사용하는 경우 설치 문서 참조)
...
Repository type [svn]> 그냥 엔터
...
Path to repository [/path/to/repos]> D:\SubversionRepository\tracRepository\test (앞에서 만든 subversion repository 경로)
...


12. Apache mod 설정하기
앞에서 설치한 mod_python을 사용하도록 [APACHE_HOME]/conf/httpd.conf 파일에 설정한다. "LoadModule"로 찾아보면 기존에 설정된 module 설정이 있으니 이 부분에 함께 끼워 넣으면 되겠다. 이 부분을 빼먹어서 한참 삽질했었다. TㅅT
LoadModule (기존 module 설정들..)
LoadModule python_module modules/mod_python.so


13. Apache virtual host 설정하기
Trac에 접속할 때 apache를 사용하기 위해 apache의 virtual host를 설정한다. 만일 apache를 사용하지 않는다면 14번 단계의 tracd를 사용하면 된다. apache 2.1 이하 버전에서는 [APACHE_HOME]/conf/httpd.conf에 다음 설정을 추가하면 되고, 2.2 이상 버전에서는 [APACHE_HOME]/conf/extra/httpd-vhosts.conf에 추가하면 된다.
NameVirtualHost *:80

# Trac
<VirtualHost *:80>
  DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/"
  ServerName trac.TuxedoCat
  ErrorLog "logs/trac.TuxedoCat-error.log"
  CustomLog "logs/trac.TuxedoCat-access.log" common
 
  <Location /trac>
      SetHandler mod_python
      PythonInterpreter main_interpreter
      PythonHandler trac.web.modpython_frontend
      PythonOption TracEnvParentDir D:\tracRepository # trac 프로젝트 경로가 아닌 그 상위 경로이다.
      PythonOption TracUriRoot /trac
  </Location>
 
  <LocationMatch "/trac/[^/]+/login"> # 로그인을 하기 위한 URL을 적어준다.
      AuthType Basic
      AuthName "Trac"
      AuthUserFile conf/.htpasswd # 15 단계에서 생성할 로그인 계정 설정 파일 경로
      Require valid-user
  </LocationMatch>
</VirtualHost>

동작 원리는 /trac URL로 접근하면 mod_python을 통해서 python handler를 동작시킨다. handler parameter로 몇 가지 경로 등을 설정하고, 그 경로 하위로 존재하는 trac 프로젝트를 메인 페이지에서 보여준다.

14. apache 대신 tracd 사용하기
이 단계는 apache를 사용하는 경우 진행하지 않아도 된다. 13단계의 설정과는 달리 trac 프로젝트 경로를 적어준다.
tracd --port 8000 D:\tracRepository\test


15. 사용자 암호 설정하기
13 단계에서 설정한 virtual host의 접속 계정 파일을 생성한다. [APACHE_HOME]/bin/htpasswd.exe를 통해서 로그인 계정 설정 파일을 생성한다. 생성된 파일은 13 단계에서 설정한 위치로 옮긴다. 해당 경로는 [APACHE_HOME]에서부터의 상대경로이다. 13 단계의 설정 예는 [APACHE_HOME]/conf/.htpasswd 이다. 추가할 사용자가 있으면 "-c" 옵션 없이 계속 추가하면 된다. "-c' 옵션은 파일 생성 시에만..
cd [APACHE_HOME]/bin/
htpasswd -c .htpasswd admin
htpasswd .htpasswd userName


16. 사용자에 관리자 권한 추가하기
15 단계에서 추가한 사용자 중 원하는 프로젝트에 관리자 권한을 설정할 수 있다. 관리자 권한을 설정할 프로젝트 경로(D:\tracRepository\test)와 사용자명(admin)을 설정해준다.
trac-admin D:\tracRepository\test permission add admin TRAC_ADMIN

17. 접속 테스트
자.. 이 엄청난 설치와 설정이 모두 끝났다. 휴우~~ apache virtual host로 설정한 URL로 접속해보자. 설치된 프로젝트 목록이 보이면 성공!!
http://127.0.0.1/trac/




+ 참조 사이트
Trac 설치하기
Subversion과 Trac 설치(Windows)
Apache+Python+Subversion+Trac 설치(Windows시스템)

+ 어떤 참조는 중간에 한 스텝을 빼먹기도 해서 삽질 많이 했다. TㅅT

덧글

  • 산사랑 2010/01/04 13:19 # 삭제 답글

    Mantis에 비해 Trac이 설치가 유난히 어렵고 까다롭죠.
    그러나 기능이 여러가지로 많으니 전문적으로 사용하기에는 좋은 도구인것 같습니다.
  • Sigel 2010/01/04 22:40 #

    아아~~ 설치하다 쓰러지는 줄 알았습니다. @ㅅ@
    이렇게 뭘 설치해야 하는지 모르겠는건 처음이더군요 =ㅅ=;;;
    멋지게 써봐야죠.. ㅋㅋ
  • 월하검객 2010/10/24 09:17 # 삭제 답글

    좋은 자료 감사합니다. 퍼갑니다. ^^
  • Sigel 2010/10/27 09:09 #

    잘 사용하세요.
댓글 입력 영역

Google AdSense (text/image)