搭建SVN+APACHE服务器

Posted kazihuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建SVN+APACHE服务器相关的知识,希望对你有一定的参考价值。

  1. 项目需求

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

  2. 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客户端功能验证

    # 下载安装客户端

    https://www.baidu.com/link?url=QnPN_ey02ffBcODO681B_K8X3jlGVr_pau30mo3hVHhkaSGVw-Fn0Og71zKz68WXbJQPDZgjnyOnrjQ_M47Yp1tpL0wFPermkFt0IVdpu-S&wd=&eqid=d7f4b33b00005f4d000000045af00580

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

    技术分享图片

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

    技术分享图片

    ?

  3. 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访问时禁止

    技术分享图片

以上是关于搭建SVN+APACHE服务器的主要内容,如果未能解决你的问题,请参考以下文章

使用SVN+apache搭建版本控制服务器

RHEL6.4下搭建apache和subversion(SVN)

CentOS7:搭建SVN + Apache 服务器

Centos 下搭建SVN + Apache 服务器

Apache+SVN 服务器搭建:

CentOS搭建SVN服务器,并通过Apache HTTP方式访问