1.环境
centos6.4
2.安装svn
复制代码
yum -y install subversion
3.配置
建立版本库目录
复制代码
mkdir /www/svndata
svnserve -d -r /www/svndata
4.建立版本库
创建一个新的Subversion项目
复制代码
svnadmin create /var/www/svndata/njlrxx
配置允许用户jiqing访问
复制代码
cd /var/www/svndata/njlrxx/conf
vi svnserve.conf
anon-access=none
auth-access=write
password-db=passwd
注:修改的文件前面不能有空格,否则启动svn server出错
复制代码
vi passwd
[users]
#<用户1> = <密码1>
#<用户2> = <密码2>
jiqing=123456
5.客户端连接
复制代码
svn co svn://ip/njlrxx
用户名:jiqing
密码:123456
6.实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中
(1)设置WEB服务器根目录为/var/www/webroot
(2)checkout一份SVN
复制代码
svn co svn://localhost/njlrxx /var/www/webroot/njlrxx
修改权限为WEB用户
复制代码
chown -R apache:apache /var/www/webroot/njlrxx
(3)建立同步脚本
复制代码
cd /var/www/svndata/njlrxx/hooks/
cp post-commit.tmpl post-commit
编辑post-commit,在文件最后添加以下内容
复制代码
REPOS="$1"
REV="$2"
BASEPATH=/var/www/webroot/njlrxx
WEBPATH="$BASEPATH/"
export LANG=zh_CN.UTF-8
svn update $WEBPATH --username jiqing --password 123456 --no-auth-cache
增加脚本执行权限
复制代码
chmod +x post-commit
最后操作是关闭服务然再打开服务:
svn服务的关闭:
复制代码
killall svnserve
svn开启:
复制代码
svnserve -d -r /var/www/svndata
7.如何支持匿名用户访问
方法一:
在svn安装目录下找到,conf/httpd.conf文件,如果是手动集成apache的则找到apache的配置文件。
找到中的
复制代码
Require valid-user
改为
复制代码
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
重启服务,这样设置以后,svn下的所有内容都不在需要验证用户,可以直接访问。
缺点:svn自身的访问权限设置失效了。更多的时候我们希望用户先用匿名方式尝试访问,如果不行,在输入用户名和密码验证访问。
方法二:
在配置文件中加入
复制代码
Satisfy Any










