准备工作
- 一台 Windows 服务器:
- 操作系统:Windows Server 2012 / 2025 / 2025 / 2025 或 Windows 10 / 11 (专业版或企业版)。
- 强烈建议使用 Windows Server,因为它更适合作为服务器运行。
- 管理员权限:需要以管理员身份进行安装和配置。
- 下载 VisualSVN Server:
- 访问官方网站:https://www.visualsvn.com/server/
- 下载最新的 VisualSVN Server 安装程序,它有免费版和付费版,对于个人学习和小型团队开发,免费版功能完全足够。
第一步:安装 VisualSVN Server
-
双击运行下载的安装程序(
VisualSVN-Server-5.1.1-x64.msi)。
(图片来源网络,侵删) -
欢迎界面:点击 "Next"。
-
许可证协议:阅读并接受协议,点击 "I Agree"。
-
选择组件:
- 默认情况下,所有组件都会被选中,建议保持默认。
- VisualSVN Server:核心服务器组件。
- VisualSVN Server Management Console:图形化管理工具。
- VisualSVN Server Hook Scripts:用于集成 CI/CD 工具(如 Jenkins)的脚本。
- 点击 "Next"。
-
选择安装位置:
(图片来源网络,侵删)- 可以使用默认路径,也可以自定义,通常不需要修改。
- 点击 "Next"。
-
配置用户和仓库存储位置:
- 这是非常重要的一步!
- Repositories location:设置 SVN 仓库(你的代码)存放的根目录,默认是
C:\Repositories。强烈建议将其修改到非系统盘,D:\SVN_Repositories,以防系统盘重装导致数据丢失。 - Administrative users:配置管理员账户,默认会添加当前 Windows 用户,你可以在这里添加或删除管理员,管理员拥有对所有仓库的完全控制权。
- 点击 "Next"。
-
选择服务端口:
- 默认端口是 443 (HTTPS),这是推荐设置,因为它通过 SSL/TLS 加密了数据传输,更安全。
- 如果你的服务器上 443 端口已被占用(IIS),可以修改为其他端口(如 8443),但记住,后续访问时需要指定这个端口。
- 点击 "Next"。
-
准备安装:
- 确认所有配置信息无误,点击 "Install"。
- 安装过程会自动配置 Apache、创建 SSL 证书(用于 HTTPS)、并启动相关服务。
-
完成安装:
(图片来源网络,侵删)安装成功后,会提示你安装了 VisualSVN Server Management Console,点击 "Finish"。
第二步:配置仓库和用户
安装完成后,我们就可以开始创建仓库和用户了。
使用图形化管理界面(推荐)
-
打开管理控制台:
- 开始菜单 -> 所有程序 -> VisualSVN -> VisualSVN Server Management Console。
- 或者直接在系统托盘找到 VisualSVN Server 图标,右键选择 "Open Admin Interface"。
-
创建新仓库:
- 在左侧的 "Repositories" 上右键,选择 "Create New Repository..."。
- Repository name:给你的仓库起一个名字,
MyProject。 - Access:选择访问权限,通常选择 "Create repository with 'access' for all authenticated users",这样后续创建的用户默认就有读权限,你可以再根据需要修改。
- 点击 "OK"。
-
创建新用户:
- 在左侧的 "Users" 上右键,选择 "Create New User..."。
- Username 和 Password:输入用户名和密码。
- 点击 "OK"。
- 为每个团队成员创建一个独立的账户。
-
配置仓库权限:
- 在左侧的 "Repositories" 中,右键你刚刚创建的仓库(如
MyProject),选择 "Properties"。 - 切换到 "Security" 标签页。
- 你可以为不同的用户或用户组设置权限:
Read (r):只读权限。Read/Write (rw):读写权限。Deny:拒绝访问。
- 点击 "Add...",输入用户名,然后为其分配相应的权限,给开发人员
user1分配rw权限,给项目经理manager分配r权限。 - 点击 "OK" 保存。
- 在左侧的 "Repositories" 中,右键你刚刚创建的仓库(如
使用命令行(可选)
对于喜欢命令行的用户,VisualSVN Server 也提供了命令行工具 svnadmin。
- 打开命令提示符(CMD)或 PowerShell,以管理员身份运行。
- 创建仓库:
- 假设你的仓库根目录是
D:\SVN_Repositories。 - 执行命令:
svnadmin create D:\SVN_Repositories\MyProject
- 假设你的仓库根目录是
- 创建用户:
- 用户信息存储在 Windows 的本地用户和组中,你可以通过
net user命令创建,但更推荐在图形界面中创建,更直观。 net user user1 Password123! /add
- 用户信息存储在 Windows 的本地用户和组中,你可以通过
- 配置权限:
- 权限配置文件位于每个仓库目录下的
conf/authz文件,你可以用记事本编辑它。 - 给
user1在MyProject仓库中读写权限:[MyProject:/] user1 = rw
- 权限配置文件位于每个仓库目录下的
第三步:访问 SVN 仓库
服务器已经配置好了,你可以从客户端电脑访问它了。
从 TortoiseSVN 访问(Windows 客户端)
- 在客户端电脑上安装 TortoiseSVN:https://tortoisesvn.net/
- 在你的本地工作目录(
D:\MyProject-Work)空白处,右键选择 SVN Checkout...。 - URL of repository:输入你的 SVN 仓库地址。
- 格式为:
https://<你的服务器IP或主机名>:<端口号>/<仓库名> https://192.168.1.100:443/MyProject
- 格式为:
- Directory to checkout to:选择你刚才创建的本地工作目录。
- 点击 "OK"。
- 系统会弹出身份验证窗口,输入你之前创建的用户名和密码。
- 首次访问时,浏览器可能会提示你信任该服务器的 SSL 证书,因为这是我们自己生成的证书,所以选择“信任”或“继续”即可。
从命令行访问
- 安装 SVN 命令行客户端,SlikSVN 或 TortoiseSVN 自带的命令行工具。
- 打开命令行,执行检出命令:
svn checkout https://192.168.1.100:443/MyProject D:\MyProject-Work
同样,会提示输入用户名和密码。
第四步:管理服务
- 打开管理控制台:如前所述,在系统托盘右键图标。
- 启动/停止/重启服务:在控制台左侧的 "VisualSVN Server" 上右键,可以进行相应操作。
- 查看日志:在 "Repositories" 或 "Users" 上右键,可以查看详细的操作日志,这对于排查问题非常有帮助。
常见问题与最佳实践
-
防火墙问题:
- 如果客户端无法连接,请检查 Windows 防火墙是否阻止了 VisualSVN Server 的端口(默认是 443)。
- 你可以进入 "控制面板" -> "Windows Defender 防火墙" -> “允许应用或功能通过 Windows Defender 防火墙”,确保 "VisualSVN Server" 的规则是勾选的。
-
端口冲突:
443 端口被 IIS 等其他服务占用,你可以在安装时或之后修改 VisualSVN Server 的端口,修改后,所有客户端的 URL 都要使用新的端口号。
-
备份:
- 定期备份你的仓库! 这是最重要的实践。
- 最简单的备份方法:直接复制你的仓库根目录(
D:\SVN_Repositories)到另一个安全的位置。 - 更高级的备份:使用
svnadmin hotcopy命令,它可以在仓库不锁定的情况下创建一个热备份副本。
-
安全建议:
- 使用强密码。
- 不要轻易给用户 权限(根目录完全控制),除非必要。
- 定期检查日志,关注异常访问。
通过以上步骤,你就成功地在 Windows 系统上搭建了一个功能完善、安全可靠的 SVN 服务器,VisualSVN Server 将复杂的配置过程自动化,让开发者可以专注于代码本身。
