본문 바로가기
ubuntu/server

우분투에 TRAC을 설치하자 - apache 기반

by lifeseed 2010. 11. 2.

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>

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


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 버튼을 클릭하면 설정이 끝이난다.