CentOS搭建svn服务器

浏览:2259 发布日期:2018/05/10 分类:功能实现 关键字: svn服务器 svn

linux版本:centOS7.2
工具:putty
欢迎加QQ群交流:193569204,
不要告诉我群问题的echo 01;不知道输出多少。

请确认3690端口开启。

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

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

首先配置conf里面的文件

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

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

svn服务配置文件: 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命令为:killall svnserve启动svn命令为:svnserve -d -r /home/svn注:启动命令启动到svn,如果启动到/home,可能就跑不起来哦

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

svn更新自动同步到web目录: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文件夹:cd /home/svn/tggui/hooks复制一份post-commit.tmpl :cp post-commit.tmpl post-commit编辑post-commit:vi post-commit在后面添加如下代码:export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn
WEB_PATH=/home/wwwroot/LAMP5.6/domain/tggui66/web/ #web访问目录
$SVN_PATH update $WEB_PATH --username tgguitest1 --password tggui666 --no-auth-cache  #设置同步账号密码
保存退出后把post-commit文件修改下用户组和用户:chown www:www post-commit然后修改post-commit权限:chmod 755 post-commit 然后重启svn
关闭svn:killall svnserve
启动svn:svnserve -d -r /home/svn

以上操作完成,就可以在客户端使用了。
链接为:svn://服务器ip地址/版本库,比如我的:svn://ip地址/tggui


评论( 相关
后面还有条评论,点击查看>>