新闻资讯

搭建 SVN 服务器 Subversion

2025-03-6

搭建 SVN(Subversion)服务器是实现团队代码和文件版本管理的重要基础。下面以在常见操作系统(如 Windows 和 Linux)上搭建为例进行介绍,包括软件安装、配置文件修改以及版本库创建等关键步骤。

在 Windows 系统上搭建

1、 安装 Subversion 服务器软件
如前文所述,可选择 VisualSVN Server。下载并运行安装向导,在安装过程中,根据提示进行操作。例如,选择安装类型(典型、完全或自定义),设置安装路径,配置服务器端口(默认 8443 用于 HTTPS,80 用于 HTTP),选择服务账户等。安装完成后,启动 VisualSVN Server Manager。
2、 创建版本库
打开 VisualSVN Server Manager,在左侧面板右键点击 “Repositories”,选择 “Create New Repository...”。在创建向导中,输入版本库名称,如 “CompanyProjects”。可选择创建标准结构版本库,包含 “trunk”“branches”“tags” 文件夹,方便团队进行开发管理。设置版本库访问权限,例如为开发团队设置读写权限,为测试团队设置只读权限。
3、 用户与用户组管理
在 VisualSVN Server Manager 中,右键点击 “Users” 创建用户,填写用户名和强密码。右键点击 “Groups” 创建用户组,如 “Developers”“Testers”,并将相应用户添加到组中。通过这种方式,可对不同角色用户进行统一权限管理。

在 Linux 系统上搭建(以 CentOS 为例)

1、 安装 Subversion
首先更新系统软件包,在终端执行命令:
sudo yum update -y
然后安装 Subversion,执行命令:
sudo yum install subversion -y
2、 创建版本库
选择一个合适的目录用于存放版本库,例如 “/var/svn”。创建该目录并设置权限:
sudo mkdir -p /var/svn
sudo chown -R apache:apache /var/svn
sudo chmod -R 755 /var/svn
使用 svnadmin 命令创建版本库,假设版本库名为 “myproject”:
sudo svnadmin create /var/svn/myproject
3、 配置版本库访问权限
进入版本库的配置目录,例如:
cd /var/svn/myproject/conf
编辑 svnserve.conf 文件,取消以下几行的注释,并根据需要进行修改:
anon - access = read
auth - access = write
password - db = passwd
authz - db = authz
realm = MyProject
anon - access 设置匿名用户访问权限为只读,auth - access 设置认证用户访问权限为可写。password - db 指定密码文件,authz - db 指定权限控制文件,realm 设置版本库的认证域。
4、 配置用户和权限
编辑 passwd 文件添加用户和密码,格式为 “用户名 = 密码”,例如:
user1 = Abc@123456
user2 = Xyz@789012
编辑 authz 文件设置用户和用户组的权限,例如:
[groups]
developers = user1, user2

[/]
@developers = rw
*** = r
这里创建了一个 “developers” 用户组,包含 “user1” 和 “user2”,赋予该组在版本库根目录的读写权限,其他用户只有只读权限。
5、 启动 SVN 服务
使用 svnserve 命令启动 SVN 服务,监听指定端口(默认 3690):
sudo svnserve -d -r /var/svn
若要设置开机自启,可编辑 rc.local 文件,添加以下内容:
svnserve -d -r /var/svn
并赋予 rc.local 可执行权限:
sudo chmod +x /etc/rc.d/rc.local


拓展阅读:

1、 SVN 钩子脚本:SVN 提供了钩子脚本功能,可在版本库发生特定事件(如提交、更新等)时自动执行脚本。通过编写钩子脚本,可实现自动构建、代码检查等功能,提高团队开发效率和代码质量。
2、 多版本库管理:在实际应用中,可能需要管理多个 SVN 版本库。可以通过配置文件和权限设置,对不同版本库进行独立的用户权限管理,同时可以使用一些工具(如 ViewVC)提供统一的版本库浏览界面。
3、 SVN 客户端使用技巧:除了命令行客户端,还有许多图形化 SVN 客户端,如 TortoiseSVN(Windows)、RabbitVCS(Linux)等。这些客户端提供了更直观的操作界面,方便用户进行版本控制操作,了解其使用技巧可提高工作效率。

新闻资讯
热门专题
最新专题
友情链接