본문 바로가기

Linux

Linux SVN 저장소(repository) 생성

반응형

지난 포스팅에서는 CentOS에서 yum을 통해 SVN 패키지를 설치하는것을 포스팅 하였다.
오늘은 SVN을 실질적으로 사용하기위해 저장소를 생성하는 방버에 대해 알아보자.


1. 저장소(Repository) 생성


 // SVN home 디렉토리 이동
 # cd /home/svn

 // 저장소 생성
 # svnadmin create --fs-type fsfs testRepo 


파일시스템형식의 저장소를 생성하는데 이름은 testRepo로 지정하였다.


2. svnserve.conf 수정하기

저장소를 생성하였다면 지정한 저장소 이름으로 디렉토리가 생성된것을 확인할 수 있다.
아래 경로로 이동하여 svn 설정파일을 수정하자.


// 설정파일 경로로 이동
# cd /home/svn/testRepo/conf

# vi svnserve.conf 




*svnserve.conf 아래 내용의 주석을 제거하고 적절하게 변경해 준다.

### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository.  (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visit http://subversion.tigris.org/ for more information.

[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
anon-access = none
auth-access = write
### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.  Unless you specify a path
### starting with a /, the file's location is relative to the the
### directory containing this file.  If you don't specify an
### authz-db, no path-based access control is done.
### Uncomment the line below to use the default authorization file.
# authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa.  The default realm
### is repository's uuid.
realm = Test Repo

[sasl]
### This option specifies whether you want to use the Cyrus SASL
### library for authentication. Default is false.
### This section will be ignored if svnserve is not built with Cyrus
### SASL support; to check, run 'svnserve --version' and look for a line
### reading 'Cyrus SASL authentication is available.'
# use-sasl = true
### These options specify the desired strength of the security layer
### that you want SASL to provide. 0 means no encryption, 1 means
### integrity-checking only, values larger than 1 are correlated
### to the effective key length for encryption (e.g. 128 means 128-bit
### encryption). The values below are the defaults.
# min-encryption = 0
# max-encryption = 256




3. 인증된 사용자만 접근이 가능하도록 계정을 추가해 준다.


# cd /home/svn/testRepo/conf

# vi passwd

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
# harry = harryssecret
# sally = sallyssecret
test = test1234 


[users] 항목 아래에 ID = Password 형식으로 게정을 추가하면 된다.



이로써 기본적인 svn 저장소가 생성이 되었다. svn 클라이언트 툴을 이용하여 저장소가 정상적으로 생성이 되었는지 확인하면 된다.