작업의 편의성을 위해서 sudo passwd root 로 root passwd 설정하고 su - 로 root로 접속
apt-get install subversion
apt-get install libapache2-svn
mkdir /opt/svn
svnadmin create --fs-type fsfs /opt/svn/test
vi /etc/apache2/mods-enabled/dav_svn.conf 들어가서
<Location /test>
DAV svn
SVNPath /opt/svn/test
</Location>
추가
/etc/init.d/apache2 restart 해주면
(혹시 "NO apache MPM..." 에러나면 apt-get install apache2 해주고,
ServerName 관련 에러나면 vi /etc/apache2/apache2.conf 열어서 제일 아래에 ServerName localhost 라고 추가해줌)
아파치가 정상적으로 재실행되었다면
http://ip-address/test 해주면
Revision 0:/ 라고 보임
# svn checkout svn+ssh://ip-address/opt/svn/test 라고 해도 되어야 함
위와 같이하면, Anonymous 로도 접속이 가능하므로, 특정 ID로만 접속이 가능하도록 변경해보면
apache passwd 파일을 생성하기 위해서
# cd /etc/apache2/mods-enabled
# htpasswd -c dav_svn.passwd ID 해서 패스워드 설정해주고
# vi /etc/apache2/mods-enabled/dav_svn.conf 해서
<Location /test>
DAV svn
SVNPath /opt/svn/test
AuthType Basic
AuthName "원하는 설명"
AuthUserFile /etc/apache2/mods-enabled/dav_svn.passwd
Require valid-user
</Location>
만약에 checkout은 Anonymous로 가능하고 커밋만 특정 ID에게 가능하도록 하고싶다면
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
로 해주면 됨
이렇게하면, 아파치로 접속시 id/passwd 물어보고 정상적으로 checkout까지는 되지만 import가 안되고
svn+ssh:// 로 접속하면 root passwd를 물어 봄
/opt/svn/test 에 대한 chgrp chmod chown 설정이 필요
아파치를 설치하였을 경우, 기본적으로 아래와 같이 해야한다는데 svn+ssh:// 로만 쓸듯해서 안해도 될듯
chown www-data:www-data /opt/svn/test
그냥, 아래만 해주고 svn+ssh:// 로 써도 될듯
addgroup svn
adduser userID svn (또는 /etc/group 파일에서 직접 , 로 구분해서 수정해도 됨)
chgrp -R svn /opt/svn/test
chmod -R g+w /opt/svn/test
이제 사용 가능
기본 사용 방법은
branches, tags, trunk 폴더 생성한 후, trunk에 import하고 commit 해주고
이후 수정해서 commit & commit... 그러다가 tags에 copy해서 보관
RECENT COMMENT