配置使用HTTP方式访问SVN

1.首先要安装svn

请参考CentOS搭建SVN服务器

2.配置Apache的http协议访问

查看httpd是否已经安装的svn模块

# ls /etc/httpd/modules/ | grep svn  
ls: cannot access /etc/httpd/modules/: No such file or directory

没安装,使用yum安装。

# yum install mod_dav_svn

# ls /etc/httpd/modules/ | grep svn  
mod_authz_svn.so
mod_dav_svn.so

安装完成,对svn版本库下的项目ProjectName进行位置映射

在/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 /ProjectName>  
    DAV svn  
    SVNPath /home/svn/ProjectName/                  
    AuthType Basic  
    AuthName "Subversion repos"
    AuthUserFile /home/svn/ProjectName/conf/accesspwd
    AuthzSVNAccessFile /home/svn/ProjectName/conf/authz
    Require valid-user  
</Location>

AuthType 认证类型

AuthName 描述名,随便取 

AuthUserFile 这个是http协议的访问账户密码文件,后面使用htpasswd命令创建

AuthzSVNAccessFile 权限认证文件,这个跟上面配置svn时候配置的权限设置一样

Require 需要认证用户才可以访问

 

htpasswd创建账户密码

# htpasswd -c -m /home/svn/ProjectName/conf/accesspwd username

-c是创建新文件,只有第一次创建账户密码时使用

-m是强制使用MD5加密密码(默认)

accesspwd 是创建的文件名。

username你要创建的可访问用户的名字(如我想创建一个asd用户访问这个svn项目仓库,这个username就是asd)

按提示输入两次密码,我们就创建了一个可访问用户名和密码。

如果想要新增加用户abc(第二次添加用户)

不需要使用-c参数,如果使用的会覆盖原来的accesspwd文件

# htpasswd -m /home/svn/ProjectName/conf/accesspwd dan

  接着输入两次密码,

  继续增加用户。。。

你不再继续创建新用户,循环结束。

重启Apache的服务

service httpd restart  或者 systemctl restart httpd.service

现在就可以通过"http://ip/ProjectName"  来访问我们的svn服务器了

3.防火墙配置

如果连接不上,可能是防火墙配置原因:

先确认svn与httpd的3690、80端口开启正常。

vim /etc/sysconfig/iptables #编辑防火墙配置文件添加80端口和3690端口

INPUT ACCEPT [0:0]
:FORWARD ACCEPT[0:0]
:OUTPUT ACCEPT[0:0]
-A INPUT -m state--state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080-j ACCEPT
-A INPUT -j REJECT--reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效
或者service iptables restart这个语句重启iptables

备注:这里使用80和8080端口为例。***部分一般添加到
“-A INPUT -p tcp -m state --state NEW -m tcp--dport 22 -j ACCEPT”行的上面或者下面,切记不要添加到最后一行,否则防火墙重启后不生效。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值