Tag Archives: python

TRAC과 SVN 연동시 Unsupported version control system ‘svn’ 에러 해결 방법

Trac과 SVN을 연동한 후 mod_python을 이용해 APACHE와 연동을 하게 되면 종종 보게 되는 문제입니다.

[code]Unsupported version control system ‘svn'[/code]

라고 주저리 주저리 나오는데요, subversion-python 패키지를 설치하면 해결됩니다.

[이곳] 에서 자신의 운영체제에 맞는 가장 최신버젼으로 subversion 패키지를 교체합니다.

문제가 해결될 것입니다.

Trac Apache 1.3버젼과 연동하기

분명히 몇달전만 해도 Trac은 2.0 및 2.2 버젼대의 Apache 웹서버와만 연동이 가능했습니다.

이번에 1.3버젼대에서 돌려야만 하는 상황이 와서 tracd로 standalone으로 실행하고 있었는데 오늘 보니깐 1.3에서도 연동이 가능한 방법이 있었군요! 정확히는 생겼군요!

mod_wsgi를 사용하면 매우 빠르면서도 Apache버젼을 타지 않고 Trac을 웹서버와 연동할 수 있습니다.

우선 이곳에서 소스를 다운 받으세요. 현재 2.0이 최신버젼입니다. [소스바로다운로드]

컴파일 하여 설치를 합니다.
[code][root@Theeye src]# ls
mod_wsgi-2.0.tar.gz
[root@Theeye src]# tar -zxvf mod_wsgi-2.0.tar.gz
[root@Theeye src]# cd mod_wsgi-2.0
[root@Theeye src]# ./configure –with-apxs=/usr/local/apache/bin/apxs –with-python=/usr/local/bin/python
[root@Theeye src]# make
[root@Theeye src]# make install[/code]

httpd.conf 에 다음의 내용을 추가합니다.
[code]LoadModule wsgi_module modules/mod_wsgi.so
AddModule mod_wsgi.c[/code]

Trac이 설치된 폴더로 이동하여 다음의 디렉토리를 생성합니다.
[code][root@Theeye trac]# mkdir apache
[root@Theeye trac]# mkdir eggs[/code]

db, eggs 디렉토리를 아파치 웹서버의 권한으로 변경합니다. (예 : 아파치가 nobody로 실행될 경우)
[code][root@Theeye trac]# chown -R nobody.nobody eggs db attatchment conf[/code]

apache 디렉토리 밑에 trac.wsgi를 만들고 안에 다음과 같은 내용을 적습니다.
[code]import os
os.environ[‘TRAC_ENV’] = ‘/env/trac’
os.environ[‘PYTHON_EGG_CACHE’] = ‘/env/trac/eggs’
import trac.web.main
application = trac.web.main.dispatch_request[/code]

보통 프레임워크에서 볼 수 있을법한 Dispatcher 스크립트 입니다.

이제 Apache에 설정을 추가하면 됩니다. httpd.conf파일이나 외부 파일에 설정하신 후 include하셔도 됩니다.
[code]<IfModule mod_wsgi.c>
WSGIScriptAlias /trac /env/trac/apache/trac.wsgi
<Directory /home/httpd/trac>
    WSGIApplicationGroup %{GLOBAL}
    Order allow,deny
    Allow from all
</Directory>
<Location /trac/login>
    AuthType Basic
    AuthName “Star Team Area”
    AuthUserFile /env/passwd
    Require valid-user
</Location>
</IfModule>[/code]

이제 http://localhost/trac 으로 접속해 봅시다. 잘 되시나요? 하지만 확실히 크게 빠르다는 느낌은 받지 못했습니다. 그래도 좋네요^^

자세한 레퍼런스는 http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac 을 참고하세요.