출처:
http://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_SVN_%EC%84%A4%EC%B9%98
http://zetawiki.com/wiki/SVN_%EC%84%9C%EB%B2%84_%EC%84%A4%EC%A0%95
CentOS에서 SVN도 설치하기로 했다.
yum install subversion
간단하게 설치를 하였다.
사실 이런 거는 설치보다 그 외 설정하는 것이 더 빡시니 문제지만.
1. 일단 저장소를 만든다.
svnadmin create --fs-type fsfs 저장소명
fsfs(Fast Secure File System)는 저장소 타입 중 하나이다.
저거 말고 bdb(Berkeley DB)라는 것도 있다.
결국 둘 중 하나를 선택해라는 건데 TortoiseSVN에서는 FSFS만을 지원한다고 한다.
그래서 웬만해서는 fsfs를 선택하는 게 좋을 거 같다.
사실 나는 찾아보지 않고 그냥 fsfs로 쓰라고 되어있길래 그걸 썼다.
그다음 service 명령어로 켜고 끄기 위해 /etc/config/svnserve 파일을 만들고
내용을 다음과 같이 한다.
'OPTIONS="--threads --root 저장소최상위폴더"'
2. 그 다음 저장소경로/conf/svnserve.conf를 열어 다음과 같이 변경한다.
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
사실 첫번째 문장만 none이라고 바꾸고 나머지는 주석만 떼어내면 된다.
첫번째 문장은 비로그인 사용자의 권한으로 아무것도 못하게 하였다.
두번째 문장은 로그인 사용자의 권한으로 당연히 다 할 수 있게 write로 적어놓았다.
그리고 계정에 비밀번호를 사용하기 위해서 password-db에서 파일 passwd를 사용하게 하였고,
사용자별 권한인 authz-db에도 authz를 사용한다고 했다.
3. 그리고 사용자의 비밀번호를 설정하기 위하여 저장소경로/conf/passwd 파일을 열어
사용자 계정과 비밀번호를 다음과 같이 추가한다.
계정명=비밀번호
이렇게 되면 URL은 다음과 같이 된다.
svn://서버 주소/저장소 최하위 폴더(conf 상위 폴더)
다음 명령어로 URL 및 저장소가 제대로 생성되었는지 확인할 수 있다.
svn list URL주소
4. 만약 권한 문제가 발생한다면 저장소경로/conf/authz를 열어 설정한다.
[저장소명:/]
* = rw
지금 설정은 저장소 내의 모든 폴더를 로그인 된 사용자 모두가 읽기/쓰기가 가능하다는 것이다.
5. 만약 리눅스 방화벽 문제가 발생한다면 /etc/sysconfig/iptables를 열어 다음 내용을 추가한다.
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
6. 암호화 안된 패스워드 입력하여 SVN: Store password unencrypted (yes/no)?
문제가 발생했을 때 yes나 no를 입력했음에도 불구하고 좆까라는 식으로
계속 같은 문장을 보여줄 때가 있다.
이는 언어 인코딩 문제로 '예'라고 입력해버리면 된다.