레이블이 subversion인 게시물을 표시합니다. 모든 게시물 표시
레이블이 subversion인 게시물을 표시합니다. 모든 게시물 표시

2012-10-14

Subversion dump/load 방법(버전업 관련)




출처 : http://hanavy.egloos.com/256959



Subversion dump/load 방법(버전업 관련)

Subversion을 계속 1.4 버전대를 쓰다가 1.5 버전이 나온걸 보고 이동하려고 했다.

그런데 개인적으로는 주로 bdb 버전을 쓰고 있는데 일반적으로 공식버전으로 보는 CollabNet의 Binary는 더이상 bdb를 지원하지 않고 fsfs 만을 지원하기로 한 듯 하다.
예전부터 의견들을 살펴보면 bdb 는 DB 오류가 많이 발생하여 점점 쓰는 사람들이 줄어드는 추세인 듯 하기는 한데..
어차피 아직까지 개인적으로 사용하는데 아직까진 별 문제가 없기도 하고 일단은 내가 문제를 겪기 전에는 bdb로 하려고 하니(업로드 하는 파일별로 줄줄히 생성하는게 갠적으로 맘에 안들기도 하여...) CollabNet은 쓸 수가 없었다.
그렇다고 하여 소스를 다 받아서 build 하자니 자바 개발만 주로 하는지라 windows 빌드 하기도 만만치 않을듯 하고..
하던 차에 혹시나 그 밑에 나온 SlikSVN을 보니 bdb를 지원하는 듯 하여 이걸로 받았다.

기존 쓰던 놈들 백업하고 갠적인 취향으로 인스톨을 싫어하는지라 uniExtract로 풀어서 복사한 다음 돌리니 잘 되는 듯 하다가 기존 bdb 소스를 받을 때 svnserve가 죽는 증상이 발생했다.
귀찮아서 dump/load를 안했더니 그 문제인듯 하여 dump/load 방법을 찾아본 후 그 내용을 정리한다.

1. svnserve나 apache 등의 서비스 제공자를 다 종료한다. 덤프중에 누가 접근하면 곤란하겠지..

2. svnadmin dump /path/to/repository > dumpfile.txt 명령으로 dumpfile.txt 파일로 덤프를 받는다.
물론 덤프받는 파일명이야 자기 맘대로 설정.
혹시나 몰라 /path/to/repository라는건 서버상의 실제 경로이다.
예를들어 이번에 나 같은 경우는 svnadmin dump E:/Repository/SVN/ows 라는 경로에 있는 내용을 덤프받았다.

3. 기존 repository 경로를 다른 이름으로 변경한다. 일종의 백업.

4. Subversion을 업그레이드 한다. 충돌할 수도 있으니 기존 내용은 삭제를 하고 완전히 새로 설치하도록 한다.

5. svnadmin 명령으로 새 repository 를 생성한다.
svnadmin create /path/to/repository

6. 역시 svnadmin 명령으로 아까전에 받은 파일을 로드한다.
svnadmin load /path/to/repository < dumpfile.txt

7. 기존 repository에 있는 hook scripts나 기타 등등을 새 repository 로 복사한다.
나도 많이 써보지는 않아서 hook script라는게 뭘 의미하는지 확실히는 모르겠는데 나 같은 경우는 권한 등이 저장되는 conf 폴더를 다시 복사해 놨다.

8. 종료. 다시 서버를 기동하고 제대로 작동하는지 확인한다.

2012-09-14

Linux]CentOS 5.0에 subversion/svn 설치


출처 : http://tykim.wordpress.com/2007/06/04/centos-50%ec%97%90-subversionsvn-%ec%84%a4%ec%b9%98/

 

CentOS 5.0에 subversion/svn 설치

