반응형

매번 다시 정리해야 겠다는 마음은 먹었지만 그러지 못했다.

오늘에서야 한번 깔끔하게 정리하고 넘어가도록 하겠따.

[1] SVN 이란?
Sub Version 의 약어로 좀 비속어로 썹버젼 이러고.. ㅋㅋ 흔히들 애기하는것으로 문서 및 소스 등등의 의미있는 데이터들을 Version별로 관리할 수 있도록 지원해주는 Tool이다.

[2] SVN 접속 프로토콜은?
http,ssl, https , svn~~등등 다양한 프로토콜이 존재하지만, 가장 간단 하고 심플하게
관리할 수 있는것은 svn인것 같아서.. 이걸 기준으로 설명하도록 하겠다.

[3] SVN 설치

아래 명령어를 쳐주면된다. 반드시 sudo 권한으로 실행해야 한다.

 sudo apt-get install subversion libapache2-svn

[4] Repository 생성

아래 명령어로 Repository를 생성하면된다. 별도 메뉴얼이 없으면 File DB로 관리된다.
svnadmin create --fs-type fsfs /home/svn/project    ==> 파일 시스템 타입
svnadmin create --fs-type bdb /home/svn/project    ==> 버클리 DB 타입


[5] SVN 설정관리 폴더 구조

{SVN하위폴더}/conf/authz
=> 사용자별 , 그룹별  폴더에 대한 접근 권한을 관리한다.

{SVN하위폴더}/conf/passwd
=> 각 사용자별 userId / Password를 관리한다.

{SVN하위폴더}/conf/svnserve.conf
=> svn 저장소 의 설정파일을 셋팅한다.

[6] SVN Setting 방법

(svnserve.conf)
  1 ### This file controls the configuration of the svnserve daemon, if you
  2 ### use it to allow access to this repository.  (If you only allow
  3 ### access through http: and/or file: URLs, then this file is
  4 ### irrelevant.)
  5
  6 ### Visit
http://subversion.tigris.org/ for more information.
  7
  8 [general]
  9 ### These options control access to the repository for unauthenticated
 10 ### and authenticated users.  Valid values are "write", "read",
 11 ### and "none".  The sample settings below are the defaults.
 12 anon-access = none
 13 auth-access = write
 14 ### The password-db option controls the location of the password
 15 ### database file.  Unless you specify a path starting with a /,
 16 ### the file's location is relative to the directory containing
 17 ### this configuration file.
 18 ### If SASL is enabled (see below), this file will NOT be used.
 19 ### Uncomment the line below to use the default password file.
 20 password-db = passwd
 21 ### The authz-db option controls the location of the authorization
 22 ### rules for path-based access control.  Unless you specify a path
 23 ### starting with a /, the file's location is relative to the the
 24 ### directory containing this file.  If you don't specify an
 25 ### authz-db, no path-based access control is done.
 26 ### Uncomment the line below to use the default authorization file.
 27 authz-db = authz
 28 ### This option specifies the authentication realm of the repository.
 29 ### If two repositories have the same authentication realm, they should
 30 ### have the same password database, and vice versa.  The default realm
 31 ### is repository's uuid.
 32 # realm = My First Repository
 33
 34 [sasl]
 35 ### This option specifies whether you want to use the Cyrus SASL
 36 ### library for authentication. Default is false.
 37 ### This section will be ignored if svnserve is not built with Cyrus
 38 ### SASL support; to check, run 'svnserve --version' and look for a line
 39 ### reading 'Cyrus SASL authentication is available.'
 40 # use-sasl = true
 41 ### These options specify the desired strength of the security layer
 42 ### that you want SASL to provide. 0 means no encryption, 1 means
 43 ### integrity-checking only, values larger than 1 are correlated
 44 ### to the effective key length for encryption (e.g. 128 means 128-bit
 45 ### encryption). The values below are the defaults.
 46 # min-encryption = 0
 47 # max-encryption = 256

(passwd)
  1 ### This file is an example password file for svnserve.
  2 ### Its format is similar to that of svnserve.conf. As shown in the
  3 ### example below it contains one section labelled [users].
  4 ### The name and password for each user follow, one account per line.
  5
  6 [users]
  7 # harry = harryssecret
  8 # sally = sallyssecret
  9
 10 test = 1234

(authz)
  1 ### This file is an example authorization file for svnserve.
  2 ### Its format is identical to that of mod_authz_svn authorization
  3 ### files.
  4 ### As shown below each section defines authorizations for the path and
  5 ### (optional) repository specified by the section name.
  6 ### The authorizations follow. An authorization line can refer to:
  7 ###  - a single user,
  8 ###  - a group of users defined in a special [groups] section,
  9 ###  - an alias defined in a special [aliases] section,
 10 ###  - all authenticated users, using the '$authenticated' token,
 11 ###  - only anonymous users, using the '$anonymous' token,
 12 ###  - anyone, using the '*' wildcard.
 13 ###
 14 ### A match can be inverted by prefixing the rule with '~'. Rules can
 15 ### grant read ('r') access, read-write ('rw') access, or no access
 16 ### ('').
 17
 18 [aliases]
 19 # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
 20
 21 [groups]
 22 # harry_and_sally = harry,sally
 23 # harry_sally_and_joe = harry,sally,&joe
 24 [/]
 25 test = rw
 26
 27 [/home/svn/session1]
 28
 29 test = rw

[ SVN 서버 재구동방법 ]

(서버 시작)
 $ sudo killall svnserve


(서버 종료)
$ sudo svnserve -d -r /home/svn/

반응형

+ Recent posts