检查是否已安装SVN
使用以下命令检查系统中是否已安装Subversion:
- rpm qa subversion
如果已经安装,会显示svn包及其版本信息。

- subversion1.7.1414.el7.x86_64
如果未安装,则不会显示任何结果。
安装Subversion
使用yum包管理器来安装subversion软件包:
- sudo yum install y subversion
安装完成后,可以通过以下命令验证安装是否成功:
- svnserve version
你应该看到类似如下的版本号信息:
- svnserve, version 1.14.1 (r1886195)
- 编译于 Jan 6 2022,14:30:34 在 x86_64redhatlinuxgnu
创建SVN仓库
创建一个目录用于存放所有的SVN仓库:
- sudo mkdir /var/svn
然后创建一个新的仓库:

- sudo svnadmin create /var/svn/your_repository_name
在这个例子中,/var/svn
是存放所有SVN仓库的目录,your_repository_name
是你想要给这个仓库命名的名字。
配置SVN仓库权限
默认情况下,SVN仓库没有任何权限设置,你需要手动配置权限,每个仓库都有一个conf目录,其中包含三个重要的配置文件:authz、passwd和svnserve.conf。
a. 配置用户密码(passwd)
编辑passwd文件来设置SVN的用户名和密码:
- sudo vi /var/svn/your_repository_name/conf/passwd
添加如下行来设置用户和密码:
- [users]
- username1 = password1
- username2 = password2
b. 配置权限(authz)

编辑authz文件来设置用户的访问权限:
- sudo vi /var/svn/your_repository_name/conf/authz
添加如下行来设置用户权限:
- [groups]
- developers = username1
- readers = username2
- [/]
- @developers = rw
- @readers = r
在这个例子中,developers组有读写权限,readers组只有读权限。
c. 配置SVN服务(svnserve.conf)
编辑svnserve.conf文件来启用前面配置的用户和权限设置:
- sudo vi /var/svn/your_repository_name/conf/svnserve.conf
找到并取消注释以下行:
- anonaccess = none
- authaccess = write
- passworddb = passwd
- authzdb = authz
- realm = My First Repository
启动SVN服务
使用svnserve来启动SVN服务:
- sudo svnserve d r /var/svn/
d选项表示在后台运行,r选项指定SVN仓库的根目录。
配置防火墙
如果你的服务器启用了防火墙,你需要确保SVN服务的端口(默认为3690)是开放的,你可以使用firewallcmd来开放端口:
- sudo firewallcmd addport=3690/tcp permanent
- sudo firewallcmd reload
访问SVN仓库
你可以使用SVN客户端来访问你的仓库了,使用命令行客户端可以这样做:
- svn checkout svn://your_server_ip/your_repository_name
替换your_server_ip
为你的服务器IP地址,your_repository_name
为你之前创建的仓库名。
注意事项
1、确保备份你的SVN仓库和配置文件,以防数据丢失或损坏。
2、考虑使用更安全的认证方式,如SSL/TLS加密,以增强安全性。
3、根据需要调整权限设置,确保只有授权的用户能够访问仓库。
完成以上步骤后,你就应该能够在CentOS 7服务器上成功部署SVN服务器了。
相关FAQs
Q1: 如何更改SVN仓库的存储路径?
A1: 你可以通过修改svnserve.conf文件中的r
参数来更改SVN仓库的存储路径,首先停止当前的svnserve服务,然后编辑svnserve配置文件,将新的路径添加到r
参数中,最后重新启动svnserve服务,示例如下:
- 停止svnserve服务
- sudo pkill svnserve
- 编辑配置文件(假设新路径为/new/path/to/repo)
- sudo vi /etc/sysconfig/svnserve
- 修改为新的路径
- SVNSERVE_OPTIONS="r /new/path/to/repo"
- 重新启动svnserve服务
- sudo systemctl start svnserve
通过这种方式,你可以灵活地更改SVN仓库的存储路径。