[우분투] trac 0.12 Computer Tip

Trac을 설치하고 Subversion과 연동시키고 이러한 작업은 매우 간단하다.


setuptools가 설치되어 있다는 가정하에 아래와 같이 하면 Trac의 설치는 끝이다.


$ easy_install babel
$ easy_install Genshi
$ easy_install Pygments
$ easy_install docutils
$ easy_install textile

$ easy_install trac


그러나 kldp에서 진행되었던 Trac 한글화 Project의 template을 이용하는 것이 아닌 공식적으로 지원하는 한글 version을 이용하기 위한 설치 방법을 소개 하겠다.


지금부터 설치하는 Trac은 0.12dev version을 기준으로 하며 OS는 우분투 Ubuntu 9.04 이다.

설치에 앞서 필요한 package는 다음과 같다.


# apt-get install httpd python sqlite subversion python-setuptools libapache2-mod-python

# mkdir -p /work/tracinst

# cd /work/tracinst


설치디레터리가 /work/tracinst라 하고 그것을 생성 후 이동한다.


필요한 package가 준비되었다면 우선은 babel을 설치한다.

# svn co http://svn.edgewall.org/repos/babel/trunk babel


babel을 설치하는 데 필요한 Locale Data를 download한다.

# wget http://unicode.org/Public/cldr/1.6.1/core.zip

# unzip core.zip -d core


core.zip를 특정 directory에 Unzip 후 아래 명령들을 실행한다.


# cd bable

# ./setup.py egg_info

# ./scripts/import_cldr.py ../core

여기서 ../core는 core.zip file을 Unzip 한 경로이다. 즉 설치하는 사람에 취향에 맞게 지정해 주면 된다.


# easy_install ElementTree

ElementTree를 설치하고,


# ./setup.py install

babel을 드디어 설치!


설치가 완료되었다면 Testsuite을 실행하고 HTML 문서들을 생성하는 작업을 진행해 보겠다.

모두 Trac을 설치하기에 앞서 필요한 작업들이다.(babel 설치의 연장이다.)


# ./setup.py test

만약 위의 명령을 실행하고도 OK를 보지 못했다면 아래 명령으로 pytz를 설치해주면 된다. (FAILED 가 나왔다)

# easy_install pytz


자 이제... Trac 설치가 가까워 지고 있다. 문서들을 생성해 보자.

# easy_install docutils

# easy_install epydoc

# easy_install http://svn.edgewall.org/repos/genshi/trunk

# easy_install Pygments

여기서 주목할 점은 sudo easy_install http://svn.edgewall.org/repos/genshi/trunk 부분이다.

Genshi의 경우 다른 문서들과 달리 easy_install genshi 로 설치하지 않는다.

easy_install genshi 로 설치할 경우 0.5.1a version이 설치되는데 Trac Wiki에서 문제를 발생시킬 수 있기

때문에 별도의 URL을 통해 0.6dev version을 설치하는 것이다.

Trac 0.11 version에서 Trac 0.12dev version으로 upgrade하는 경우 더욱 더 주의해야 한다.


# ./setup.py test_doc

# cd ..

마지막으로 여기까지 끝냈다면 이제 드디어! 대망의 Trac 설치이다.



# svn co https://svn.edgewall.com/repos/trac/trunk trac-trunk

# cd trac-trunk


우선 babel과 마찬가지로 svn checkout을 통해 trac file을 받는다.


# ./setup.py compile_catalog --use-fuzzy


po file들을 mo file로 변환을 하고,


$ sudo ./setup.py install

Trac을 설치.

기존에 Trac이 설정되어 있던 사람은 바로 접속해 보자. 한글로 변환된 메뉴를 볼 수 있을 것이다.

만약 변환된 메뉴들을 볼 수 없다면 server의 언어 설정이 제대로 되어 있지 않거나 Trac이 제대로 인식하지

못한것이다.


Logout 오른쪽의 link를 click 하여 설정화면으로 넘어가자.

Language Tab에서 한국어(대한민국)으로 변경 후 Save changes를 click하면 한글로 변환된 모습을 볼 수 있을

것이다.



지금부터의 설명은 Trac을 처음 설치하였거나 설정한 적이 없는 경우 Trac 생성, Subversion과의 연동에 대한

안내이다.


우선은 Subverstion 저장소를 생성한다.


# mkdir -p /work/svn && cd /work/svn

