Linux下的SVN服务器搭建
封面图
•
2025-10-03
•
Linux
172
0
0
0
在Linux系统下搭建SVN(Subversion)服务器是一个相对简单的过程。以下是基于 **Ubuntu/Debian** 或 **CentOS/RHEL** 系统的详细步骤。 --- ## ✅ 一、安装SVN服务 ### 1. Ubuntu/Debian 系统: ```bash sudo apt update sudo apt install subversion libapache2-mod-svn ``` ### 2. CentOS/RHEL 系统: ```bash sudo yum install subversion mod_dav_svn ``` > 注意:在某些系统中,`mod_dav_svn` 可能需要从 EPEL 仓库安装,可以先启用 EPEL: > > ```bash > sudo yum install epel-release > ``` --- ## ✅ 二、创建SVN仓库 ### 1. 创建仓库目录(例如 `/var/svn/repo`): ```bash sudo mkdir -p /var/svn/repo sudo svnadmin create /var/svn/repo ``` ### 2. 设置权限: ```bash sudo chown -R www-data:www-data /var/svn/repo # Ubuntu # 或者 CentOS: sudo chown -R apache:apache /var/svn/repo ``` --- ## ✅ 三、配置Apache以支持SVN ### 1. 编辑Apache配置文件(通常为 `/etc/apache2/sites-available/000-default.conf` 或 `/etc/httpd/conf.d/subversion.conf`) #### 示例配置(适用于Ubuntu): ```apache <Location /svn> DAV svn SVNPath /var/svn/repo AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/svn-auth-users Require valid-user </Location> ``` > 如果使用的是 `mod_dav_svn`,也可以使用 `SVNParentPath` 来管理多个仓库: ```apache <Location /svn> DAV svn SVNParentPath /var/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/svn-auth-users Require valid-user </Location> ``` ### 2. 启用 `dav_svn` 模块(如果未启用): ```bash sudo a2enmod dav_svn ``` ### 3. 重启 Apache 服务: ```bash sudo systemctl restart apache2 # Ubuntu sudo systemctl restart httpd # CentOS ``` --- ## ✅ 四、设置用户和密码 ### 1. 创建用户文件(如 `/etc/svn-auth-users`): ```bash sudo htpasswd -cm /etc/svn-auth-users user1 ``` - `-c` 表示创建新文件 - `-m` 使用 MD5 加密方式(更安全) - `user1` 是用户名,后续可继续添加用户: ```bash sudo htpasswd -m /etc/svn-auth-users user2 ``` --- ## ✅ 五、访问SVN仓库 打开浏览器,访问: ``` http://your-server-ip/svn ``` 输入你之前创建的用户名和密码即可访问SVN仓库。 --- ## ✅ 六、客户端使用SVN 你可以使用 `svn` 命令行工具或者 TortoiseSVN 客户端访问仓库: ### 示例命令: ```bash svn checkout http://your-server-ip/svn ``` --- ## ✅ 七、其他配置建议 ### 1. 防火墙开放端口(80或443): ```bash sudo ufw allow 80 sudo ufw allow 443 ``` ### 2. 使用 HTTPS(推荐): 可以配置 Apache 的 SSL 模块来实现 HTTPS 访问,提升安全性。 --- ## ✅ 八、常见问题排查 | 问题 | 解决方法 | |------|----------| | 无法访问SVN仓库 | 检查Apache是否运行,防火墙是否开放,权限是否正确 | | 用户认证失败 | 检查 `AuthUserFile` 路径是否正确,用户是否存在 | | 403 Forbidden | 检查Apache的 `AllowOverride` 和 `Require` 配置 | --- ## 📌 小结 | 步骤 | 内容 | |------|------| | 安装SVN | `subversion` + `mod_dav_svn` | | 创建仓库 | `svnadmin create` | | 配置Apache | 使用 `DAV svn` 模块 | | 设置用户 | `htpasswd` 命令 | | 访问仓库 | 浏览器或 `svn checkout` | --- 如果你有特定需求(如多仓库、SSL、权限控制等),欢迎继续提问!我可以提供更详细的配置方案。
上一篇:
Linux(CentOS)下SVN命令使用实例
下一篇:
一些linux命令的用法
标题录入,一次不能超过6条
返回顶部
留言
留言
评论