通过Apache HTTP Server部署SVN

1、安装Apache HTTP Server

复制代码
yum install -y httpd        # CentOS/RHEL

2、安装Subversion及相关模块

复制代码
yum install -y subversion mod_dav_svn mod_authz_svn
  • mod_dav_svn:Apache与SVN集成模块
  • mod_authz_svn:权限管理模块

3、创建版本库

复制代码
mkdir -p /var/svn/repos      # 创建存储目录
svnadmin create /var/svn/repos --fs-type fsfs
chown -R apache:apache /var/svn/repos  # 权限归属Apache用户

4、配置用户认证文件

复制代码
htpasswd -c /etc/svn/passwd admin  # 创建用户admin并设置密码

文件路径需与后续Apache配置匹配。

5、启用SVN模块

编辑Apache配置文件(路径因系统而异,如/etc/httpd/conf/httpd.conf ):

复制代码
LoadModule dav_svn_module modules/mod_dav_svn.so 
LoadModule authz_svn_module modules/mod_authz_svn.so

6、添加SVN仓库访问配置

在配置文件中追加以下内容:

复制代码
<Location /svn>
  DAV svn
  SVNPath /var/svn/repos       # 版本库路径
  AuthType Basic
  AuthName "SVN Repository"
  AuthUserFile /etc/svn/passwd  # 用户认证文件
  Require valid-user
  AuthzSVNAccessFile /etc/svn/authz  # 权限控制文件
</Location>
  • /svn为访问路径,可通过浏览器访问。

7、配置权限文件(/etc/svn/authz)

复制代码
[groups]
dev = user1,user2
admin = admin

[/]
@admin = rw
@dev = r
* = 
  • * =表示匿名用户无权限。

8、重启Apache服务

复制代码
systemctl restart httpd    # CentOS/RHEL

9、防火墙与SELinux配置

复制代码
firewall-cmd --permanent --add-service=http --add-service=https
firewall-cmd --reload
setenforce 0  # 临时关闭SELinux(生产环境需调整策略)

10、访问测试

11、HTTPS加密

使用OpenSSL生成证书并配置Apache的SSL模块。

12、多版本库管理

用SVNParentPath替代SVNPath,指向版本库父目录:

复制代码
SVNParentPath /var/svn

13、自动同步钩子

在版本库的hooks目录下配置post-commit脚本,实现提交后自动同步。

常见问题

  • 权限拒绝错误 :确保/var/svn目录权限为apache:apache。
  • 模块未加载 :检查mod_dav_svn和mod_authz_svn是否启用。
  • 路径不匹配:Apache配置中的路径需与实际存储路径一致。
相关推荐
nvd113 小时前
深入剖析:GCP Pub/Sub 与 Apache Kafka 对消息处理延迟与消费者卡死的处理机制异同
分布式·kafka·apache
白帽攻防录11 小时前
SRC 挖洞:Apache APISIX 非规范路径授权绕过深度复盘,CVE-2026-94269 怎么绕过网关访问后端
网络安全·apache·src漏洞挖掘
Knight_AL21 小时前
从 EasyExcel 到 Apache Fesod:Java Excel 处理生态的一次重构
java·apache·excel
心易行者2 天前
Agent应用+API端点商业化进阶实战:从单体智能体到可付费调用的API全流程
运维·服务器·人工智能·python·apache
Peter(阿斯拉)5 天前
[macOS Tahoe 26]_[使用SmartSVN访问库路径报错的问题]
macos·svn·tahoe·smartsvn·macos26
inferno7 天前
SVN学习笔记(二)
笔记·学习·svn
文慧的科技江湖7 天前
2026年10月4日充电桩行业晚报:当“只充80%“成为通行规则,行业开始管单车占桩时长 | 慧知开源充电桩平台
开源·apache·新能源·虚拟电厂·充电桩·ocpp·v2g
inferno9 天前
SVN服务端下载、安装与配置(Windows版)
svn
mhmh1239 天前
SVN 版本控制从入门到实战:安装、配置与日常使用指南
svn
inferno9 天前
SVN学习笔记(一)
笔记·学习·svn