# mkdir [ProjectName]
# svnadmin create --fs-type fsfs [ProjectName]

# chown -R www-data.www-data [ProjectName]


[ProjectName]에는 생성할 Subverstion 저장소의 이름으로 보통 진행중인 project의 이름을 적어 주면 된다.

$ chown -R apache.apache /var/svn/repos/[ProjectName] 은 저장소에 apache web server가 접근할 수

있도록 소유자와 group을 apache로 변경한 것이다.


Trac과 Subversion 연동을 위해 Subversion 저장소를 먼저 생성하였다. 이제 Trac을 생성해 보자.


# mkdir -p /work/trac && cd /work/trac

# mkdir [ProjectName]

# trac-admin [ProjectName] initenv


prompt를 통해 project 이름, 저장 db 등을 입력할 수 있는데 대부분 enter만을 눌러 기본값을 사용하면 된다.

그러나 Path to repository [/path/to/repos]> 부분에서는


Subversion 저장소 경로(/work/svn/repos/[ProjectName])를 입력해 주어야 한다.


# chown -R www-data.www-data [ProjectName]

Trac도 Subverstion과 마찬가지로 apache web server가 접근할 수 있도록 소유자와 group을 변경한다.


자, 이제 Trac과 Subversion을 사용할 수 있는 사용자를 지정해 주어야하는데, htpasswd를 이용하도록 하자.


# mkdir -p /work/svn/user_access

# touch /work/svn/user_access/.project_passwd

# chown -R root.www-data /work/svn/user_access/.project_passwd
# htpasswd -m /work/svn/user_access/.project_passwd [UserName]

[UserName]에는 사용자 이름을 넣어 주고 password를 입력해 주면 사용자가 생성된다.


만약 추가한 사용자에게 Trac 관리자 권한을 주고 싶다면 아래 명령을 실행.

한 명 이상의 관리자는 꼭 필요하다 그래야 뒤에 추가할 Trac 관리 plugin을 사용할 수 있다.

# trac-admin /work/trac/[ProjectName] permission add [UserName] TRAC_ADMIN


Trac과 Subversion의 소유자와 group을 apache web server가 제어할 수 있도록 변경한 이유는 apache를 통해

Trac과 Subversion에 접근하기 위함이다.

이 를 위해 아래와 같이 apache 설정을 변경하여야 한다.


$ sudo vi /etc/apache2/sites-available/default

위의 VirtualHost 안에 아래의 내용을 넣는다.


<Location "/trac">

SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /work/trac/[ProjectName]
PythonOption TracUriRoot /trac
</Location>

<Location "/trac/login">
AuthType Basic
AuthName "trac"
AuthUserFile /work/svn/user_access/.project_passwd
Require valid-user
</Location>


<Location "/svn">
DAV svn

SVNPath /work/svn/repos/[ProjectName]
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /work/svn/user_access/.project_passwd
Require valid-user
</Location>


설정 file 수정이 끝났다면 apache를 재 실행 해주자.


$ sudo service httpd restart


http://[HostName]/trac 을 통해 확인!



정상적으로 작동하는 것을 확인하였다면 여기서 bonus가 있다.

사용자외 접근 금지, milestone 관리 등을 이제부터 해야 할텐데... Trac은 기본 적으로 trac-admin과

trac.ini를 수정하여 설정을 변경하고 관리한다.

그러나 이러기 위해서는 trac-admin의 명령을 알아야 하고 trac.ini를 수정할 줄 알아야 하는 문제가 있는데.

이런 관리와 설정을 web에서 할 수 있는 방법이 있다.

plugin을 설치하면 된다.


# easy_install http://trac-hacks.org/svn/accountmanagerplugin/trunk


위 사용자 추가 부분에서 설명한대로 관리자 권한을 추가한 사용자로 login을 하게 되면 관리라는 메뉴가

추가 된 걸 볼 수 있다.


이제 더욱 편하게 Trac을 관리할 수 있게 되었다.


http://trac-hacks.org/


위 사이트에는 Trac plugin이 많이 있으므로 필요한 plugin을 찾아 설치한다면 Trac을 더욱 편리하고 다양하게

사용할 수 있을 것이다.

위의 내용은,


[출처] 한글로 표시되는 Trac(0.12dev) 사용하기 (작성중) (혀니파파 컴세상) |작성자 철현짱

의 내용을 우분투에서 작업하면서 수정한 내용입니다.


덧글

댓글 입력 영역

구글애드텍스트