1. install.
sudo apt-get install subversion
sudo apt-get install libapache2-svn libapache2-mod-auth-pam libapache2-mod-auth-sys-group
sudo a2enmod dav_svn
sudo a2enmod authz_svn
1 - 1 SVN Edit setting
기본적으로는 nano 에디터일것이다.
이것을 계속 사용하려면 손대지 않는다.
vim으로 변경할 경우에만 손을 댄다.
vi ~/.bashrc
SVN_EDITOR=/usr/bin/vim
Export SVN_EDITOR
2. setup.
2 - 1 SVN setup
2 - 1 - 1 Default setup
groupadd subversion
usermod -a -G subversion www-data
2 - 1 - 2 Repository.
mkdir /home/svn
chown www-data:subversion /home/svn
chmod g+rws /home/svn
svnadmin create --fs-type fsfs /home/svn/repos
sudo htpasswd -c -m /home/svn/passwd username
2 - 1 - 3 General Setup
Path /home/svn/repos/conf/svnserve.conf
# anon-access = read => # Delete
# auth-access = write => #Delete
# Password-db = passwd => #Delete
Path /home/svn/repos/conf/passwd --- vi or vim edit
[User]
username = password
Path /home/svn/repos/conf/authz ---vi or vim edit
** 아래쪽 repos의 경우. svnadmin create로 만든 최하위 폴더 이름임
만일 svnadmin create --fs-type fsfs sample 일 경우 내용물은 [sample:/]이 된다.
[repos:/]
username = permission
** Permissions
r = read
w = write
* so, rw = all permissions
2 - 2 Apache2 Setup
2 - 2 - 1 subversion.conf Setup
Path /etc/apache2/mods-available/subversion.conf --- vi or vim edit
<Location /svn/repos>
DAV svn
SVNPath /home/svn/repos
AuthType Basic
AuthName "subversion"
AuthUserFile /home/svn/passwd
AuthzSVNAccessFile /home/svn/svn_authz
#등록 사용자 제한하기(읽기)
<Limit GET PROPFIND OPTIONS REPORT>
Require valid-user
</Limit>
#등록자 중 특정 사용자만 쓰기 가능
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require user manager
</LimitExcept>
</Location>
:wq
2 - 2 - 2 Symbolic
cd /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/subversion.conf subversion.conf
2 - 2 - 2 Apache2 restart or force-reload
service apache2 restart
or
/etc/init.d/apache2 restart
3. Check
svn checkout http://localhost/svn/repos
svn co http://localhost/svn/repos
'리눅스 > Apache2 관련' 카테고리의 다른 글
SVN 용어설명 (0) | 2013.11.05 |
---|