当前位置: > Linux服务器 > SVN >

CentOS SVN+Apache

时间:2016-06-01 19:33来源:linux.it.net.cn 作者:IT
CentOS SVN+Apache

第一步:安装apache subversion
yum install httpd httpd-devel   subversion mod_dav_svn
验正:ls /etc/httpd/modules | grep svn
验证svn模块(mod_dav_svn)是否正确安装,如正确安装,系统会提示:
mod_authz_svn.so
mod_dav_svn.so
版本:svn –version
第二步:创建SVN库和项目
1:mkdir /svn (创建SVN库)
2:svnadmin create /svn/pongo (创建项目)

第三步:添加组及组员权限
chown -R apache.apache /svn

第四步:修改项目权限
chmod –R 777 /svn/pongo

第五步:配置httpd
vim /etc/httpd/conf/httpd.conf 
首先,你要在改文本中寻找到LoadModule那块代码
增加如下模块:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

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

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

service httpd start (验下配置文件是否有语法错误)
第六步:配置SVN
vim /etc/httpd/conf.d/subversion.conf (编辑subversion.conf)
<Location /svn/>   #注意目录路径后要以“/”作为结束
        DAV svn
        SVNListParentPath on
        SVNParentPath /svn
        AuthType basic
        AuthName "Authorization Realm"
AuthzSVNAccessFile /svn/pongo/conf/authz
        AuthUserFile    /tmp/passwd
        Require valid-user
</Location>

vim /svn/pongo/conf/authz(针对不同用户给予不同权限)
[groups]
admin = user1,user2    #组名是自己随便定义的,路系统组无关,是一个虚拟的。

[svn:/]
@admin = rw

第七步:建立用户
htpasswd –c /svn/passwd xiaoming
htpasswd  /svn/passwd lihui

注:第一次添加用户使用参数“-c”以后再添加就不同了
系统提示:
New password:
Re-type new password

第八步:重启服务
service httpd restart (重启apache)
service svnserve restart (启动svn服务)
第八步:防火墙
iptables -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 3690 -j ACCEPT
iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
注:svn://10.0.1.188/pongo 使用的是tcp 3690端口


(责任编辑:IT)
------分隔线----------------------------