请确认3690端口开启。

首先安装svn,命令:
  1. yum install -y subversion
复制代码
查看版本可以使用
  1. svnserve --version
复制代码
查看安装位置:
  1. rpm -ql subversion
复制代码
安装好了svn后就可以创建版本库了
比如我在home目录下创建svn,作为后面版本库的文件夹
  1. mkdir /home/svn
复制代码
创建版本库:
  1. svnadmin create /home/svn/tggui
复制代码
tggui文件夹就是我一个项目的版本库了

tggui里面会生成几个文件夹及文件:conf db format hooks locks README.txt

cd /svn/davesvn ls 查看目录下生成的文件 conf 存放版本库所用配置文件的目录 db 版本数据存储目录 format 存储一个整数的文件,此整数代表库层次结构版本 hooks 存放版本库勾子目录 locks 存储库锁目录,用来跟踪库的访问者 README.txt
#!/bin/sh
export LANG=zh_CN.UTF-8
svn co svn://[你的ip地址]/davesvn [WEB实际目录]
LOG_PATH=/home/svnlog/fushengtang.log
WEB=[WEB实际目录]
REPOS="$1"
REV="$2"
echo `date`,`whoami`,$REPOS,$REV >> $LOG_PATH
svn update --username [刚设置的SVN用户名] --password [刚设置的SVN密码] $WEB --no-auth-cache >> $LOG_PATH



首先配置conf里面的文件

配置用户账号密码:
  1. vi /home/svn/tggui/conf/passwd
复制代码
在后面加就行 比如 tggui = tggui666,多个的话继续加,空行就行
tgguitest1 = tggui666
tgguitest2 = tggui666

配置权限:
  1. vi /home/svn/tggui/conf/authz
复制代码
比如我的 [tggui:/] 然后空行写用户名 = 权限
[tggui:/]
tgguitest1 = rw
tgguitest2 = rw
细分的话我这里就不多讲了。

svn服务配置文件:
  1. vi /home/svn/tggui/conf/svnserve.conf
复制代码
打开如下注释,并且前面不要留有空格
anon-access = none //匿名用户访问权限:无
auth-access = write //普通用户访问权限:读、写
password-db = passwd //密码文件
authz-db = authz //权限配置文件
realm = /home/svn/tggui //版本库所在

以上配置完后,启动svn才能在服务器上测试,
关闭svn命令为:
  1. killall svnserve
复制代码
启动svn命令为:
  1. svnserve --/home/svn
复制代码
注:启动命令启动到svn,如果启动到/home,可能就跑不起来哦

服务器上测试:
  1. svn co svn://localhost/tggui
复制代码
tggui就是我的版本库,跟着提示输入账号密码

svn更新自动同步到web目录:
  1. svn co svn://localhost/tggui /home/wwwroot/LAMP5.6/domain/tggui66/web/  --username tgguitest1 --password tggui666
复制代码
解释:
1、svn://localhost/tggui 为svn版本库
2、/home/wwwroot/LAMP5.6/domain/tggui66/web/ 项目地址(由于我使用的是amh控制面板,所以地址才这么长)
3、 --username tgguitest1 --password tggui666 同步的账号密码

接下就配置hooks了,进入hooks文件夹:
  1. cd /home/svn/tggui/hooks
复制代码
复制一份post-commit.tmpl :
  1. cp post-commit.tmpl post-commit
复制代码
编辑post-commit:
  1. vi post-commit
复制代码

在后面添加如下代码:

#!/bin/sh
export LANG=zh_CN.UTF-8
svn co svn://[你的ip地址]/davesvn [WEB实际目录]
LOG_PATH=/home/svnlog/test.log
WEB=[WEB实际目录]
REPOS="$1"
REV="$2"
echo `date`,`whoami`,$REPOS,$REV >> $LOG_PATH
svn update --username 用户名--password 密码 $WEB --no-auth-cache >> $LOG_PATH

保存退出后把post-commit文件修改下用户组和用户:

  1. chown www:www post-commit
复制代码
然后修改post-commit权限:
  1. chmod 755 post-commit 
复制代码
然后重启svn
关闭svn:killall svnserve
启动svn:svnserve -d -r /home/svn

以上操作完成,就可以在客户端使用了。

链接为:svn://服务器ip地址/版本库,比如我的:svn://ip地址/tggui


版权声明:若无特殊注明,本文皆为( yueshuo )原创,转载请保留文章出处。