您的位置:首页 > 运维架构 > Apache

OpenSUSE 11.4 + SVN + Apache2

2011-11-25 09:51 169 查看
【原文】 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息