svn
- svn daemon 실행
$svnserve -d -r /home/_svn_repository
- svn [exam] prj create
$svnadmin create /home/_svn_repository/exam
- svn [exam] prj내 trunk/branches/tags dir. 생성
$svn mkdir file:///home/_svn_repository/exam/trunk
$svn mkdir file:///home/_svn_repository/exam/branches
$svn mkdir file:///home/_svn_repository/exam/tags
- svn [exam] prj에 최초 source 등록
$svn import ./src file:///home/_svn_repository/exam/trunk
- svn passwd 설정
$vi /home/_svn_repository/exam/conf/passwd
[users]
hani=passwd
-----
식으로 id/passwd를 기입한다.
-svn 설정
$vi /home/_svn_reository/exam/conf/svnserve.conf
[general]
password-db = passwd (password를 사용)
이하, svn의 활용은 tortoiseSVN이라는 client program을 사용.
download : http://tortoisesvn.net/downloads (Korean 언어팩도 같이 받아서 설치하면 한글 지원됨)
TRAC/Apache
-trac install
$yum install trac
-trac setting. [exam] prj 생성
$mkdir /home/_trac
$trac-admin /home/_trac/exam initenv
+ setting 과정중 path to repository는 /home/_svn_repository/exam 즉, prj name까지 기입.
-apache에서 access를 위한 권한 조정
$cd /home/_trac/exam
$chgrp apache db db/trac.db
$chmod 775 db
$chmod 664 db/trac.db
-apache 환경 파일 수정
$vi /etc/httpd/conf/httpd.conf
-------------------------
NameVirtualHost *:80
<VirtualHost *:80>
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /home/_trac/
PythonOption TracUriRoot /trac
</Location>
<LocationMatch "/trac/[^/]+/login">
AuthType Basic
AuthName "Trac"
AuthUserFile /home/_svn_repository/.htpasswd
Require valid-user
</LocationMatch>
</VirtualHost>
-------------------------
-trac admin. 추가
$cd /home/_svn_repository
$htpasswd -c .htpasswd admin
[passwd 입력]
-trac admin. 등록 [exam] project의 관리자
$trac-admin /home/_trac/exam/ permission add admin TRAC_ADMIN
동작 테스트/trouble shooting
http://URL/trac
웹브라우져에서 위와 같은 주소로 이동했을 경우, "exam"이라는 링크가 보이고 클릭했을 경우, trac 페이지가 보여야 한다.
브라우져 자체에서 Internal Error가 나는 경우, python과 관련된 문제 혹은 PYTHON_EGG_CACHE와 관련된 문제일 경우..
또는 GENSHI(trac 0.11 이상) clearsilver(trac 0.10이하)가 설치되지 않기 때문이기도 하다.
$easy_install genshi
$easy_install clearsilver
와 같은 명령으로 간단히 설치가 가능했다. (물론, setuptools가 설치되어 있어야 한다.)
Internal Error의 문제경우 apache의 log를 확인하면 좀 더 자세한 내용을 알 수 있다.
/var/log/httpd/error.log (fedora 6)
PYTHON_EGG_CACHE로 잡힌 directory의 permission deny 문제라면 쓸수 있는 디렉토리 위치를 잡아주는데,
shell 상에서 $export PYTHON_EGG_CACHE=/tmp 정도로 설정한다.