1.安装svn
yum install mod_dav_svn subversion
2.创建svn服务器根文件夹
mkdir /home/svn
3.创建一个版本库
svnadmin create /home/svn/test
4.新建用户文件
vim /home/svn/svn_passwd
[users]
#用户名=密码
test = test
5.新建库控制文件
vim /home/svn/svn_authz
[aliases]
[groups]
#分组=用户,用户
admins = test
#"/"对应的svnserver启动目录,"test"对应的仓库名
[/test]
用户=rw
*=
#库名
[test:/]
#@分组=rw读写权限
@admins = rw
#用户=rw
test = rw
#其他一切用户不然访问
*=
6.修改库的配置文件
vim /home/svn/test/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /home/svn/svn_passwd
authz-db = /home/svn/svn_authz
7.启动服务
svnserve -d -r /home/svn --listen-port 端口号(默认为3690)
#链接地址
svn://ip:端口/仓库名
==================至此SVN部分完成,apache支持可以不用安装============================
8.安装apache支持
yum install httpd httpd-devel
9.配置httpd密码(不是svn用户,他们对用户验证是独立的)
#创建用户密码文件(-c是创建新文件,只有第一次才用,以后不能带,不然以前的用户就被干掉了)
htpasswd -c /home/svn/svn_http_passwd 用户名
vim /etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
#SVNPath /home/svn/test #如果你只有一个版本库可以用它
SVNParentPath /home/svn/ #多个版本库用它,配合SVNListParentPath
SVNListParentPath on #多个版本库的时候可以用他,配合SVNParentPath
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /home/svn/svn_http_passwd #不可与svn的用户公用一个文件
AuthzSVNAccessFile /home/svn/svn_authz #这个可以与之前的那个权限文件公用
Require valid-user #需要验证用户
</Location>
10.启动httpd服务
systemctl restart httpd
11.修改httpd端口
vim /etc/httpd/conf/httpd.conf
#链接地址
http://ip:端口/svn/仓库名
12.容易混淆的地方
#svn链接的密码是:svn_passwd
#http链接的密码是:svn_http_passwd
#可以只用其中的一种链接方式,关闭另一种服务