2010. 11. 26. 10:42ㆍOS/CentOS
1. Apache 설치
아파치가 설치 되어 있는지 확인 합니다. (CentOS 5.4에서는 자동 설치 되어 있는듯..)
[root@localhost ~]# rpm -aq | grep httpd
system-config-httpd-1.3.3.3-1.el5
httpd-2.2.3-31.el5.centos
만약 설치가 안된 경우라면 설치를 진행 합니다.
[root@localhost ~]# yum install -y httpd
[root@localhost ~]# chkconfig httpd on
2. subversion (SVN) 설치
SVN 을 설치하게 되면 의존성 패키지인 neon 과 perl-URI 가 같이 설치 됩니다.
[root@localhost ~]# yum install -y subversion
subversion 스크립트 생성
[root@localhost ~]# touch /etc/init.d/subversion
[root@localhost ~]# chmod +x /etc/init.d/subversion
[root@localhost ~]# 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
아파치와 SVN을 연동하기 위해서 mod_dav_svn 을 설치 합니다.
[root@localhost ~]# yum install -y mod_dav_svn
설치가 완료 되면 httpd/modules 디렉토리에 두가지의 모듈이 있는걸 확인 할수 있습니다.
[root@localhost ~]# find /usr/lib/ | grep svn
/usr/lib/httpd/modules/mod_dav_svn.so
/usr/lib/httpd/modules/mod_authz_svn.so
또한 httpd.conf 에 위 두가지 모듈을 따로 추가 하지 않아도 이미 subversion.conf 에 있기 때문에 몇가지 설정 만 해주시면 됩니다.
svn 디렉토리와 SVN 사용자 계정을 생성하고 아파치 계정이 접근할수 있도록 변경 합니다.
[root@localhost ~]# mkdir -p /var/www/svn
[root@localhost ~]# cd /var/www/svn
[root@localhost ~]# svnadmin create repos
[root@localhost ~]# chown -R apache.apache repos
SVN 사용자의 인증 패스워드 파일을 생성합니다.
[root@localhost ~]# htpasswd -cm [패스워드 파일] [사용자]
[root@localhost ~]# htpasswd -cm /var/www/svn/htpasswd testuser
New password:
Re-type new password:
Adding password for user testuser
옵션 설명
-c : 새로운 파일 생성다른 새로운 사용자 추가 할때는 아래와 같이 -c 옵션을 빼고 추가 해주면 됩니다.
-m : MD5 로 암호화
[root@localhost ~]# htpasswd -m /var/www/svn/htpasswd testuser2
[root@localhost~]# vi /var/www/svn/repos/conf/authz
[groups]
authz = testuser
@authz = rw
[root@localhost ~]# vi /var/www/svn/ruo91/conf/passwd
[users]
testuser= 1234
[root@localhost~]# vi /var/www/svn/repos/conf/svnserve.conf
[general]
anon-access = read # 익명접근시 저장소 읽기 권한
auth-access = write # 인증된 사용자의 경우 쓰기 권한
password-db = passwd # 인증에 사용될 사용자의 비밀번호 파일
authz-db = authz # 인증에 사용될 사용자 그룹 파일
realm = My First Repository # 저장소에 표시될 이름(?) 또는 저장소 간략 설명(?)
subversion 설정을 합니다. 예제 파일 알맞게 수정후 추가
[root@localhost~]# vi /etc/httpd/conf.d/subversion.conf
[root@localhost~]# /etc/init.d/subversion start
- SVN 기본 디렉토리 만들기
소스 코드를 관리하기 위해서는 trunk , branches, tags 를 만들어 줘야 하므로 임시로 export 걸어 주고 시작합니다.
[root@localhost~]# export SVN_EDITOR="/bin/vi" ; export SVN_EDITOR
아래처럼 trunk 디렉토리를 만들어 주면 vi 에디터가 자동으로 나오게 됩니다.
[root@localhost~]# svn mkdir http://127.0.0.1/svn/repos/trunk
--이 줄 이하는 자동으로 제거됩니다--
A svn://127.0.0.1/svn/repos/trunk
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"svn-commit.tmp" 4L, 75C 1,0-1 모두
이때 :q 를 눌러 에디터에서 빠져 나옵니다.
:qC 를 눌러 나옵니다.
로그 메시지가 변경되지 않았거나 지정되지 않았습니다인증 영역을 사용하기 위해 리눅스 root 사용자의 암호와 svn 사용자의 암호를 입력 해줍니다. (암호는 보안상 보이지 않음)
취소 (A), 계속(C), 수정(E)
C
인증 영역(realm): <http://127.0.0.1:80> Authorization!!
'root'의 암호:
인증 영역(realm): <http://127.0.0.1:80> Authorization!!
사용자명:testuser
'testuser'의 암호:
커밋된 리비전 1.
branches 디렉토리 만들기 (trunk 와 반복..)
[root@localhost~]# svn mkdir http://127.0.0.1/svn/repos/branches
로그 메시지가 변경되지 않았거나 지정되지 않았습니다
취소(A), 계속(C), 수정(E)
C
커밋된 리비전 2.
tags 디렉토리 만들기
[root@localhost~]# svn mkdir http://127.0.0.1/svn/repos/tags
로그 메시지가 변경되지 않았거나 지정되지 않았습니다
취소(A), 계속(C), 수정(E)
C
커밋된 리비전 3.
위에서 만든 디렉토리를 확인 합니다.
[root@localhost~]# svn list http://127.0.0.1/svn/repos
branches/
tags/
trunk/
4. Trac 설치
RPMforge 에서 다운받고 설치 합니다.
[root@localhost ~]# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
[root@localhost~]# rpm -Uvh rpmforge-release-0.5.1-1.el5.rf.i386.rpm
[root@localhost~]# yum install -y mod_python trac
trac 프로젝트를 설치 합니다.
[root@localhost~]# trac-admin /var/www/trac/ initenv
Creating a new Trac environment at /var/www/trac
Trac will first ask a few questions about your environment
in order to initialize and prepare the project database.
Please enter the name of your project.
This name will be used in page titles and descriptions.
Project Name [My Project]> Sample Project
Please specify the connection string for the database to use.
By default, a local SQLite database is created in the environment
directory. It is also possible to use an already existing
PostgreSQL database (check the Trac documentation for the exact
connection string syntax).
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/repos
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 'Sample 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!
아파치가 사용할수 있도록 변경합니다.
[root@localhost~]# chown apache:apache /var/www/trac/*
[root@localhost~]# chmod -R 777 /var/www/trac
Trac 인증 패스워드 파일을 생성합니다.
[root@localhost~]# htpasswd -cm /var/www/trac/htpasswd testuser
New password:
Re-type new password:
Adding password for user testuser
subversion 에 Trac 설정을 추가 해줍니다.
[root@localhost~]# vi /etc/httpd/conf.d/subversion.conf
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/www/trac
PythonOption TracUriRoot /trac
AuthType Basic
AuthName "Sample Trac Environment"
AuthUserFile /var/www/trac/htpasswd
Require valid-user
</Location>
연동 확인을 위해 Apache 를 재시작 합니다.
[root@localhost~]# service httpd restart
SVN 저장소 확인
'OS > CentOS' 카테고리의 다른 글
[CentOS] apache service 등록 (1) | 2011.10.11 |
---|---|
[CentOs] Mysql5.5.9 + Linux(CentOS) 설치 (0) | 2011.03.05 |
[CentOS] CentOS 5.5 apache 2.2 계열 과 tomcat 연동 (0) | 2010.11.24 |
[CentOS] centos 5.5 java(jdk 1.6.0_22) tomcat(6.0.29) 설치 (0) | 2010.11.24 |
[CentOs] 서브버젼 설치 (0) | 2010.10.25 |