1. TRAC을 설치한다.
- 기본 package : python-setuptools, trac
- python apache module : libapache2-mod-python
$ sudo apt-get install libapache2-mod-python python-setuptools trac
libapache2-mod-python 를 설치하면 apache에 다음과 같은 파일이 추가된다.
- /usr/lib/apache2/modules/mod_python.so
- /etc/apache2/mods-available/python.load
와 python.load의 링크 파일이 mods-enabled 디렉토리에 생성된다.
2. TRAC을 위한 apache 환경 설정
TRAC의 repository는 /home/repos/trac_root 이고, htpasswd 파일 및 apache 설정 파일의 위치는 /home/repos/conf 일때
설정파일 httpd-trac.conf를 다음과 같이 생성한다.
# TRAC Apatch Configuration
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracUriRoot /trac
PythonOption TracEnvParentDir /home/repos/trac_root
</Location>
<LocationMatch "/mobile_trac/[^/]+/login">
AuthType Basic
AuthName "TRAC Repository"
AuthUserFile "/home/repos/conf/htpasswd"
Require valid-user
</LocationMatch>
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracUriRoot /trac
PythonOption TracEnvParentDir /home/repos/trac_root
</Location>
<LocationMatch "/mobile_trac/[^/]+/login">
AuthType Basic
AuthName "TRAC Repository"
AuthUserFile "/home/repos/conf/htpasswd"
Require valid-user
</LocationMatch>
httpd-trac.conf 파일의 링크를 apache의 mods-enabled 디렉토리에 생성하고 apache를 다시 시작한다.
$ sudo ln -s /home/repos/conf/httpd-trac.conf /etc/apache2/mod-enabled/httpd-trac.conf
$ sudo /etc/init.d/apache2 restart
3. Repository 관리
1) Repository 생성
$ sudo trac-admin prj_name initenv
이렇게 생성한 후 trac page에 접속하면 다음과 같은 에러 메세지가 발생한다.
Traceback (most recent call last):
File "/usr/lib/python2.6/dist-packages/trac/web/api.py", line 378, in send_error
'text/html')
...
TracError: The user www-data requires read _and_ write permissions to the database file /home/repos/trac/prj_name/db/trac.db and the directory it is located in.
역시 prj_name 디렉토리의 권한 문제이다.
권한을 수정하자.
$ sudo chown -R www-data:www-data ./prj_name
다시 접속하면 정상적인 화면을 볼 수 있다.
2) Admin 등록
$ sudo trac-admin ./prj_name permission add [usrID] TRAC_ADMIN
3) resync
$ sudo trac-admin ./prj_name resync
3) Backup
$ sudo trac-admin ./prj_name hotcopy ./prj_back_name
Backup 하는동안 자동으로 prj_name을 Lock 시킨다.
4. TRAC PlugIn 설치
본인의 경우 기본적으로 따로 설치해서 즐겨 쓰는 plugin은 두가지다.
TracAccountManager 와 IniAdmin 이다.
전자의 경우 사용자 권한 설정에 사용되며, 후자의 경우 trac.ini를 GUI 를 이용해서 trac admin page에서 수정이 가능하도록 도와 준다.
우선 설치 부터 알아 보자.
1) TracAccountManager
apt-get install 명령을 이용하여 설치가 가능하며, 0.2.1dev 버전이 설치된다.
명령은 다음과 같다.
$ sudo apt-get install trac-accountmanager
설치가 끝났다.
TRAC의 프로젝트에 admin 권한 으로 로긴하면 Admin 페이지접속이 가능하다.
Plugins 를 선택하면 TracAccountmanager 0.2.1dev 가 보인다.
다시 TracAccountmanager 0.2.1dev를 선택하면 여러 항목과 함께 체크 박스가 보이는데 그중 아래 항목만 체크하고
아래쪽에 있는 Apply changes 버튼을 클릭하면 설정이 끝난다.
AccountManagerAdminPage
AccountManager
HtPasswdStore
AccountModule
AccountManager
HtPasswdStore
AccountModule
2) IniAdmin
TracAccountManager과 달리 agt-get으로 설치가 불가능하다.
따라서 IniAdmin 관련 TRAC wiki page를 참조하여 설치한다. (http://trac-hacks.org/wiki/IniAdminPlugin)
지금까지 따라서 설치를 했다면 python에 포함된 easy_install 명령을 사용할 수있다.
즉, easy_install 명령을 이용하여 설치한다.
우분투 10.10의 경우 apt-get 명령을 이용하여 trac을 설치할 경우 0.11 버전이 설치되므로 plugin도 0.11 버전을 설치한다.
$ sudo easy_install http://trac-hacks.org/svn/iniadminplugin/0.11
설치는 이 한줄의 명령으로 끝난다. TRAC 페이지를 다시 접속하여 admin 계정으로 로긴하여 plugins를 확인하면
IniAdmin 0.2 가 설치된 것을 확인 할 수 있다.
선택가능한 항목은 enable 체크박스 하나이므로, 선택후 Apply changes 버튼을 클릭하면 설정이 끝이난다.