1.安装SVN
yum -y install subversion
2.查看安装内容与位置
rpm -ql subversion
3.建立SVN根目录
mkdir /data/svn
4.新建版本库:TestCode
svnadmin create /data/svn/TestCode
注:执行完后,/data/svn/TestCode目录下文件说明
README.txt 版本库的说明文件
conf 配置文件件夹(后续操作最多的文件夹)
db SVN数据文件文件夹
format 当前版本库的版本号
hooks SVN的钩子脚本文件夹
locks SVN的文件锁相关的文件夹
4.TestCode库添加用户、分配权限
A.配置SVN
vim /data/svn/TestCode/conf/svnserve.conf
anon-access=none #去除文件前的注释,将read改为none,防止匿名访问
auth-access=write #去除文件前的注释
password-db=passwd #去除文件前的注释
authz-db = authz #去除文件前的注释,访问权限配置,非常重要,不打开,分组权限不生效
注意:在去掉#的时候,空格键要去掉,不能留。
B.添加访问TestCode用户
vim /data/svn/TestCode/conf/passwd
复制代码
[users]
# harry = harryssecret
# sally = sallyssecret
albert=123456
findyou=123456
abc=123456
love=123456
注:添加了四个用户
C.设置添加的用户权限
vim /data/svn/TestCode/conf/authz
复制代码
[groups]
admin=albert,findyou
user=abc
[TestCode:/] #[<版本库名>:<路径>]
@admin=rw #<用户组> = <权限> ,第一种方式
@user=r #<用户名> = <权限> ,第二种方式
love=r
*= #* = <权限>,第三种方式,*为任意用户,此为禁止匿名用户访问
复制代码
注:albert,findyou可读可写,abc、love可读,其他不可访问。
D.防火墙开放SVN端口通行
iptables -A INPUT -p tcp --dport 3690 -j ACCEPT
保存设置
/etc/rc.d/init.d/iptables save
重启防火墙
/etc/init.d/iptables restart
E.开启SVN服务
svnserve -d -r /data/svn
F.SVN客户端访问
svn://IP/TestCode
例: svn://120.55.55.254:3690/testCode
如不成功可以试试例: svn://120.55.55.254/testCode 不用端口访问,
再不成功,注意一下你用的服务器,如阿里云要去安全组那把端口打开一下3690这个端口,才可以正常访问
出现
svn 提示authorization failed
就是下面c步骤出现错误,
C.设置添加的用户权限
vim /data/svn/TestCode/conf/authz
[groups]
admin=albert,findyou
user=abc
[TestCode:/] #[<版本库名>:<路径>]
@admin=rw #<用户组> = <权限> ,第一种方式
@user=r #<用户名> = <权限> ,第二种方式
加好这个就好 [TestCode:/] Testcode 就是刚才创建的TestCode项目名称