Centos下搭建SVN服务器并同步仓库内容到WEB目录

来源:互联网 发布:淘宝旺旺分流怎么设置 编辑:程序博客网 时间:2024/06/06 08:54

第一步:安装svnversion


Centos下可以使用yum安装,自动配置环境变量

yum install subversion

安装完成后可以用

svn help
来检查是否安装成功


第二步:配置svnversion


mkdir -p /home/svn/repos  #创建版本库目录 repos目录名可以自定义svnadmin create /home/svn/repos #创建版本
然后修改配置文件进行配置

编辑/home/svn/repos/conf/svnserve.conf

[general]anon-access = none #匿名登录无权限auth-access = write #认证可写password-db = passwd  #用户密码文件authz-db = authz  #授权登录文件realm = repos

注意:

*这里的配置修改后需要重启服务


编辑用户密码

编辑/home/svn/repos/conf/passw

[users]username = password #每行一个用户 用户名 = 密码

编辑用户权限

编辑/home/svn/repos/conf/authz

[groups]#组名 = 用户名 其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。#比如 admin = user1,user2admin = username[/]#[/] 为根目录权限@admin = rw #组名前必须加@username = rw #也可以直接给某个用户设置权限
注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。


用户组格式:

版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
[/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/home/svn,[/]就是表示对全部版本库设置权限。
[repos:/] 表示对版本库repos设置权限;
[repos:/abc] 表示对版本库repos中的abc项目设置权限;
[repos:/abc/aaa] 表示对版本库repos中的abc项目的aaa目录设置权限;
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。


启动服务

svnserve -d --listen-port 8080 -r /home/svn #这里注意目录 是/home/svn 不是/home/svn/repos-d :表示以daemon方式(后台运行)运行;--listen-port 8080 :表示使用8080端口-r /home/svn:指定根目录是/home/svn。

停止服务:

killall svnserve

至此SVN已经配置完毕

可以通过:

svn co svn://ip:port/repos/

进行测试


第三步:自动同步到WEB目录


在/home/svn/repos/hooks目录下

cp post-commit.tmpl post-commit

修改内容为:

#!/bin/shWEB=/home/wwwroot/wwb/web/ #web的目录cd $WEB && /usr/bin/svn update --username winke --password 772930093 --no-auth-cachechmod 755 post-commit #别忘了这一步


参考文章:

[1]:https://my.oschina.net/u/163208/blog/186797

[2]:http://stackoverflow.com/questions/7841591/svn-post-commit-hook-error-255

0 0