svn之配置多库的http访问

本文介绍了如何在服务器上配置SVN,实现多库的HTTP和HTTPS访问。步骤包括安装HTTP和SVN服务,配置SVN数据库,创建和修改库的权限,设置账号密码,通过编辑httpd.conf和svn.conf文件配置HTTP和HTTPS,以及启动服务和测试访问。此外,还解决了HTTPS加密后只允许访问HTTPS以及修改默认端口的问题。
摘要由CSDN通过智能技术生成

1.安装http 、svn

yum -y install  subserver mod_dav_svn  httpd

2.配置svn数据库
创建库

cd /home/svn
svnadmin  create  test1
svnadmin  create  tes2
svnadmin  create  test3

修改库的所属

chown -R apache:apache test1
chown -R apache:apache test2
chown -R apache:apache test3

若:要给所有库相同的账号密码,且密码加密的,可以通过如下操作(可以给所有库指向一个账号密码文件(svnserve.conf中修改路径即可))
将库下的的db目录及下边文件权限改为最大

cd  /home/svn/test1
chmod  -R 777  db/

1)创建账号及加密密码

htpasswd -cm passwd test1(只需要第一个加-c参数即可,test1为用户名,会交互的提示输入密码,密码自动加密)
htpasswd -m passwd test2
htpasswd -m passwd test3

3.配置http
1)创建如下配置文件
vim /etc/httpd/conf.d/svn.conf(名称自定义)

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>  (此处为多个svn库的上层目录)
    DAV svn
    SVNListParentPath on
    SVNParentPath /home/svn(svn库的上层路径的绝对路径)

    AuthType Basic
    AuthName "Authorization SVN"
    AuthzSVNAccessFile /home/svn/passwd/authz(所有库共用的账号密码路径,下同)
    AuthUserFile /home/svn/passwd/passwd
    Require valid-user
</Location>

2)修改http配置文件
vim /etc/httpd/conf/httpd.conf(需要修改的内容如下)

Listen 10.10.12.56:8443(服务器ip及自己定义的端口号)
ServerName 10.10.12.56:8443(ip加端口号即可)

4.启动服务即可

systemctl start httpd.service(启动httpd)
svnserve -d -r /home/svn(启动路径为svn库的上层目录即可)

5.测试
在这里插入图片描述
如图可以通过http方式访问了!

5.配置https

  • 安装SSL模块
yum -y install mod_ssl openssl
  • 生成证书
## 创建文件夹保存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
  • 配置证书
    注意:一下配置文件中的端口 与httpd.conf中端口不可相同,产生冲突
#vim /etc/httpd/conf.d/ssl.conf
SSLCertificateFile    /etc/httpd/ssl/my.crt
SSLCertificateKeyFile /etc/httpd/ssl/my.key
  • 配置https请求
    在配置httpd的基础上进行如下操作
vim /etc/httpd/conf/httpd.conf
 
<Directory />
 
Options FollowSymLinks
 
AllowOverride None
 
SSLRequireSSL //添加此行
 
</Directory>
  • 重启httpd服务,并验证
    在这里插入图片描述

问题:

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

解决办法:

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

vim /etc/httpd/conf.d/svn.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改成其他端口
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值