Filed under: System GuruIT — Peter Kim @
CentOS (RHEL 5.0)에 Subversion 1.4.3의 설치 Know-How를 공유한다.
대표적인 형상관리 서버로 CVS/CVSNT, Subversion등이 있다.
우선 순서는
  1) Subversion 설치
  2) Repository 생성
  3) Daemon 설정
  4) Client 사용
  5) 활용
으로 설명하려 한다.
1. 설치
    yum으로 의외로 쉽게 설치된다.
    #yum install subversion
    기본적으로 이렇게 설치하면 File System으로 관리할 수 있는 기본 패키지가 설치된다.
    Subversion으로 repository관리는 두가지로 File System 및 Berkeley DB를 선택 사용할 수 있다.
    Berkely DB를 사용하기 위해서는 http://www.oracle.com/technology/software/products/berkeley-db/db/index.html
에 서 설치하고 쓸 수 있는데.. 이곳저곳에서 관리 파일 용량이 많아지면 문제가 있다는 report가 있어 안전하고 직관적(실제 물리적 foder/file구조로 관리할 수 있게끔 file system 방식으로만 쓰고자 한다.
2. Repository 생성
   1) Repository 생성
      우선 Root Repository를 생성해야 한다. (이유: 3.1) 참조)
      #mkdir /data1/svn
      #cd /data1/svn
      #svnadmin create –fs-type fsfs project
      이렇게하면 /data1/svn에 project directory 및 기본적으로 하위 디렉토리들이 만들어 진다.
      인증/보안을 위한 몇가지 옵션을 설정해 주어야 한다.
   2) 기본적인 환경 설정
       #vi /data1/svn/project/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
기본적으로 anonymous access 불가, 인증 성공한 사람만 write권한, 인증방식은 passwd 파일 방식
       #vi /data1/svn/project/conf/passwd
        [users]
        userid1=password1
        userid2=password2
 접속을 허용할 userid 및 password를 기재해주면 된다.
3. Daemon 설정
   기 제작한 project repository에 대한 file-system으로의 생성, 인증, password의 본적은 환경 설정은 마쳤고, 이제 subversion daemon을 실행하기 위한  시스템 환경 설정이 남았다.
   1) 환경 설정
       #vi /etc/rc.d/init.d/subversion 을 열어 17 줄의 SYSCONFIG 내용을 확인한다.
       SYSCONFIG=”/etc/sysconfig/subversion”
       #vi /etc/sysconfig/subversion
         OPTIONS=”–threads –root /data1/svn”
         이렇게 하여 svn의 root repository directory를 설정해 준다.
   2) 시스템 가동
        #/etc/rc.d/init.d/subversion start
       이렇게 하면 subversion이 daemon으로 동작하게 된다.
       환경 변수를 바꾸고 subversion을 restart해야한다면
        #/etc/rc.d/init.d/subversion restart
   3) Booting시 자동 실행
        #vi /etc/inittab
        우선 서버의 실행 Level을 확인해야 하는데  /etc/inittab의 18번째 줄 내용을 확인한다.
        id:5:initdefault:
        본 id와 initdefault사이의 값인 5값을 확인한다. (X11로 booting한다는 의미)
        #cd /etc/rc5.d
        #vi S99local
         /etc/rc.d/init.d/subversion start &
    적당한 줄에 상기 내용을 추가한다.
4. Client 사용
    - http://blog.empas.com/mcchae/19118563 에 워낙 잘 설명이 되어 있어서 pass
5. 활용
    - 전체적으로 subversion으로 여러 사람의 협업을 통해 소스 형상 관리 및 Binary 관리등을 관리해야 하고, 프로젝트별 권한, Backup 및 Restore, 관리자 통계(오늘 어떤 파일/내용이 수정되었고, 누가 올렸고.. 등등) 여러가지  Tunning작업을 해야한다.
    - IT Project에서는 trac을 많이 쓰고 있고, 비슷한 형태로 http://oss.segetech.com/bugzilla-svn-wiki.html을 참고해도 될 것 같다.
Technorati Tags: 
Powered by ScribeFire.

