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

加入了Satisfy Any的设置,其表示在同时启用了Allow(允许)和Require的情况下,指定相关策略的,一共有两个备选值,All表示用户必须同时满足Allow和Require的条件,而Any则是满足其中之一即可。
Satisfy Any表示允许先用匿名方式尝试访问,并根据svnauthz对匿名用户的控制给予访问权限。

PS:SVN自动同步程序执行流程:
1、用户提交文件到SVN服务器,提交操作成功后触发post-commit脚本
2、在post-commit版本文件中使用php_script.php执行PHP脚本
3、在PHP脚本中通过exec系统调用更新服务器上的版本库工作副本
4、根据更新操作结果日志,对另一个SVN版本库进行对应的操作处理

标签:
CentOS,SVN

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。