注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

淘尽网 官方博客

淘尽网http://www.tao3w.com做最好的比价网站

 
 
 

日志

 
 
关于我

淘尽网 http://www.tao3w.com 做最好的比价网站,做最好的数据抓取专家。

网易考拉推荐

linux安装svn及实现SVN与WEB同步解决方案[阿里云]  

2014-03-23 23:09:34|  分类: LINUX |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1.环境
Linux AY1305140905015863a2Z 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
阿里云服务器 CentOS 6.3 64位
环境安装使用wdlinux一键搭建
环境使用wdlinux的web管理系统

2.安装svn
yum -y install subversion
版本:

linux安装svn及实现SVN与WEB同步解决方案[阿里云] - jjdoor - 淘尽网 官方博客

3.配置

svnserve -d -r /www/svndata/
svnadmin create /www/svndata/oplinux

4.建立版本库

创建一个新的Subversion项目
svnadmin create /www/svndata/oplinux

配置允许用户test访问
cd /www/svndata/oplinux/conf

vi svnserve.conf
--------------------
anon-access=none    
auth-access=write
password-db=passwd

注:将默认的  #空格 去掉  如:       #空格anon-access=none  
修改的文件前面不能有空格,否则启动svn server出错

vi passwd
------------------
[users]
test=test

5.本地测试
安装svn软件
svn://IP
linux安装svn及实现SVN与WEB同步解决方案[阿里云] - jjdoor - 淘尽网 官方博客

 

实现SVN与WEB同步解决方案

1)设置WEB服务器根目录为/www/default

2)checkout一份SVN

svn co svn://localhost/oplinux /www/default

修改权限为WEB用户

chown -R www:www /svndata/oplinux

3)建立同步脚本

cd /www/svndata/oplinux/hooks/
方案一:
vi post-commit 输入以下内容:

#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn checkout svn://112.144.46.207:3689 /home/wwwrootfrance --username test --password test --no-auth-cache  注意这里的svn必须要有地址,如果不是默认端口号,还要写端口号
svn update /www/web/default --username test--password test  这里可以不写地址
好了我们把这个文件保存完毕,但是兄弟们,如果你这个时候兴冲冲的以为搞定了的话,那么就大错特错了,现在我们还需要一个重要的操作,那就是在linux命令下,输入:svn checkout  svn://112.144.46.207:3689 /www/wwwrootfrance/ --username test --password test,这个时候才算大功告成,说白了,checkout相当于安装,update相当于更新,就好像没有一个软件的安装何来更新
该条方法参考了http://www.codesky.net/article/201207/171482.html

方案二:
cp post-commit.tmpl post-commit

手工在命令行输入/usr/bin/svn update /www/web --username test --password test

编辑post-commit,在文件最后添加以下内容

export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/www/web/

$SVN update $WEB –username test–password test
# chown -R www:www $WEB

增加脚本执行权限

chmod +x post-commit     

如果不成功 尝试一下方法,在命令后面加上  --no-auth-cache
 $SVN update $WEB --username test --password test  --no-auth-cache
对文件执行chmod +x post-commit操作
最后操作是关闭服务然再打开服务:
svn服务的关闭:killall svnserve
svn开启: svnserve -d -r 
/www/svndata/oplinux

自启动:

1、vi /etc/rc.local
2、svnserve -d -r /www/svndata/oplinux/    或者    /usr/local/svn/bin/svnserve -d -r /www/svndata/oplinux/

参考http://www.cnblogs.com/holyes/archive/2013/05/26/761c9873a3ab4b5ee255212fd2604ed4.html

后记:

后来又需要在同一台机器上搭建一个其他项目的svn,依瓢画葫芦弄了一下,然后启动时候,出现了【Can't bind server socket: Address already in use】错误,发现端口被占用了,于是修改svn端口

命令如下

svnserve -d --listen-port 3689 -r /svn/wetopzfrance

表示在3689端口启动,默认的svn启动端口是3690

参考:http://blog.slogra.com/post-420.html

===============================================================================================================

下面说说SVN提交时候必须注释的问题,必须要强制注释

$SVNLOOK log -t "$TXN" "$REPOS" | \ 
   grep "[a-zA-Z0-9]" > /dev/null || exit 1 
commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1 
这三行注释掉(前面加#符号), 
在此位置添加如下几行: 

LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c` 
if [ "$LOGMSG" -lt 5 ];#要求注释不能少于5个字符,您可自定义 
then 
  echo -e "\nLog message cann't be empty! you must input more than 5 chars as comment!." 1>&2 
  exit 1 
fi 

保存,退出。 
给pre-commit添加可执行权限: 
chmod +x pre-commit 
这里记得修改 $SVNLOOK=(svnlook的路径,/csvn的安装目录/bin/svnlook) 
配置结束,可以使用了。

参考了http://itindex.net/detail/49785-svn


安装插曲

1、提示需要保存密码

vim ~/.subversion/config 

store-passwords = no

参考http://bokuibi.blogspot.jp/2011/12/subversion.html

2、centos7自启动,设置chmod +x /etc/rc.d/rc.local ,然后按照centos6方式自启动即可

参考http://www.rootop.org/pages/3322.html


  评论这张
 
阅读(1335)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017