FreeBSD] Using Subversion for Collaborative Development-- subversion 설치






혹시 몰라서 내용을 아래 부분에 첨부 합니다.
이 글은 bsdguides.org 의 내용을 그대로 옮긴 부분입니다.


========================================
Print View
Using Subversion for Collaborative Development
Updated: 07/15/2005

General Information
Subversion (SVN) is an alternative to using Concurrent Version System (CVS) for collaborative development, though it has other uses if you develop on more than one machine and wish to keep all your work in a central location.  This guide will show you how to setup Subversion with Webaccess via the Apache2 mod_dav svn module.  If you already use apache 1.3 you can continue to use that, just change the port that apache2 listens on in its httpd.conf file.

Subversion Book is an excellent resource for information outside the scope of this guide.
Requirements
  1. Local root access on the box or be able to su to root.
  2. A SSH client such as puTTy or SecureCRT (if you are setting it up remotely).
  3. A plain text editor, I prefer nano
Installation
We have to start out by building apache2.  Because we are building it with the intention of using Subversion with it, we must build it with Berkeley DB (sleepycat) support, as the Subversion filesystem is actually built as a sleepycat database.  It is this that allows for the versioning of files.
#
#
cd /usr/ports/www/apache2
make install WITH_BERKELEYDB=db42
We make sure that the apache2 aprutil library is known, this file sometimes seems to get "lost"
#
#
#
ldconfig -m /usr/local/lib/apache2/
echo "/usr/local/lib/apache2" >> /etc/ld.so.conf
echo "/usr/local/lib/apache2" >> /etc/ld-elf.so.conf
Instruct the Operating System to run apache2 at startup
#echo 'apache2_enable="YES"' >> /etc/rc.conf
Now to build Subversion
#
#
cd /usr/ports/devel/subversion
make install -DWITH_MOD_DAV_SVN
Configuration
OK, subversion and apache with berkeley db support are now compiled and installed.  You have a choice of either creating a single huge repository for all of your projects, or individual repositories for each.  I will detail each now.
General Setup
Create Subversion Home folder
#mkdir -p /usr/home/svn
Create a generic repository format
#
#
#
mkdir -p /usr/home/svn/default/trunk
mkdir /usr/home/svn/default/branches
mkdir /usr/home/svn/default/tags
Copy some files will need for the web interface
#cp /usr/ports/devel/subversion/work/subversion-1.0.6/tools/xslt/* /usr/local/www/data-dist/
Note:  The path to the tools/xslt will change with versions of subversion so change the <em>subversion-1.0.6</em> to whatever it is for your version of subversion, ie subversion-1.0.7 or subversion-1.0.8 and so on.
Setup Blanket Access:  If you wish to enable htaccess style password login to the subversion repository then use this system. This is the basic access control system, which can be extended to enable per directory access control as well.
#
#
mkdir /usr/home/svn/access
touch /usr/home/svn/access/users
Create the users using the htpasswd utility
#htpasswd -mb /usr/home/svn/access/users <em>username</em> <em>password</em>
Configuring Apache2 for Blanket Access control
#nano -w /usr/local/etc/apache2/httpd.conf
Add the following to the httpd.conf file, this can be at the bottom or wherever, it will create ahttp://www.myservername.com/svn/ URL which you can then access
## SVN WebDAV Repository Setup
<Location /svn>
     DAV svn
     SVNParentPath /usr/home/svn/repos
     SVNIndexXSLT "http://www.myservername.com/svnindex.xsl"
    
     # anonymous first
     Satisfy Any
     Require valid-user
    
     # authenticating them valid ones
     AuthType Basic
     AuthName "Subversion Repositories"
     AuthUserFile /usr/home/svn/access/users
</Location>
This can also be placed inside a virtual host directive

Extending the Blanket Access control to enable Per-Directory Access control
#touch /usr/home/svn/access/control
If you are going to use a single large repository with all your projects in and you wish to allow and deny some users access to certain parts of the repository, then you can setup the control file like this.  In this example I will use users with the names of admin, manager (a project manager), commiter, client.  The access rules are inheritted, but I will demonstrate how to override an inheritted value.  If someone is not mentioned at all within the tree, then they are denied access.
[/]
admin = rw
manager = r

[/bigproject]
manager = rw
commiter = r

[/bigproject/trunk]
commiter = rw
client = r

[/bigproject/branches]
client = r

[/bigproject/trunk/manager_notes]
client =
commiter =
In this file from the very start the admin has full rights to the whole repository, and the manager can read and see all of the projects, but he has full access to the whole of the bigproject folder and the commiter can read the whole of the bigproject folder, all the development is to be kept in trunk so the commiter has full access to that, and the clients might want to be able to get the latest builds of a project, so they can read it.  They might also want access to the stable branches, so they are allowed read access to that.  Finally, the project manager has some project notes which he doesn't want anyone else to gain access to, so the client and commiter are set to empty permissions which denys them access to that folder.  You can also specify general access rights for all by using the '*' and assigning access rights to that.
Now the same again, but using per directory access control on a multiple repository system
[bigproject:/]
admin = rw
manager = rw
commiter = r

[bigproject:/trunk]
commiter = rw
client = r

[bigproject:/branches]
client = r

[bigproject:/trunk/manager_notes]
client =
commiter =
Edit the apache2 config file to use per-directory access control.  Find the Blanket Access control Location area and add the below lines just underneath the SVNIndexXSLT
# If we are using the Per-Directory Access Control then we leave this uncommented
# Access Control
AuthzSVNAccessFile /usr/home/svn/access/control
It should look like this
## SVN WebDAV Repository Setup
<Location /svn>
     DAV svn
     SVNParentPath /usr/home/svn/repos
     SVNIndexXSLT "http://www.myservername.com/svnindex.xsl"
    
     # If we are using the Per-Directory Access Control then we leave this uncommented
     # Access Control
     AuthzSVNAccessFile /usr/home/svn/access/control
    
     # anonymous first
     Satisfy Any
     Require valid-user
    
     # authenticating them valid ones
     AuthType Basic
     AuthName "Subversion Repositories"
     AuthUserFile /usr/home/svn/access/users
</Location>
Building a Single General Repository
Create our single main repository
#
#
svnadmin create /usr/home/svn/repos
svn import /usr/home/svn/default file:///usr/home/svn/repos -m "initial import"
Should you later want to divide this repository into project folders, you will need to checkout the whole repository and use the svn move, svn copy and so on commands, which can be found in the Subversion Book
Building a Multiple Project Repository
Make a new repository
#
#
#
mkdir /usr/home/svn/repos
svnadmin create /usr/home/svn/repos/<em>projectname</em>
svn import /usr/home/svn/default file:///usr/home/svn/repos/<em>projectname</em> -m "Initial Import"
Final Setup
Make sure that apache can read the svn repositories
#chown -R www:www /usr/home/svn
and make the access control and userlist readable only by apache.  All the contents are pretty much encrypted, but you don't want other shell users peeking at them, though they could get through via a php script, but this is the best way to go about it.
#
#
chmod 600 /usr/home/svn/access/control
chmod 600 /usr/home/svn/access/users
There, you now have a fully working Subversion Repository.  To checkout the contents of the trunk of a project in your repository via the command line tool
#svn checkout http://www.mydomain.com/svn/<em>projectname</em>/trunk <em>projectname</em>
this will make a folder called "projectname" in the current folder you are in when you run the command.


Once you have made changes to a project you can commit those changes by changing into the project folder then
#svn commit -m "Notes regarding the changes"
And finally to update your copy of the code from the repository, change into the project folder then
#svn update
These commands are all for the SVN Command line tool, which is installed as part of the devel/subversion port.  If you wish to use the command line tool and not create the files needed for running a repository with apache2, then use
#
#
cd /usr/ports/devel/subversion
make install clean
and skip the remaining steps.

There is also a range of clients.  The best for Windows, in my opinion, is TortoiseSVN, a comprehensive list of other clients for SVN can be found here
Author: Geffy
w00t at stealth-ninja dot co dot uk
==============================================================

FreeBSD] Subversion설치(FreeBSD6.1R)_1185418705


Subversion mini HowTo
버전 관리 프로그램인 Subversion 서버 설치에 대한 간단한 문서입니다.

환경 :
Server 환경 :
OS : FreeBSD 6.1 Released
Subversion : 1.3.0
Apache 2.2
Berkeley Database 사용

Client 환경 :
OS : 윈도우
TortoiseSVN


Requirement :
F reeBSD 6.1 / Windows family
Apache2.2
Subversion 1.3.0
TortoiseSVN
설치 작업은 반드시 root 권한으로 작업한다.

위 사항에서 FreeBSD상에서 돌아가는 것은 ports 시스템을 이용하여 설치

설치 순서 :
1. Apache2.2
2. Apcahe2.2 설정
3. Subversion 설치
4. Subversion 설정


Installation
1. Apache Installa tion
1.1. Apache2.2 설치
##cd /usr/ports/www/apache2make install WITH_MOD_DAV_SVN=yes WITH_BERKELEYDB= yes

1.2. 설정 확인
#
##
ldconfig -m /usr/local/lib 
아래 사항은 확인만 하면 됩니다.(6.1버전에서는 아래 사항은 하지 않아도 됨) echo "/usr/local/lib/apache2" >> /etc/ld.so.confecho "/usr/local/lib/apache2" >> /etc/ld-elf.so.conf

1.3. apache가 자동으로 실행되게 하기 위해 rc.conf 파일에 등록하기
#echo 'apache2 2_enable="YES"' >> /etc/rc.conf

2. Subversion Installation
2.1 Subversion 설치
##cd /usr/ports/devel/subversionmake install -DWITH_MOD_DAV_S VN

2.2 Subversion 설정(configuration)
Subversion Home folder 생성
#mkdir -p /home/svn

저장소 포맷 생성하기
###mkdir -p /home/svn/default/trunkmkdir /home/svn/default/branchesmkdir /home/svn/default/tags

웹인터페이스를 위한 파일 복사
#cp /usr/ports/devel/subversion/wo rk/subversion-1. 3. 0/tools/xslt/* /usr/local/www/data-dist/^^^^^^^^^^^^^^^^^^^^^^^^^이부분은 web doc root 입니다.

사용자 접근을 제어하기 위해 빈 파일 생성
##mkdir /home/svn/accesstouch /home/svn/access/users <- user파일을 생성하는 명령어

apache에서 제공하는 htpasswd 파일을 이용하여 사용자의 계정과 비밀번호 생성
#htpasswd -mb /home/svn/access/users username password

Apache의 설정파일인 httpd.conf 파일 수정하기
#vi /usr/local/etc/apache2 2/httpd.conf

Httpd.conf의 내용 중 일부
사용자들이 웹으로 접근하기 위해서는 아래의 문장이 들어가 있어야지 됨.
이것의 의미는 /home/svn/access/users 파일에 등록된 사용자만이 접근가능하다는 의미
/svn/sample >
DAV svn
SVNPath /home/svn/sample
AuthType Basic 
AuthName "Subversion Repository" 
AuthUserFile / home/svn/access/users 
Require valid-user
외부에서 접근할 때는 #svn checkout http://서브버전 서버IP/svn/sample 로 접근이 가능하다.

FreeBSD] subversion on FreeBSD 6.1R (간단하게 설치하기)



Subversion mini HowTo
버전 관리 프로그램인 Subversion 서버 설치에 대한 간단한 문서입니다.

