centos7 搭建SVN服务器

1:经多次实践,最终终于成功搭建,特此记下该过程
2:首先在服务器安装svn
yum install subversion -y
3:检查是否安装成功
svnserve –version
4:创建一个版本库
mkdir /opt/svn/repos (绝对路径创建) 创建目录
svnadmin create /opt/svn/repos 初始化版本,此时会生产很多配置文件
五、配置SVN内容
进入上面生成的文件夹conf下,进行配置, 有以下几个文件authz, passwd, svnserve.conf
其中authz 是权限控制,可以设置哪些用户可以访问哪些目录, passwd是设置用户和密码的, svnserve是设置svn相关的操作。
1. 设置passwd
这里写图片描述
这样我们就建立了test用户, 123密码 。
2. 设置权限authz
这里写图片描述
设置test用户对所有的目录有读写权限,当然也可以限定。
3. 设定svnserve.conf

anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password
authz-db = authz # 访问控制文件
realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
这里写图片描述
4. 启动svn
killall svnserve //先杀死所有的SVN进程
svn: svnserve -d -r /opt/svn/repos
svn import /data/wwwroot/default/ file:///data/svn/repos -m “ss”

六、设置防火墙允许访问3690端口
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT
systemctl restart iptables.service
七、链接这里写图片描述

使用SVN客户端工具,安装TortoiseSVN后,右击D:\test目录选择Checkout即可,测试环境下连接正常。、
在这里说我的迷点
第一:SVN的路径URL的构成也就是检出的时候需要的路径
首先是svn://host(ip)/
然后看这条命令 svn: svnserve -d -r /opt/svn/repos
如果这条命令你写到了项目名称也就是仓库名称 地址就是svn://host(ip)/
如果你是这样写 svn: svnserve -d -r /opt/svn/
那么地址就是svn://host(ip)/repos
第二个多个版本库的运用
你可以使用svnadmin 创建多个版本库,为了好管理,你最好是都创建在同一目录下面。因为启动SVN服务只能是一个目录而已。
创建好之后,你可以把配置文件都移动到外层,然而你就可以配置好三个文件,对应多个版本库。
第三个SVN的高级命令教程需要自己去研究了,本文指望能领进门而已。

3、## 配置项目仓库的钩子配置。 ##
可以把钩子看成是WEB项目与SVN项目仓库之间的一个关联。通过向svn项目仓库提交脚本代码,利用钩子shell脚本可以自动向web项目中将脚本文件更新过去。
进入SVN项目仓库钩子所在目录,shell命令:
cd /opt/svn/wwwroot/hooks/
然后执行如下复制命令:
cp post-commit.tmpl post-commit
然后编辑post-commitshell脚本,shell命令如下:
vi post-commit
将里面的所有代码注释掉,然后输入如下代码:
cd /data0/htdocs/wwwroot
/usr/bin/svn cleanup
/usr/bin/svn up /data0/htdocs/wwwroot/ –username “wwwroot” –password “123456”
这个地方需要注意,我们先进入到wwwroot目录下进行SVN清理(cleanup),消除一些隐患。然后再执行将 svn wwwroot项目创建里面的代码同步更新到web项目目录/data0/htdocs/wwwroot/中去。这里的账号wwwroot和密码123456是我们创建SVN wwwroot项目仓库的时候指定的。
这个时候,我们去提交一个文件到svn,这时会发现在/data0/htdocs/wwwroot/目录下同步更新过来了。

如果没有反应,会有两个地方可能出错:
1)配置文件与路径写得不对,可以直接通过手工方式去执行post-commit看看有没有报错。
2)权限不对。即/data0/htdocs/wwwroot权限是否足以满足脚本的读写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值