개발 업무/LINUX
svn 설치 및 활용
호크아이나인
2023. 2. 5. 23:36
1. 설치
yum install subversion
2. 서비스로 등록되어 있는지 확인 ( 서비스에 등록되어 있지 않으면 의미 없을듯 함)
service svnserve status
3. 저장소집합 생성 ( 최상위 폴더로써 프로젝트들의 집합 )
mkdir /repositories
4. 최초 프로젝트 저장소 생성 ( repositories 폴더 기준 )
svnadmin create —fs-type fsfs ./mis
참고) 저장소의 삭제
서비스를 중지 한 후에
rm -rf ./mis
- 혹시 모르니 디렉토리 권한 변경
chmod -R g+w ./mis
5. 서비스 관리를 용이하게 위한 작업 필요
여러 프로젝트를 담기 위해 반드시 저장소를 여러개 만들 필요는 없음. 저장소 폴더 아래에 다시
프로젝트별로 폴더를 만들어서 관리하면 되기 때문임.
중요포인트 : 언제 저장소를 여러개 만들어야 할까?
- 하나의 저장소는 하나의 사용자권한 설정을 가지고 있으므로 사용자의 권한이 구분되여야 할 때
저장소를 여러 개 두는 것이 좋음.
6. 설정변경 ( repositories 폴더 기준 )
vi ./mis/conf/svnserve.conf
아래 3개의 주석(‘#’)을 제거함(권장값)
anon-access = none #익명사용자 읽기 권한
auth-access = write #등록된 사용자 쓰기 권한
password-db = passwd #인증에 사용될 패스워드 설정 파일
7. 사용자 계정을 추가함 ( repositories 폴더 기준 )
vi ./mis/conf/passwd
test01 = 1234
test02 = 1245
8. SVN 에디터를 설절해줌
먼저 bash_profile에 아래 내용을 추가해줌
vi ~/.bash_profile
export SVN_EDITOR = /usr/bin/vim
재실행함
source ~/.bash_profile
9. 저장소에 trunk, branches, tags 디렉토리를 생성해줌
9 -1.
svn mkdir —parents svn://localhost/mis/trunk
이렇게 실행을 하고 나면 에디터가 작동하고, :q를 눌러서 빠져 나옴
이어서 아래와 같이 물어보면 c를 누르고 빠져 나옴
Log message unchaged or not specified
(a)bort, (c)ontinue, (e)dit:
c
사용자암호와 svn에 등록한 사용자 ID 및 암호를 입력함.
9-2.
svn mkdir —parents svn://localhost/mis/branches
9-3.
svn mkdir —parents svn://localhost/mis/tags
10. 생성된 것을 확인함
svn list svn://localhost/mis
11. 서비스의 시작 ( repositories 폴더 기준 )
먄약 6번 작업을 진행하지 않았다면 아래와 같이 실행함
svnseve -d -r ./repositories
참고 ) 만약 다른 포트로 서비스를 시작하고 싶다면
svnseve -d -r ./repositories —listen-port 9999
만약 리눅스 부팅 시 자동으로 실행하도록 하고 싶으면 ‘/etc/rc.d/rc.local’ 파일에 다음을 추가
svnserve -d -r /home/twebsvn/repositories
12. 서비스 중지
ps -ef | grep svn
PID 확인 후
kill PID
13. SVN 포트의 기본 번호는 3690이며 방화벽이 실행되어 있으면 외부에서 접근할 수 없으므로
다음과 같이 해제함
iptables -I INPUT -p tcp —dport 3690 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart