CentOS 7.0:搭建SVN服务器

1. 通过 yum install subversion来安装

CentOS 7.0:搭建SVN服务器

2. 提示已经安装。查看svn版本

CentOS 7.0:搭建SVN服务器

第二步: 创建svn版本库

CentOS 7.0:搭建SVN服务器

第三步: 配置svn信息

CentOS 7.0:搭建SVN服务器

2. 配置权限配置文件authz

CentOS 7.0:搭建SVN服务器

3. 配置用户口令文件passwd

CentOS 7.0:搭建SVN服务器

4. 配置 svn服务综合配置文件svnserve.conf(对realm 做了修改:realm = /home/svn/project)

CentOS 7.0:搭建SVN服务器

第四步: 启用svn,连接svn以及关闭svn

1. 启用svn

svnserve -d -r /home/svn/project/

CentOS 7.0:搭建SVN服务器

2. 连接svn

(1) 出现错误,认证失败

CentOS 7.0:搭建SVN服务器

(2) 修改/root/.subversion/servers选项

CentOS 7.0:搭建SVN服务器

CentOS 7.0:搭建SVN服务器

(3) 安装openssl以及openssl-devel

CentOS 7.0:搭建SVN服务器

(4)如果以上2步都操作还是提示认证失败,那只能无奈的用这个了:

CentOS 7.0:搭建SVN服务器

(5)连接成功,以及导入文件成功

CentOS 7.0:搭建SVN服务器

3. 关闭svn

通过ps -aux|grep svn 查看到的svn进程id来进行关闭

第四步、实现svn更新自动同步到web目录:

1.先在svn下面创建仓库test,并且把用户组,用户名都修改好(这步骤见第三部,SVN配置)

CentOS 7.0:搭建SVN服务器

2.把web导入到svn 仓库中(SVN import  web绝对路径   svn 路径)

CentOS 7.0:搭建SVN服务器

 到了第2步,本地是可以远程下载这个项目的,并且手动更新,但是我想做实时更新,所以接下来第3步

3.实现实时更新

a.先进入到svn 仓库中,我的路径是

CentOS 7.0:搭建SVN服务器

b.新建 post-commit (钩子)

CentOS 7.0:搭建SVN服务器

#!/bin/sh
#设定环境变量,如果没有设定可能会出现update报错
#设定语言,根据系统语言设置,如果是GBK就设置为 LANG=zh_CN.GBK
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn
WEB_PATH=/home/wwwroot/default/test/
$SVN_PATH update $WEB_PATH --username 'zz' --password '123456' --no-auth-cache
exit 0

 c.改变post-commit 的权限(本地上传时报这个错误:post-commit hook failed (exit code 255) with no output,就是post-commit 没有权限.)

CentOS 7.0:搭建SVN服务器

c.重启svn 好了 完成了