CentOS在使用nginx之后添加SVN的http支持

安装思路

服务器的主http服务已经安装了nginx,svn没有提供nginx的模块,因此需要apache作为中间服务器支持对svn的连接,然后通过nginx做代理,连接到apache上

安装过程

参考:
用 Apache 和 Subversion 搭建安全的版本控制环境:https://developer.ibm.com/zh/articles/j-lo-apache-subversion/
Subversion : Access to Repositories via HTTP:https://www.server-world.info/en/note?os=Debian_12&p=subversion&f=4

安装配置svn

# yum install svn

创建svn库

# mkdir -p /var/svn
# mkdir -p /var/svn/conf
# touch /var/svn/conf/passwd
# touch /var/svn/conf/authz

创建密码文件

# htpasswd /var/svn/conf/passwd 用户名
把“用户名”改成你需要的名字就可以了,可以使用中文

安装配置apache

# yum install httpd
# systemctl enable httpd

注意要把httpd的默认80端口换掉,避免与nginx冲突

# vi /etc/httpd/conf/httpd.conf
Listen 8081

安装svn的apache支持模块

装完apache再装支持模块,会使得支持模块自动添加到配置文件中,不需要手动添加配置文件

# yum install mod_dav_svn -y

检查安装结果

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

设置版本库网站,要注意的是,版本库的网站不是iF.SVNAdmin的网站,当用户通过svn命令访问服务器时是通过apache访问svn的,启用apache的mod_dav_svn 模块后,不需要启用svn服务

# vi /etc/httpd/conf.d/w_svn_9001.conf
Listen 9001
<Location /svn>
    DAV svn
    SVNParentPath /var/svn
    AuthType Basic
    AuthName "svn repos"
    AuthUserFile /var/svn/conf/passwd        # 指定密码文件
    AuthzSVNAccessFile /var/svn/conf/auth  # 指定权限文件
    Satisfy Any
    Require valid-user
</Location>

(配置好后测试,待完善…)

安装PHP

# yum install php php-xml -y

安装配置iF.SVNAdmin

下载iF.SVNAdmin,GitHub - mfreiholz/iF.SVNAdmin: Web-based GUI to manage Subversion repositories and User/Group permissions (+LDAP support),拷贝到正确的目录上,配置httpd连接svn

启动服务

# systemctl start httpd

(配置好后测试,待完善…)

设置nginx代理

在主网站的网站配置文件中,添加代理支持

locate /svn
{
    proxy_pass http://127.0.0.1:9001;
}

(配置好后测试,待完善…)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值