首页 > 其他 > 详细

Linux配置SVN服务器(subversion+apache)

时间:2014-01-28 20:26:34      阅读:411      评论:0      收藏:0      [点我收藏+]

1:环境及相关服务检查
确认是否安装了apache,没有请yum 安装apache
一般情况下,centos自带了svnserver,如果没有运行:

yum install subversion

2: 相关软件包检查
请确认下面软件包有没有安装,如果没有安装,请yum 安装
subversion
mod_dav_svn
如果安装正常的话,应该在/etc/httpd/modules目录下能找到这些模块
mod_authz_svn.so
mod_dav_svn.so

3: 初始化repository
创建svn的项目库父路径,我把/home/svnroot做为svn的项目库父路径。这个目录是任意的,如果是多个项目库则必须在同一个父路径下

#mkdir /home/svnroot

我们通过如下命令初始化一个svn项目库test1

#svnadmin create /home/svnroot/test1

重复上面的命令创建多个项目库,如

#svnadmin create /home/svnroot/test2

或者你指定SVN库的存储方式

#svnadmin create –fs-type fsfs /home/svnroot/test1

4: SVN访问控制
建立用户认证:

htpasswd -cm /home/svnroot/passwd [username]

然后输入用户名密码。打开该文件会看到输入的用户名和一段加密的密码。
在/home/svnroot目录下创建访问控制文件文件svnaccess,名字任意,不过在以后的配置过程中你必须使用正确的名字,文件内容为

bubuko.com,布布扣
[groups]
    admin=test1,test2
    [test1:/]
    @admin=rw
    *=r
    [test2:/]
    @admin=rw
    *=r
bubuko.com,布布扣

意思是对于项目库test1和test2,test1和test2用户有读写权限,其他人有读取权限无写入权限。

5: Apache和SVN集成
编辑apache的配置文件/etc/httpd/conf/httpd.conf文件

bubuko.com,布布扣
 <Location /svn>
    DAV svn
    SVNParentPath /home/svnroot
    AuthzSVNAccessFile /home/svnroot/svnaccess
    AuthUserFile /home/svnroot/passwd
    AuthName ”SVN Repositorys”
    AuthType Basic
    Require valid-user
    </Location>
bubuko.com,布布扣

6: 安全访问设置[必须设置,否则svn无法访问]
修改目录的属主和访问权限

 #chown apache.apache -R /home/svnroot
 #chmod 755 -R /home/svnroot

修改SELinux的设置
禁用SELinux(强烈不推荐)或者在SELinux图形管理界面中勾上Disable SELinux protection for httpd daemon这个选项,否则apache这个虚拟用户无法访问/home/svnroot目录,当然你也可以用更好的方法设置apache的访问权限,比如:

chcon -R -h -u system _u -t httpd_sys_content_t /home/svnroot

7: 重新启动Apache服务器
执行如下命令

#service httpd restart
或者
#/etc/init.d/httpd restart

键入下面的url看是否能正确的访问svn。

http://localhost/svn/test1,http://localhost/svn/test2

Linux配置SVN服务器(subversion+apache)

原文:http://www.cnblogs.com/liuxgnu/p/3535513.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!