개발 업무/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