1. 설치에 앞서
다음은 Subversion 설치과정과 Subversion과 연동한 Trac 설치방법에 대한 글이다. Subversion은 Apache 웹 서버로 서비스되도록 설치할 것이며, Trac은 mod_python을 이용한 Apache로 서비스되도록 설치할 것이다.
Subversion Python Binding, mod_python, Genshi 등 Python을 이용한 패키지들은 바이너리 버전을 사용하여 설치할 것이다. 이 경우 해당 시스템에 설치된 Python 버전에 맞는 바이너리 버전을 설치해야 한다. 아래 기술된 설치과정에서는 Python 2.5.1.을 설치하고 이에 맞는 버전들을 설치하는 것으로 설명한다. 또한, Subversion 저장소, Trac 프로젝트 명은 개발 프로젝트에 알맞게 적용하여 사용하길 바란다.
2. 설치에 필요한 파일들
- Apache 2.2.8 (http://httpd.apache.org/)
apache_2.2.8-win32-x86-no_ssl.msi
- Subversion 1.4.6 for Apache 2.2.x (http://subversion.tigris.org/)
- Python 2.5.1 (http://python.org/)
- svn-python (http://subversion.tigris.org/)
svn-python-1.4.6.win32-py2.5.exe
- mod_python (http://www.modpython.org/)
mod_python-3.3.1.win32-py2.5-Apache2.2.exe
- setuptools (http://pypi.python.org/pypi/setuptools)
setuptools-0.6c8.win32-py2.5.exe
- pysqlite (http://initd.org/tracker/pysqlite)
pysqlite-2.4.1.win32-py2.5.exe
- Pygments 0.9 (http://pygments.org/)
- Genshi (http://genshi.edgewall.org/)
- Trac 0.11b (http://trac.edgewall.org/)
3. Apache 설치
apache_2.2.8-win32-x86-no_ssl.msi 파일을 실행하여 설치한다. 관리자 이에일 주소, 서버명 등을 입력하면 설치된다.
4. Subversion 설치
svn-win32-1.4.6.zip 파일을 설치할 경로에 압축을 푼다. 이 문서에서는 “C:\svn-win32-1.4.6”에 설치하였다.
5. Python 설치
Python-2.5.1.msi 를 실행하여 Python을 설치한다. 기본 설치 디렉터리는 “C:\Python25”이고, 이 설치과정에서는 기본 설정으로 설치한다. 설치 종료 후 재부팅 메시지가 나오고, 재부팅해준다.
6. setuptools 설치
Pygments를 easy_install을 이용해 편리하게 설치하기 위해 setuptools를 설치한다.
실행파일은 setuptools-0.6c8.win32-py2.5.exe 이다.
7. PATH 등록
Subversion 실행 디렉터리, Python 디렉터리를 환경변수 PATH에 등록한다. 되도록 시스템 변수 쪽에 등록하길 권장한다. ViewVC 설치 중 SYSTEM 계정으로 실행되는 프로세스 들이 Administrator 계정에 등록된 PATH를 인식하지 못해 설치과정 중 고생한 경우가 있었다.
C:\svn-win32-1.4.6;C:\Python25\Scripts |
8. Subversion Python Binding 설치
Python에서 Subversion 저장소에 접근할 수 있도록 Subversion Python Binding을 설치한다. 실행파일은 svn-python-1.4.6.win32-py2.5.exe이다. 해당 설치된 Python 버전과 맞는 해당 Subversion Python Binding을 설치한다.
설치 과정 중 시스템에서 Python 2.5를 발견했다는 메시지와 설치경로 안내가 나오면, 다음을 눌러 설치한다.
9. mod_python 설치
Apache에서 Python을 사용할 수 있도록 mod_python을 설치한다. 실행파일은 mod_python-3.3.1.win32-py2.5-Apache2.2.exe 이다. 시스템에 설치된 Apache 버전과 Python 버전에 맞는 버전으로 설치한다. 이 설치과정에서는 Apache 2.2.8, Python2.5용으로 설치한다.
설치 과정 중 시스템에서 Python 2.5를 발견했다는 메시지와 설치경로 안내가 나오면, 다음을 클릭한다. 파일들을 설치하고 Apache 설치 디렉터리를 물어본다. Apache 설치 경로를 지정해준다. 이번 설치과정에서는 C:\Program Files\Apache Software Foundation\Apache2.2에 Apache를 설치했으므로, 위 경로를 지정해준다.
설치 완료 후 C:/Program Files/Apache Software Foundation/Apache2.2\conf\httpd.conf 에 LoadModule python_module modules/mod_python.so 를 추가해주라는 안내문이 나온다. 이후 httpd.conf 파일 수정시 같이 추가한다.
10. Pygments 설치
Pygments는 Trac의 소스보기에서 Syntax Highlighting을 지원하기 위해 설치한다.
easy_install을 이용하면 최신버전을 다운로드 받아 설치해준다.
> easy_install Pygments Searching for Pygments Reading http://pypi.python.org/simple/Pygments/ Reading http://pygments.org/ Reading http://pygments.pocoo.org/ Best match: Pygments 0.9 Downloading http://pypi.python.org/packages/2.5/P/Pygments/Pygments-0.9-py2.5.egg#md5=67e5ace0841016409084ca1833a55c90 Processing Pygments-0.9-py2.5.egg creating c:\python25\lib\site-packages\Pygments-0.9-py2.5.egg Extracting Pygments-0.9-py2.5.egg to c:\python25\lib\site-packages Adding Pygments 0.9 to easy-install.pth file Installing pygmentize script to C:\Python25\Scripts Installing pygmentize-script.py script to C:\Python25\Scripts Installing pygmentize.exe script to C:\Python25\Scripts Installed c:\python25\lib\site-packages\pygments-0.9-py2.5.egg Processing dependencies for Pygments Finished processing dependencies for Pygments |
만약 egg 파일을 다운로드 받아놓았다면 다음과 같이 실행시킨다.
> easy_install c:\temp\ pygments-0.9-py2.5.egg |
11. Genshi 설치
Trac에서 HTML rendering에 사용될 Genshi를 설치한다.
> easy_install Genshi Searching for Genshi Reading http://pypi.python.org/simple/Genshi/ Reading http://genshi.edgewall.org/ Reading http://genshi.edgewall.org/wiki/Download Best match: Genshi 0.4.4 Downloading http://ftp.edgewall.com/pub/genshi/Genshi-0.4.4-py2.5.egg Processing Genshi-0.4.4-py2.5.egg Moving Genshi-0.4.4-py2.5.egg to c:\python25\lib\site-packages Adding Genshi 0.4.4 to easy-install.pth file Installed c:\python25\lib\site-packages\genshi-0.4.4-py2.5.egg Processing dependencies for Genshi Finished processing dependencies for Genshi |
12. Trac 설치
Trac-0.11b1.win32.exe를 다운로드 받아 실행하여 Trac을 설치한다. 다른 방법은 easy_install 을 이용하여 Trac을 설치할 수도 있다. 실제 설치과정에서는 서버에서 FTP 접속이 불가하여 실행파일을 이용해서 설치하였다.
아래는 easy_install 을 이용한 설치방법이다.
> easy_install trac |
13. Subversion 저장소 만들기
Subversion 저장소를 만들 디렉터리를 만든 후, Subversion 저장소를 만든다.
이 설치과정에서는 “c:\svn” 디렉터리를 만들고, 여기에 Subversion 저장소를 만든다. 해당 저장소 경로는 Trac 프로젝트를 만들 때 이용한다.
> mkdir c:\svn > svnadmin create c:\svn\testproj |
14. Trac 프로젝트 만들기
Trac 으로 관리할 프로젝트를 만든다. 이 설치과정에서는 “c:\trac” 디렉터리를 만들고, 여기에 Trac 프로젝트를 만든다. DB는 SQLite를 사용하며, 소스 저장소는 Subversion을 사용하도록 설정한다.
> mkdir c:\trac > trac-admin c:\trac\testproj initenv # 프로젝트 명 입력 Project Name [My Project]> testproj # DB 연결 설정 Database connection string [sqlite:db/trac.db]> 엔터 # 소스 저장소 타입 설정 Repository type [svn]> 엔터 # 저장소 경로 Path to repository [/path/to/repos]> c:\svn\testproj |
Trac 프로젝트 생성 작업 완료 후 "Congratulations!" 문구가 나오면 성공적으로 생성된 것이다.
15. Trac 프로젝트 수정
Trac 프로젝트를 만든 후 다음 사항들을 수정한다. 각 Trac 프로젝트 별 설정은 프로젝트에 conf 디렉터리의 trac.ini 를 수정해서 조정할 수 있다.
<!--[if !supportLists]-->Ÿ <!--[endif]-->header_logo
프로젝트 홈 URL을 수정해준다. 첫 페이지의 왼쪽 상단의 이미지를 클릭했을 때 이동할 URL을 설정한다.
link 부분을 수정하면 되고, 이미지도 바꾸려면 src 항목을 수정한다.
[header_logo] alt = height = -1 link = http://trac.saerom.co.kr/testproj src = common/trac_banner.png width = -1 |
16. httpd.conf 수정
Subversion을 위한 설정
LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule python_module modules/mod_python.so LoadModule authz_svn_module "C:/svn-win32-1.4.6/bin/mod_authz_svn.so" LoadModule dav_svn_module "C:/svn-win32-1.4.6/bin/mod_dav_svn.so" # Subversion NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/" ServerName svn.taekgeun.com ErrorLog "logs/svn.taekgeun.com-error.log" CustomLog "logs/svn.taekgeun.com-access.log" common <Location /> DAV svn SVNParentPath c:/svn/ SVNListParentPath on AuthType Basic AuthName "Subversion repository" AuthUserFile bin/.htpasswd Require valid-user </Location> </VirtualHost> |
Trac을 위한 설정
# Trac <VirtualHost *:80> DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/" ServerName trac.taekgeun.com ErrorLog "logs/trac.taekgeun.com-error.log" CustomLog "logs/trac.taekgeun.com-access.log" common <Location /> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir c:/trac/ PythonOption TracUriRoot / </Location> <LocationMatch "[^/]+/login"> AuthType Basic AuthName "Trac" AuthUserFile bin/.htpasswd Require valid-user </LocationMatch> </VirtualHost> |
17. htpasswd로 사용자 암호 만들기
htpasswd.exe로 사용자 암호를 만든다. 처음 만들 때만 –c 옵션을 주고 생성한다. 두 번째 사용자 부터는 암호파일명과 사용자 아이디만 입력하면 된다.
> cd C:/Program Files/Apache Software Foundation/Apache2.2/bin > htpasswd –c .htpasswd user1 > htpasswd .htpasswd user2 |