接下来应该是安装Subversion1.4.6。但是在我的环境中已经安装了Subverion1.4.2,且安装1.4.6的操作不能影响到用户的正常使用。之前1.4.2的版本是系统自带的RPM安装。所以,我选择使用源码安装。顺便说一下,Subversion安装的RPM包可以很方便的在http://the.earth.li/pub/subversion/summersoft.fay.ar.us/pub/subversion/latest/中下载。
源码包的下载地址是:
http://archive.apache.org/dist/subversion/
1. 安装
[root@localhost opt]# tar zxvf subversion-1.4.6.tar.gz
[root@localhost opt]# cd subversion-1.4.6
[root@localhost subversion-1.4.6]# ./configure--prefix=/usr/local/svn--with-apxs=/usr/local/apache/bin/apxs--with-apr=/usr/local/apache/bin/apr-1-config--with-apr-util=/usr/local/apache/bin/apu-1-config
[root@localhost subversion-1.4.6]# make
[root@localhost subversion-1.4.6]# make install
2. 安装完毕后,查看/usr/local/apache/conf/httpd.conf文件,会发现多了以下2行:
LoadModuledav_svn_module
LoadModule authz_svn_module
3. 把SVN加为系统服务
[root@localhost opt]#
[root@localhost opt]#
#!/bin/sh
#
# This script will be executed *after* all the other initscripts.
# You can put your own initialization stuff in here if youdon't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
su - svn -c "svnserve -d --listen-port 9999 -r /opt/svndata"
4. 编辑/usr/local/apache/conf/httpd.conf 文件
添加:
<Location /opt/svndata>
DAV svn
SVNListParentPath on
SVNParentPath /opt/svndata
AuthType Basic
AuthName "subversion repository"
AuthUserFile /opt/svndata/passwdfile
AuthzSVNAccessFile /opt/svndata/accessfile
Require valid-user
</Location>
修改用户和组,使用svn作为运行apache的用户名和组名:
(因为系统中正在使用的是最简单的svnserver模式,相应的用户名是svn:svn,所以在这里我们延续这种做法)
5. 在/opt/svndata下创建相应的权限控制文件
[root@localhost svndata]# touch passwdfile
[root@localhost svndata]# touch accessfile
[root@localhost svndata]# chown svn:svn passwdfile accessfile
6. 重启Apache服务:
[root@localhost conf]# service
停止apache:
[root@localhost conf]# service
启动apache:
7. 添加用户
Adding password for user amy
8.修改accessfile,添加权限
[groups]
local_proj1 = amy, bob
local_proj2 = amy, bob
[local_proj1:/]
@local_proj1 = rw
[local_proj2:/]
@local_proj2 = rw
9. 重启后从windows客户端访问:
http://192.168.4.110:8000/opt/svndata/local_proj1
可以看到配置库的内容,说明安装正确。