-
项目需求
根据开发需求,建立svn环境,同时建立source、bd分支,source分支所有人都能访问,bd分支管理员kazihuo可访问。同时,在此基础上构建apache,以便于相关人员能通过浏览器访问分支信息,权限配置同svn!
-
SVN部分
服务安装
[[email protected]]# yum -y install subversion
[[email protected]]# rpm -qa subversion
subversion-1.6.11-15.el6_7.x86_64
[[email protected]]# mkdir -pv /svn/svndata #创建svn数据存储目录
[[email protected]]# mkdir -pv /svn/svnpasswd #创建配置文件信息目录
[[email protected]]# svnserve -d -r /svn/svndata/ #启动svn
[[email protected]]# ss -atunpl|grep 3690
tcp LISTEN 0 7 *:3690 *:* users:(("svnserve",27241,3))
[[email protected]]# svnadmin create /svn/svndata/source #创建名为source项目版本库
[[email protected] /svn/svndata/source/conf]# cp svnserve.conf svnserve.conf.default #备份配置文件
[[email protected] /svn/svndata/source/conf]# egrep -v "^$|#" svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /svn/svnpasswd/passwd
authz-db = /svn/svnpasswd/authz
[[email protected] /svn/svndata/source/conf]# cp -p authz passwd /svn/svnpasswd/
[[email protected] /svn/svnpasswd]# chmod 700 authz passwd
[[email protected] /svn/svnpasswd]# egrep -v "^$|#" passwd
[users]
kazihuo = kazihuo8 #用户名 = 密码
caorj = wanda1518
[[email protected] /svn/svnpasswd]# egrep -v "^$|#" authz
[groups]
developer = kazihuo,caorj #组 = 成员1,成员2
[source:/] #项目版本库路径
@developer = rw #组权限
# pgrep svn|xargs kill -9
# svnserve -d -r /svn/svndata/
# svn --username=kazihuo co svn://10.1.64.79/source #linux登陆验证
?
说明:bd分支按照source分支方式创建,此处不做赘述!
?
WINDOWS客户端功能验证
# 下载安装客户端
# 新建文件夹test并进入,点击鼠标右键配置svn
# Export directory项路径后默认没有\source,请手动添加
?
-
APACHE部分
[[email protected]]# yum install httpd -y
[[email protected]]# yum install mod_dav_svn
# apache访问svn的模块,安装成功后会生成mod_dav_svn.so和mod_authz_svn.so两个文件,在/usr/lib64/httpd/modules/目录下。
[[email protected]]# chown -R apache.apache /svn/svndata/
[[email protected]]# htpasswd -bc /svn/svndata/passwd kazihuo kazihuo8
[[email protected]]# htpasswd -b /svn/svndata/passwd caorj wanda1518
[[email protected] /svn/svndata]# cat passwd
kazihuo:J/ZmB9qn5kMi.
caorj:5slMRhKPxwqYk
[[email protected] /svn/svndata]# cat authz
[source:/]
kazihuo = rw
* = r
?
[bd:/]
kazihuo = rw
[[email protected] /etc/httpd/conf.d]# cp subversion.conf subversion.conf.defaults
[[email protected] /etc/httpd/conf.d]# cat subversion.conf|egrep -v "#|^$"
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /svn/svndata/
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /svn/svndata/authz
AuthUserFile /svn/svndata/passwd
Require valid-user
</Location>
[[email protected]]# systemctl start httpd.service
?
功能验证
# 两个用户账号都能正常登陆并访问source,同时访问时出现的信息都是事先通过svn客户端commit的文件及目录
?
# bd只有kazihuo账号访问成功,caorj访问时禁止
原文地址:https://www.cnblogs.com/kazihuo/p/9013235.html