在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1.环境 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一个出来,也可以直接配在仓库中 复制代码 代码如下: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.如何支持匿名用户访问 复制代码 代码如下:Require valid-user 改为 复制代码 代码如下:<LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> 重启服务,这样设置以后,svn下的所有内容都不在需要验证用户,可以直接访问。 缺点:svn自身的访问权限设置失效了。更多的时候我们希望用户先用匿名方式尝试访问,如果不行,在输入用户名和密码验证访问。 方法二: 复制代码 代码如下:Satisfy Any 加入了Satisfy Any的设置,其表示在同时启用了Allow(允许)和Require的情况下,指定相关策略的,一共有两个备选值,All表示用户必须同时满足Allow和Require的条件,而Any则是满足其中之一即可。 Satisfy Any表示允许先用匿名方式尝试访问,并根据svnauthz对匿名用户的控制给予访问权限。 PS:SVN自动同步程序执行流程: |
请发表评论