SVN
安装
centos
yum install subversion
ubuntu
apt install subversion
配置
创建仓库
在 /home/nicky 下建立一个 repo,名称为 svn_repo. svn_repo即项目名称。
svnadmin create /home/svn_repo
修改配置
进入到 /home/svn_repo/conf
下,看到3个配置文件
[root@localhost conf]# ls
authz passwd svnserve.conf
authz 是权限控制文件 passwd 是帐号密码文件 svnserve.conf 是SVN服务配置文件
配置passwd
[users]
test1=test
test2=testtest
配置authz
[root@localhost conf]# vi authz
[groups]
group1 = liuxianan
group2 = test1,test2
[/]
@group1 = rw
@group2 = r
* =
上面配置的含义是创建了2个分组,分组1的用户可读可写,分组2的用户只读。liuxianan对/home/svn/下所有文件具有可读可写权限,test只有只读权限.
除此之外,其它用户均无任何权限,最后一行*=很重要不能少。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
svnserve.conf
[root@localhost conf]# vi svnserve.conf
打开下面的5个注释
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录
启动与停止
[root@localhost conf]# svnserve -d -r /home/svn(启动)
[root@localhost conf]# killall svnserve(停止)
svn服务器默认使用3690端口号,svn要使用非默认端口 如需指定端口号
svnserve -d -r /home/svn --listen-port 3690
如果无法杀死,可以直接杀死进程
[root@localhost conf]# ps -ef|grep svnserve
root 4908 1 0 21:32 ? 00:00:00 svnserve -d -r /home/svn
root 4949 4822 0 22:05 pts/0 00:00:00 grep svnserve
[root@localhost conf]# kill -9 4908
客户端连接
获得一个 wc,如把它取名为 svn_repo1
svn checkout svn://127.0.0.1/ svn_repo1
或者简写为:
svn co svn://127.0.0.1/ svn_repo1
开启 http 访问
<Location /svn>
DAV svn
SVNParentPath /home/svn
SVNAdvertiseV2Protocol Off
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /home/svn/passwdfile
AuthzSVNAccessFile /home/svn/authz
Require valid-user
</Location>