2009년 1월 1일 목요일

ubuntu에서 svn 세팅

원문:http://tong.nate.com/skekt/47549198



sudo apt-get install subversion

sudo addgroup svn
sudo adduser exist_user svn

sudo mkdir /var/svn
cd /var/svn

저장소: 파일시스템 이용
sudo svnadmin create --fs-type fsfs test

저장소: Berkeley DB 이용
sudo svnadmin create --fs-type bdb test

권한
sudo chgrp -R svn test
sudo chmod -R g+w test

접속하기
sudo apt-get install apache2
sudo apt-get install libapache2-svn
sudo vi /etc/apache2/mods-available/dav_svn.conf
[제일 아래에 추가]
<location>
DAV svn
SVNPath /var/svn/test
</location>

sudo a2enmod dav_svn
sudo adduser www-data svn
sudo /etc/init.d/apache2 restart

접속
http://서버아이피/svn/test


사용자 인증
cd /etc/apache2
sudo htpasswd -c dav_passwd sampleuser
New password:
Re-type new password:

dav_passwd 란 파일이 생겼을 것이고 내용을 보면 sampleuser가 추가된 것을 알 수 있을 것이다.
-c 옵션은 새로 생성하라는 뜻이고, 추가를 할 경우에는 -m 옵션을 사용하면 된다.
htpasswd 명령으로 생성되는 패스워드 파일은 "사용자이름:암호화된패스워드" 형식으로 저장되므로, 쉘계정을 사용하는 사람들을 모두 추가하고 싶은 경우에는
/etc/shadow 파일을 가져다가 직접 작성해줘도 무방하다.


아파치 설정
sudo vi /etc/apache2/mods-available/dav_svn.conf
<location>
DAV svn
SVNPath /var/svn/test
AuthType Basic
AuthName "sample repository"
AuthUserFile /etc/apache2/dav_passwd
Require valid-user
</location>
아파치를 재시작하고(sudo /etc/init.d/apache2 restart)
http://(Subversion과 Apache를 설치한 IP주소 또는 도메인)/svn/sample 으로 접속해보면 사용자이름과 패스워드를 물어볼 것이다. 특정 위치에 대해서 권한을 다르게 줄 수도 있다.

등록된 사용자만이 읽고 쓸 수 있게 하려면,
<location>
Require valid-user
</location>

아무나 읽을 수 있고 등록된 사용자만이 쓸 수 있게 하려면,
<location>
<limitexcept>
Require valid-user
</limitexcept>
</location>


등록된 사용자만이 읽을 수 있고, 특정한 사용자(sampleuser)만 쓸 수 있게 하려면,
<location>
<limit>
Require valid-user
</limit>
<limitexcept>
Require user sampleuser
</limitexcept>
</location>

이런 식으로 mods-available/dav_svn.conf 파일을 수정해주면 되겠다.

svn을 이용하는 방법은 여러가지가 있으므로 다음에 포스팅하기로 하겠다.

# https://help.ubuntu.com/8.04/serverguide/C/subversion.html

원문http://amoo.g3.cc/blog/18

댓글 1개:

sparrow :

자세한 설명
http://www.pyrasis.com/main/Subversion-HOWTO