【原文】 http://www.voidseer.com/DeveloperBlogs/MichaelWojcik/?page_id=33
创建svn用户组?
$> sudo /usr/sbin/groupadd -r svn
$> sudo /usr/sbin/useradd -r -g svn -d /srv/svn -s /bin/false svn
创建svn目录并修改权限
$> sudo svnadmin create /home/svn/repos0
$> sudo chown svn:svn /home/svn/repos0
$> sudo chmod -R g+rws repos0 // 否则 svn import 出现“svn: Can't open file '/home/svn/repos0/db/txn-current-lock': Permission denie”
结果应该为:
drwxr-xr-x 6 wwwrun www 4096 Nov 24 13:46 repos0
配置httpd.conf
$> sudo vim /etc/apache2/httpd.conf
Add lines after "Include /etc/apache2/sysconfig.d/loadmodule.conf":
# add 3 lines
LoadModule dav_module /usr/lib/apache2/mod_dav.so
LoadModule dav_svn_module /usr/lib/apache2/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/mod_authz_svn.so
At the very end, at the following section:
<Location /repos/repos0>
DAV svn
SVNPath /home/svn/repos0
#SVNIndexXSLT "/svnindex.xsl"
AuthType Basic
AuthName "Voidseer repositories"
AuthUserFile /etc/svn-auth-file
Require valid-user
</Location>
创建授权访问文件
Type the following command to both create the file and authentication data:
#> htpasswd2 -cm /etc/svn-auth-file ‘username’ // 创建文件并增加名为username的用户
#> htpasswd2 -m /etc/svn-auth-file ‘svn’ // 增加名为svn的用户
使用:
1. shell command
$> svnserve -d -R /home/svn
$> svn list svn://localhost/repos0
2. Browser
http://localhost/repos/repos0
配置svn://localhost/访问
1. 确保repos文件夹权限为:
drwxrwsr-x 7 svn svn 4096 Nov 25 14:27 repos0
2. 配置svnserve访问授权
drtwox@server:~$ vim svn/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = projects
drtwox@server:~$ vim svn/conf/passwd
[users]
drtwox = password
drtwox@server:~$ vim svn/conf/authz
[projects:/home/drtwox/svn]
drtwox = rw
3. 使用
$> svn list svn://localhost/repos0
$> svn import share_memory svn://localhost/repos0/shared_memory -m "initial" --username svn