환경 :
Server 환경:
OS : FreeBSD 6.1 Released
Subversion : 1.3.0
Apache 2.2
Berkeley Database 사용

Client 환경 :
OS : 윈 도우
TortoiseSVN


Requirement :
FreeBSD 6.1 / Windows family
Apache2.2
Subversion 1.3.0
TortoiseSVN
설 치 작업은 반드시 root 권한으로 작업한다.

위 사항에서 FreeBSD상에서 돌아가는 것은 ports 시스템을 이용하여 설치

설치 순서 :
1.Apache2.2
2.Apcahe2.2 설정
3.Subversion 설치
4.Subversion 설정


Installation
1. Apache Installation
1.1. Apache2.2 설치

#cd /usr/ports/www/apache2
#make install WITH_MOD_DAV_SVN=yes WITH_BERKELEYDB=yes


1.2. 설정 확인

#ldconfig -m /usr/local/lib

 아래사항은확인만하면됩니다.(6.1버전에서는아래사항은하지않아도됨)
#echo "/usr/local/lib/apache2" >> /etc/ld.so.conf
#echo "/usr/local/lib/apache2" >> /etc/ld-elf.so.conf


1.3. apache가 자동으로 실행되게 하기 위해 rc.conf 파일에 등록하기

#echo 'apache22_enable="YES"' >> /etc/rc.conf


2. Subversion Installation
2.1 Subversion 설치

#cd /usr/ports/devel/subversion
#make install -DWITH_MOD_DAV_SVN


2.2 Subversion 설정(configuration)
   Subversion Home folder 생 성
 
   #mkdir -p /home/svn
 
 
   저장소 포맷 생성하기
 
   #mkdir -p /home/svn/default/trunk
   #mkdir /home/svn/default/branches
   #mkdir /home/svn/default/tags
 
 
   웹인터페이스를 위한 파일 복사
 
 
   #cp /usr/ports/devel/subversion/work/subversion-1.3.0/tools/xslt/*
   /usr/local/www/data-dist/
   ^^^^^^^^^^^^^^^^^^^^^^^^^이부분은 web doc root 입니다.
 
 
   사용자 접근을 제어하기 위해 빈 파일 생성
 
   #mkdir /home/svn/access
   #touch /home/svn/access/users <- user파일을생성하는명령어
 
 
   apache에서 제공하는 htpasswd 파일을 이용하여 사용자의 계정과 비밀번호 생성
 
   #htpasswd -mb /home/svn/access/users username password
 
 
   Apache의 설정파일인 httpd.conf 파일 수정하기
 
   #vi /usr/local/etc/apache22/httpd.conf
 
 
   Httpd.conf의 내용 중 일부
   사용자들이 웹으로 접근하기 위해서는 아래의 문장이 들어가 있어야지 됨.
   이것의 의미는 /home/svn/access/users 파 일에 등록된 사용자만이 접근가능하다는 의미
             <Location /svn/sample>DAV svnSVNPath /home/svn/sampleAuthTypeBasicAuthName"Subversion Repository"AuthUserFile /home/svn/access/users  Requirevalid-user</Location>
           
 
 
 
   외부에서 접근할 때는 #svn checkout http://서브버전 서버IP/svn/sample 로 접근이 가능하다.


2012-09-13

FreeBSD] Subversion + Apache on FreeBSD 간단한 설치 가이드



이 글의 출처는 http://www.xinublog.com/198 입 니다.
! 아래 설치 가이드는 Berkeley DB를 사용하지 않는 것을 전제로 하고 있습니다.
! Apache2.x대를 권장합니다.

1. 먼저 아파치를 설치한다.
# cd /usr/ports/www/apache2
# make install WITH_MOD_DAV_SVN=yes

/usr /local/etc/apache22/httpd.conf에 아래 설정을 확인 및 추가합니다.
          LoadModule dav_module         modules/mod_dav.so

          LoadModule dav_svn_module     modules/mod_dav_svn.so
          

          <Location /svn/sample>

            DAV svn

            SVNPath /home/svn/sample

          </Location>
          

2. Subversion을 설치한다.
# cd /usr/ports/devel/subversion
# make install -DWITH_MOD_DAV_SVN WITHOUT_BDB=yes

http://(Subversion 과 Apache를 설치한 IP주소 또는 도메인)/svn/sample 로 접속을 합니다.
          Revision 0: /

          

          --------------------------------------------------------------------------------

          Powered by Subversion version 1.0.0.
          

2012-09-12

FreeBSD] Subversion설치(FreeBSD6.1R)


Subversion설치(FreeBSD6.1R).docSubversion mini HowTo
버전 관리 프로그램인 Subversion 서버 설치에 대한 간단한 문서입니다.

환경 :
Server 환경 :
OS : FreeBSD 6.1 Released
        Subversion : 1.3.0
        Apache 2.2
        Berkeley Database 사용

Client 환경 :
OS : 윈도우
        TortoiseSVN


Requirement :
      FreeBSD 6.1 / Windows family
      Apache2.2
      Subversion 1.3.0
      TortoiseSVN
설치 작업은 반드시 root 권한으로 작업한다.

위 사항에서 FreeBSD상에서 돌아가는 것은 ports 시스템을 이용하여 설치

설치 순서 :
1. Apache2.2
2. Apcahe2.2 설정
3. Subversion 설치
4. Subversion 설정


Installation
1. Apache Installa tion
1.1. Apache2.2 설치
##cd /usr/ports/www/apache2make install WITH_MOD_DAV_SVN=yes WITH_BERKELEYDB= yes

1.2. 설정 확인
#
##
ldconfig -m /usr/local/lib 
아래 사항은 확인만 하면 됩니다.(6.1버전에서는 아래 사항은 하지 않아도 됨) echo "/usr/local/lib/apache2" >> /etc/ld.so.confecho "/usr/local/lib/apache2" >> /etc/ld-elf.so.conf

1.3. apache가 자동으로 실행되게 하기 위해 rc.conf 파일에 등록하기
#echo 'apache2 2_enable="YES"' >> /etc/rc.conf

2. Subversion Installation
2.1 Subversion 설치
##cd /usr/ports/devel/subversionmake install -DWITH_MOD_DAV_S VN

2.2 Subversion 설정(configuration)
Subversion Home folder 생성
#mkdir -p /home/svn

저장소 포맷 생성하기
###mkdir -p /home/svn/default/trunkmkdir /home/svn/default/branchesmkdir /home/svn/default/tags

웹인터페이스를 위한 파일 복사
#cp /usr/ports/devel/subversion/wo rk/subversion-1. 3. 0/tools/xslt/* /usr/local/www/data-dist/^^^^^^^^^^^^^^^^^^^^^^^^^이부분은 web doc root 입니다.

사용자 접근을 제어하기 위해 빈 파일 생성
##mkdir /home/svn/accesstouch /home/svn/access/users <- user파일을 생성하는 명령어

apache에서 제공하는 htpasswd 파일을 이용하여 사용자의 계정과 비밀번호 생성
#htpasswd -mb /home/svn/access/users username password

Apache의 설정파일인 httpd.conf 파일 수정하기
#vi /usr/local/etc/apache2 2/httpd.conf

Httpd.conf의 내용 중 일부
사용자들이 웹으로 접근하기 위해서는 아래의 문장이 들어가 있어야지 됨.
이것의 의미는 /home/svn/access/users 파일에 등록된 사용자만이 접근가능하다는 의미
/svn/sample >
  DAV svn
  SVNPath /home/svn/sample
  AuthType Basic 
  AuthName "Subversion Repository" 
  AuthUserFile / home/svn/access/users 
  Require valid-user
외부에서 접근할 때는 #svn checkout http://서브버전 서버IP/svn/sample 로 접근이 가능하다.