SVN配置http和https访问

1 配置HTTP请求访问SVN

1.1 SVN服务的搭建请参考centos7环境下svn服务器的搭建

1.2 安装 httpd 及其 SVN 模块

yum -y install deltarpm

yum -y install httpd mod_dav_svn

1.3 svn http配置

## 将 SVN 版本库所有者改为 apache(httpd 进程默认的启动用户)
chown -R apache:apache /yuanyk/svn/

## 添加配置文件
vim /etc/httpd/conf.d/subversion.conf
<Location /svn>
    ## mod_dav_svn 模拟,是 HTTP 1.1 的扩展,用来支持 SVN
    DAV svn 

    ## SVN HTTP 的根目录
    SVNParentPath /yuanyk/svn 

    ## 认证类型
    AuthType Basic 

    ## 输入用户名和密码时的提示信息
    AuthName "SVN repository" 

    ## 用户和密码认证文件的位置,需要手工创建(1.4步创建)
    AuthUserFile /yuanyk/svn/config/httpd-passwd

    ## 用户权限文件位置,需要手工创建(与svn的权限配置文件相同)
    AuthzSVNAccessFile /yuanyk/svn/config/httpd-authz

    # Authorization: Authenticated users only
    Require valid-user
</Location>

1.4 创建SVN http用户

## 首个用户必须指定 -c 用于新建文件 svn-auth.htpasswd
## 后续用户必须不要指定 -c, 否则文件会被新建;-m 表示以 md5 加密密码

## 需要指定密码两次(最好与SVN的passwd一致)
htpasswd -cm /yuanyk/svn/config/httpd-passwd kevin 

## 需要指定密码两次(最好与SVN的passwd一致)
htpasswd -m /yuanyk/svn/config/httpd-passwd john 

## 需要指定密码两次(最好与SVN的passwd一致)
htpasswd -m /yuanyk/svn/config/httpd-passwd mike

1.5 修改svn仓库的配置文件 

vim /yuanyk/svn/java-repo/conf/svnserve.conf

password-db = ../../config/httpd-passwd
authz-db = ../../config/httpd-authz

1.6 启动httpd服务

## 设置开机启动
systemctl enable httpd

## 重启httpd服务
systemctl restart httpd

1.7 防火墙开放80(http默认端口)端口

## 开放80端口
firewall-cmd --permanent --add-port=80/tcp

重新加载防火墙策略
firewall-cmd --reload

验证是否开放80端口
firewall-cmd --permanent --query-port=80/tcp

若需要修改端口

# vim /etc/httpd/conf/httpd.conf 

将Listen后的80改成其他端口即可,不要忘记设置防火墙开放该端口

1.7 验证,浏览器中输入http://ip/svn/java-repo,提示输入用户名和密码,则设置成功

2 配置HTTPS请求SVN

2.1 安装SSL模块

yum -y install mod_ssl openssl

2.2 生成证书

## 创建文件夹保存key
mkdir /etc/httpd/ssl

openssl genrsa -out my.key 1024

openssl req -new -key my.key -out my.csr

openssl x509 -req -days 3650 -in /etc/httpd/ssl/my.csr -signkey /etc/httpd/ssl/my.key -out my.crt

2.3 配置证书

vim /etc/httpd/conf.d/ssl.conf
SSLCertificateFile    /etc/httpd/ssl/my.crt
SSLCertificateKeyFile /etc/httpd/ssl/my.key

2.4 配置https请求

vim /etc/httpd/conf/httpd.conf

<Directory />

Options FollowSymLinks

AllowOverride None

SSLRequireSSL //添加此行

</Directory>

2.5 重启httpd服务

 

问题1.SVN开启HTTPS加密后(2.4步配置),所有的WEB访问都变成HTTPS,例如,localhost将无法访问,需要访问https://localhost

解决办法:

不在httpd.conf添加 SSLRequireSSL ,添加到subversion.conf

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

<Location /svn>
DAV svn
SVNParentPath /u01/svn/
AuthType Basic
AuthName "SVN repository"
AuthUserFile /etc/httpd/svn-auth.htpasswd
# Authorization: Authenticated users only
Require valid-user
# 添加下面这行
SSLRequireSSL
</Location>

 

这样,只有/svn目录需要https加密访问,不影响httpd做web服务器

 

问题2:修改https默认端口443,修改

# vim /etc/httpd/conf.d/ssl.conf

把443改成其他端口

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值