安装步骤如下:
1、yum install subversion
2、输入rpm -ql subversion查看安装位置,如下:
rpm -ql subversion /etc/bash_completion.d /etc/bash_completion.d/subversion /etc/rc.d/init.d/svnserve /etc/subversion /usr/bin/svn /usr/bin/svnadmin /usr/bin/svndumpfilter /usr/bin/svnlook /usr/bin/svnserve /usr/bin/svnsync /usr/bin/svnversion 我们知道svn在bin目录下生成了几个二进制文件。
输入 svn –help可以查看svn的使用方法
3、创建svn版本库目录
mkdir -p /var/svn/svnrepos
4、创建版本库
svnadmin create /var/svn/svnrepos
执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件
5、进入conf目录(该svn版本库配置文件)
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
6、设置帐号密码
vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如qcloud=qcloud
7、设置权限
vi authz
在末尾添加如下代码:
[/]
qcloud=rw
w=r
意思是版本库的根目录,qcloud用户对其有读写权限,w用户只有读权限。
如果要实现详细的目录控制,参考下面的配置
[groups]
harry_and_sally = harry,sally
harry_sally_and_joe = harry,sally,&joe
project = guang,admin
projectx = guest
[/foo/bar]
harry = rw
&joe = r
* =
[repository:/baz/fuz]
@harry_and_sally = rw
* = r
[/]
@project = rw
* = r
[/code]
@project = rw
guest =
例如项目路径为
svnrepos:
–hello
–code
–data
必须保证所有用户都具有根目录的访问权限,否则checkoout是会出现认证失败
单独设置code目录权限,如果希望某个组不能checkout code目录,权限设为空即可,code目录写相对路径
svnserve和apache的authz对目录描述是不一样的. 直接写路径就好了,不要Project:/path这样.
修改完成后务必重启 httpd服务,否则不会生效.
8、修改svnserve.conf文件
vi svnserve.conf
打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
9、启动svn版本库
svnserve -d -r /var/svn/svnrepos
到此整个svn搭建已经完成,客户端提交的文件存储在/var/svn/svnrepos/db/revs/下。
多版本库的处理
建版本库的根目录,如下图所示,svnroot根目录下有Branches和Tags 两个库 svnroot —-Branches —skynet —skynet_version_1 —skynet_version_2 ——Tags 先在linux 上使用 svnadmin create svnroot 创建svn 根目录,svnroot的配置文件中设为这样
realm = /var/svn/svnroot
在客户端上checkout下来根目录,然后添加 Branches,Tags 目录 在Branches下面创建skynet 目录,在skynet下面创建 version目录 提交 如果skynet_version需要开分支,在客户端使用Branches功能即可,linux上似乎搞不了分支
以项目在 /mnt/svn/为例,使用 svnadmin create /mnt/svn 创建目录
svnserve -d -r /mnt/svn 启动svn、
加入开机启动
vi /etc/rc.d/rc.local
/usr/bin/svnserve -d -r /mnt/svn
加入备份计划任务
svnadmin hotcopy /mnt/svn /mnt/svnbackup
配置文件为
- 本文作者: royalchen
- 本文链接: http://www.royalchen.com/2016/08/26/centos7-搭建svn-完整教程/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!