작성자 : 김용복 (ruo91@yongbok.net) - 2010/03/24 PM 1:45
원제목 : CentOS - Apache + SVN + Trac 연동
환 경 : CentOS 5.4 Final
설치순 : Apache - > Subversion -> mod_dav_svn -> Trac
svn 설치시 기본 저장소는 /var/www/svn 으로 하며 trac 은 /var/www/trac 로 사용합니다.
1. Apache 설치
아파치가 설치 되어 있는지 확인 합니다. (CentOS 5.4에서는 자동 설치 되어 있는듯..)
만약 설치가 안된 경우라면 설치를 진행 합니다.
2. subversion (SVN) 설치
SVN 을 설치하게 되면 의존성 패키지인 neon 과 perl-URI 가 같이 설치 됩니다.
subversion 스크립트 생성
[root@ruo91 ~]# touch /etc/init.d/subversion
[root@ruo91 ~]# chmod +x /etc/init.d/subversion
[root@ruo91 ~]# vi /etc/init.d/subversion
#!/bin/bash
. /etc/rc.d/init.d/functions
[ -x /usr/bin/svnserve ] || exit 1
RETVAL=0
prog="svnserve"
desc="Subversion server"
OPTIONS="--threads --root /var/www/svn"
start() {
echo -n $"Starting $desc ($prog): "
daemon $prog -d $OPTIONS
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
echo
}
stop() {
echo -n $"Shutting down $desc ($prog): "
killproc $prog
RETVAL=$?
[ $RETVAL -eq 0 ] && success || failure
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
RETVAL=$?
;;
condrestart)
[ -e /var/lock/subsys/$prog ] && restart
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart}"
RETVAL=1
esac
exit $RETVAL
EOF
subversion 시작
[root@ruo91 ~]# /etc/init.d/subversion start
3. Apache + SVN 연동
아파치와 SVN을 연동하기 위해서 mod_dav_svn 을 설치 합니다.
style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px">설치가 완료 되면 httpd/modules 디렉토리에 두가지의 모듈이 있는걸 확인 할수 있습니다.
style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px">또한 httpd.conf 에 위 두가지 모듈을 따로 추가 하지 않아도 이미 subversion.conf 에 있기 때문에 몇가지 설정 만 해주시면 됩니다.
SVN 디렉토리와 사용자 계정을 생성하고 아파치 계정이 접근할수 있도록 변경 합니다.
style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px">SVN 사용자의 인증 패스워드 파일을 생성합니다.
style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px">옵션 설명
다른 새로운 사용자 추가 할때는 아래와 같이 -c 옵션을 빼고 추가 해주면 됩니다.
style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px">인증할 사용자를 설정 해주기 위해 authz 파일을 설정 합니다.
style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px">subversion 설정을 합니다.
style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px">4. Trac 설치
RPMforge 에서 다운받고 설치 합니다.
style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px">trac 프로젝트를 설치 합니다.
Database connection string [sqlite:db/trac.db]>
Please specify the type of version control system,
By default, it will be svn.
If you don't want to use Trac with version control integration,
choose the default here and don't specify a repository directory.
in the next question.
Repository type [svn]>
Please specify the absolute path to the version control
repository, or leave it blank to use Trac without a repository.
You can also set the repository location later.
Path to repository [/path/to/repos]> /var/www/svn
Creating and Initializing Project
Installing default wiki pages
PageTemplates imported from /usr/lib/python2.4/site-packages/trac/wiki/default-pages/PageTemplates
TracGuide imported from /usr/lib/python2.4/site-packages/trac/wiki/default-pages/TracGuide
.....................
................................
........................................
---------------------------------------------------------------------
Warning: couldn't index the repository.
This can happen for a variety of reasons: wrong repository type,
no appropriate third party library for this repository type,
no actual repository at the specified repository path...
You can nevertheless start using your Trac environment, but
you'll need to check again your trac.ini file and the [trac]
repository_type and repository_path settings in order to enable
the Trac repository browser.
---------------------------------------------------------------------
Project environment for 'Yongbok Project' created.
You may now configure the environment by editing the file:
/var/www/trac/conf/trac.ini
If you'd like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:
tracd --port 8000 /var/www/trac
Then point your browser to http://localhost:8000/trac.
There you can also browse the documentation for your installed
version of Trac, including information on further setup (such as
deploying Trac to a real web server).
The latest documentation can also always be found on the project
website:
http://trac.edgewall.org/
Congratulations!
style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px">아파치가 사용할수 있도록 변경합니다.
style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px">Trac 인증 패스워드 파일을 생성합니다.
style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px">subversion 에 Trac 설정을 추가 해줍니다.
PythonOption TracUriRoot /trac
AuthType Basic
AuthName "Yongbok Trac Environment"
AuthUserFile /var/www/trac/user-ruo91-trac-passwd
Require valid-user
</Location>
style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px">연동 확인을 위해 아파치를 시작 합니다.
[root@ruo91 ~]# service httpd start
Trac 확인을 해봅니다.
style="PADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px">참고
http://wiki.centos.org/HowTos/Subversion
http://www.brandonchecketts.com/archives/installing-svn-and-trac-on-a-centos-5-server
댓글 없음:
댓글 쓰기