感谢支持
我们一直在努力

CentOS SVN安装与配置 (RHEL5.4平台测试通过)

Yum install httpd httpd-devel subversion subversion-devel mod_dav_svn


 mod_auth_mysql


第一步:安装apache subversion


yum install httpd


yum install  httpd-devel        //用于开发Apache模块


yum install  subversion


yum install  mod_dav_svn   //SubversionApache之间的接口(通过它,Apache就可以访问版本库,可以让客户端也使用HTTP的扩展协议 WebDAV/DeltaV进行访问)


yum install  mod_auth_mysql   //这一项用于用户身份验证,在网上有资料说貌似这个mod_auth_mysql没得配置访问权限的 只有用户设置,建议不装,用htpasswd就可以,在这里我没有装,我还是打算用htpasswd,可能下回会试试。


验证svn模块(mod_dav_svn)是否正确安装


ls /etc/httpd/modules | grep svn


系统提示:


mod_authz_svn.so


mod_dav_svn.so


验证安装:


svn –version


 


第二步:创建SVN库和项目


mkdir /home/svn          //创建SVN


svnadmin create /home/svn/projcet          //创建项目


第三步:添加组及组员权限


groupadd subversion     //创建一个叫subversion的组为拥有仓库所在的目录


usermod -G subversion -a apache   //将自己和Apache 用户加入组成员中


查看:more /etc/group | grep subversion


系统提示:subversion:x:500:apache


第四步:修改项目权限


 


chgrp -R subversion /home/svn/project


chmod R 777 /home/svn/project


 


这里最好根据自己的安全需求配置相应的权限,我这是试验环境所以直接给了777


 


第五步:配置httpd


编辑httpd.conf


vim /etc/httpd/conf/httpd.conf


查看有没有LoadModule dav_svn_module modules/mod_dav_svn.so这一行,如果没有就添加上为了使客户端能够通过Apache来访问SVN档案库,Apache需要加载 mod_dav_svn模块。如果Apache是按照与预设目 录安装的,mod_dav_svn 模块应该会安装在 Apache 安装位置 (默认路径是 /etc/httpd/) modules 子目录内。同时在Apache的配置文件httpd.conf(默认路径为etc/httpd/conf/)中已经使用 LoadModule指令加载了该模块(如果没有,手动添加)注意这个指令必须出现在其它的 Subversion 相关指令之前。还要加载mod_authz_svn.so模块


例如:


LoadModule dav_svn_module modules/mod_dav_svn.so


LoadModule authz_svn_module modules/mod_authz_svn.so


一般来说apache2都己正常加载了这两个模块


启动httpd


/etc/init.d/httpd start


打开浏览器查看是否能看到apache的页面(注意如果开了防火墙记得开放80端口)


第六步:配置SVN


编辑subversion.conf


vim /etc/httpd/conf.d/subversion.conf


按以下代码更改(栗红为修改的代码):


LoadModule dav_svn_module modules/mod_dav_svn.so


LoadModule authz_svn_module modules/mod_authz_svn.so


 


<Location /svn>


DAV svn


SVNParentPath /home/svn


#


#   # Limit write permission to list of valid users.


#   <LimitExcept GET PROPFIND OPTIONS REPORT>


#      # Require SSL connection for password protection.


#      # SSLRequireSSL


#


AuthType Basic


AuthName “Authorization Realm”


AuthzSVNAccessFile /home/svn/project/conf/authz


AuthUserFile /home/svn/passwd


Require valid-user


#   </LimitExcept>


</Location>


 


针对不同用户给予不同权限:


 


# vim  /home/svn/project/conf/authz  添加如下内容:


[groups]


g_vip = admin,vip01,vip02


g_manager = user01,user02,user03


g_developer = user04,user05,user06


g_Tester = user07,user08,user09


g_docs = user10


 


[/]


* = r


@g_manager = rw


@g_vip = rw


dangerman =


 


[/require_document]


@g_docs = rw


@g_manager = rw


* =


 


[/develope]


@g_developer = rw


@g_manager = rw


* =


 


[/test1]


@g_Tester = rw


* =


 


 


第七步:建立用户


# htpasswd -c /home/svn/passwd test         //第一次添加用户使用参数“-c”以后再添加就不用了


系统提示:


New password:                        //输入新密码


Re-type new password:         //确认密码


Adding password for user test


重启apache                                  


通过web页面访问,弹出用户登录验证,访问成功 (注意开放防火墙的3690端口)


 


Trouble_shooting: 


 


访问报错如下: 



 


访问地址不正确,正确的地址为:


 


http://192.168.1.241/svn/stuff

赞(0) 打赏
转载请注明出处:服务器评测 » CentOS SVN安装与配置 (RHEL5.4平台测试通过)
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