您的位置:首页 > 运维架构 > Linux

关于 Linux 系统(centos)完美搭建 svn 版本管理系统的教程

2016-07-08 01:07 495 查看
原文链接:http://www.cnblogs.com/viphchok/articles/5656956.html

阿里云服务器环境(PHP+Nginx+MySQL)

我在百度翻了个遍,按照前辈们的方法一样一样的敲,在客户端总是打不开,我特么的郁闷了一晚上。

如:"svn: Can't connect to host '*.*.*.*': 由于连接方在一段时间后没有正确答复或连接"

......(这里省略数亿个“草泥马”的复制&黏贴)

【废话不多说,将我总结的集完美与帅气于一身的方法分享如下】

1. 打开终端(Xshell / SecureCRT / 其他)

2. 远程安装 subversion

yum install subversion

3. 输入rpm -ql subversion 查看安装位置

我们知道 svn 在 bin 目录下生成了几个二进制文件,输入 svn --help 可以查看 svn 的使用方法,如图:

4. 创建 svn 版本库目录

mkdir -p /var/svn

5. 创建版本库

svnadmin create /var/svn/project

6. 进入 conf 目录

cd var/svn/project/conf

authz (文件是权限控制文件)
passwd (帐号密码文件)
svnserve.conf svn (服务配置文件)

7. 设置帐号密码

vi passwd

在 [users] 块中添加用户和密码,格式:帐号 = 密码

[users]
hahaha = hahaha
bbb = bbb
ccc = ccc

8. 设置权限

vi authz

清空代码复制以下代码:

[groups]
develop = hahaha,bbb,ccc

[/]
@develop = rw

意思是版本库的根目录 admin 对其有读写权限,w 只有读权限。

9. 修改 svnserve.conf 文件

vi svnserve.conf

清空里面的所有代码,复制黏贴以下代码:

[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz

注:每行代码前面一定不要有空格,每行全部顶置。

10. 最重要的一步,默认情况下防火墙 3690 端口是没有对外开放的,因此我们要修改配置文件:

vi /etc/sysconfig/iptables

在中间的位置复制如下代码(如果有就跳过):

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT

重启一下防火墙

service iptables restart

11. 启动 svn 服务

svnserve -d -r /var/svn

12. 进入网站根目录,输入以下指令

svn checkout file:///var/svn/project ./

输入指令查询是否成功创建 svn 版本文件

ls -a

如果出现 .   ..   .svn 的话,就说明创建成功

13. 将网站目录文件添加到 svn 版本库里面:

svn add *
svn commit -m "[随便你写什么日志]"

14. 修改 hooks 文件 post-commit(设置了服务器自动更新提交的文件,告别 svn up  手动指令更新)

cd var/svn/project/hooks
cp post-commit.tmpl post-commit
chmod 755 post-commit
vi post-commit

在最后加上 (/data/wwwroot 以你网站根目录为准)

#!/bin/sh
export LANG=en_US.UTF-8
/usr/bin/svn up /data/wwwroot --username hahaha --password hahaha --no-auth-cache --non-interactive

15. 在 windows 上的 TortoiseSVN 客户端测试:

先创建一个文件夹,然后鼠标右键点击文件夹,选择 SVN checkout

填写 svn 的地址,如下图:

输入帐号&密码,如下图:

done!

 

转载于:https://www.cnblogs.com/viphchok/articles/5656956.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: