리눅스
CentOS 7 환경에서 SVN을 설치하고 설정하는 방법
변군이글루
2017. 8. 8. 11:34
반응형
CentOS 7 환경에서 SVN(Subversion)을 설치하고 설정하는 방법
1. SVN 설치
Subversion 패키지 설치
yum install -y subversion
설치 확인
svn --version
2. SVN 저장소(Repository) 생성
저장소 디렉터리 생성
mkdir -p /svn/repos
SVN 저장소 생성
svnadmin create --fs-type fsfs /svn/repos
- fsfs : SVN 기본 파일시스템 포맷 (권장)
3. SVN 설정 파일 구조
SVN 설정 파일 위치
/svn/repos/conf/
├─ svnserve.conf # SVN 서버 기본 설정
├─ passwd # 사용자 계정(ID/PW) 설정
└─ authz # 사용자/그룹 권한 설정
4. svnserve 기본 설정
svnserve.conf 설정
vim /svn/repos/conf/svnserve.conf
[general]
anon-access = none # 익명 사용자 접근 불가
auth-access = write # 인증 사용자 읽기/쓰기 허용
realm = My_First_Repository # 인증 영역(저장소 이름)
authz-db = authz # 권한 설정 파일
password-db = passwd # 사용자 계정 파일
설정 항목 설명
- anon-access : 익명 사용자 권한 (none / read / write)
- auth-access : 인증 사용자 권한
- realm : SVN 인증 영역 이름
- authz-db : 권한 제어 파일
- password-db : 사용자 계정 파일
5. svnserve 데몬 설정
svnserve 옵션 설정
vim /etc/sysconfig/svnserve
# OPTIONS is used to pass command-line arguments to svnserve.
#
# Specify the repository location in -r parameter:
OPTIONS="--threads --root /svn/repos"
옵션 설명
- --root : SVN 저장소의 상위 경로
- --threads : fork 대신 thread 방식 사용
- --listen-port : 기본 3690 포트 변경 시 사용
6. svnserve 서비스 시작
systemctl enable --now svnserve.service
systemctl restart svnserve.service
서비스 상태 확인
systemctl status svnserve.service
728x90
7. SASL 인증 설정(비밀번호 암호화)
SVN 기본 passwd 방식은 평문 저장이므로, 보안을 위해 SASL 인증 사용을 권장합니다.
Type 1. SASL 자체 계정 사용 방식
Cyrus-SASL 패키지 설치
yum install -y cyrus-sasl*
svnserve.conf에 SASL 설정 추가
vim /svn/repos/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
authz-db = authz
realm = My_First_Repository
[sasl]
use-sasl = true
min-encryption = 128
max-encryption = 256
SASL 계정 생성 (root 권한)
saslpasswd2 -c -u "My_First_Repository" anti1346
옵션 설명
- -c : 계정 생성
- -d : 계정 삭제
- -u : realm 이름
- -f : DB 파일 지정
SASL 계정 목록 확인
sasldblistusers2
SASL 계정 삭제
saslpasswd2 -d -u "My_First_Repository" anti1346
Type 2. 시스템 계정(PAM) 연동 방식
SASL SVN 설정 파일 생성
vim /etc/sasl2/svn.conf
pwcheck_method: saslauthd
mech_list: plain login
SVN이 PAM 인증 사용하도록 설정
ln -s /etc/pam.d/system-auth /etc/pam.d/svn
saslauthd 서비스 활성화 및 시작
systemctl enable --now saslauthd.service
8. SVN 백업 및 복구
SVN 저장소 백업
svnadmin dump /svn/repos > /backup/repos.dump
- dump 파일은 텍스트 기반이며 버전 간 호환 가능
SVN 저장소 복구
svnadmin load /svn/repos < /backup/repos.dump
- 복구 시 대상 저장소는 미리 생성되어 있어야 합니다.
클라이언트 접속 예시
svn checkout svn://server-ip/project
참고URL
- https://www.rndit.net/confluence/display/DEV/CentOS+SVN+SASL
- https://www.rndit.net/confluence/display/DEV/CentOS+SVN+install+backup+restore+configuration
728x90
반응형