搭建SVN+APACHE环境-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

搭建SVN+APACHE环境

简介: 项目需求 根据开发需求,建立svn环境,同时建立source、bd分支,source分支所有人都能访问,bd分支管理员kazihuo可访问。同时,在此基础上构建apache,以便于相关人员能通过浏览器访问分支信息,权限配置同svn! SVN部分 服务安装 [root@KAZIHUO]#...

项目需求

根据开发需求,建立svn环境,同时建立source、bd分支,source分支所有人都能访问,bd分支管理员kazihuo可访问。同时,在此基础上构建apache,以便于相关人员能通过浏览器访问分支信息,权限配置同svn!

SVN部分

服务安装

[root@KAZIHUO]# yum -y install subversion

[root@KAZIHUO]# rpm -qa subversion

subversion-1.6.11-15.el6_7.x86_64

[root@KAZIHUO]# mkdir -pv /svn/svndata #创建svn数据存储目录

[root@KAZIHUO]# mkdir -pv /svn/svnpasswd #创建配置文件信息目录

[root@KAZIHUO]# svnserve -d -r /svn/svndata/ #启动svn

[root@KAZIHUO]# ss -atunpl|grep 3690

tcp LISTEN 0 7 *:3690 *:* users:(("svnserve",27241,3))

[root@KAZIHUO]# svnadmin create /svn/svndata/source #创建名为source项目版本库

[root@KAZIHUO /svn/svndata/source/conf]# cp svnserve.conf svnserve.conf.default #备份配置文件

[root@KAZIHUO /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

[root@KAZIHUO /svn/svndata/source/conf]# cp -p authz passwd /svn/svnpasswd/

[root@KAZIHUO /svn/svnpasswd]# chmod 700 authz passwd

[root@KAZIHUO /svn/svnpasswd]# egrep -v "^$|#" passwd

[users]
kazihuo = kazihuo8
caorj = wanda1518

[root@KAZIHUO /svn/svnpasswd]# egrep -v "^$|#" authz

[groups]
developer = kazihuo,caorj

[source:/]
@developer = rw
* = r

# pgrep svn|xargs kill -9

# svnserve -d -r /svn/svndata/

# svn --username=kazihuo co svn://10.1.64.79/source #linux克隆source仓库到本地,并登陆验证

说明:bd分支按照source分支方式创建,此处不做赘述!

====================================================

# SVN启停脚本

https://www.cnblogs.com/kazihuo/p/9254816.html

====================================================

 

WINDOWS客户端功能验证

# 下载安装客户端

https://osdn.net/frs/redir.php?m=acc&f=%2Fstorage%2Fg%2Ft%2Fto%2Ftortoisesvn%2F1.10.0%2FApplication%2FTortoiseSVN-1.10.0.28176-x64-svn-1.10.0.msi

# 新建文件夹test并进入,点击鼠标右键配置svn

# Export directory项路径后默认没有\source,请手动添加

 客户端URL失败可用以下url尝试!!!!

 

 说明:windos用svn拉取了source仓库到电脑本地后,可手动在本地目录新建一个测试文件,通过先commit,再update方式,可验证服务的功能正常与否!

APACHE部分

[root@KAZIHUO]# yum install httpd -y

[root@KAZIHUO]# yum install mod_dav_svn

# apache访问svn的模块,安装成功后会生成mod_dav_svn.so和mod_authz_svn.so两个文件,在/usr/lib64/httpd/modules/目录下。

[root@KAZIHUO]# chown -R apache.apache /svn/svndata/

[root@KAZIHUO]# htpasswd -bc /svn/svndata/passwd kazihuo kazihuo8

[root@KAZIHUO]# htpasswd -b /svn/svndata/passwd caorj wanda1518

[root@KAZIHUO /svn/svndata]# cat passwd

kazihuo:J/ZmB9qn5kMi.
caorj:5slMRhKPxwqYk

[root@KAZIHUO /svn/svndata]# cat authz

[source:/]
kazihuo = rw
* = r

[bd:/]
kazihuo = rw

[root@KAZIHUO /etc/httpd/conf.d]# cp subversion.conf subversion.conf.defaults

[root@KAZIHUO /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>

[root@KAZIHUO]# systemctl start httpd.service

 

功能验证

# 两个用户账号都能正常登陆并访问source,同时访问时出现的信息都是事先通过svn客户端commit的文件及目录

 

# bd只有kazihuo账号访问成功,caorj访问时禁止

-------------------------------------------------------------

作者:罗穆瑞

转载请保留此段声明,且在文章页面明显位置给出原文链接,谢谢!

------------------------------------------------------------------------------

如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

------------------------------------------------------------------------------

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: