一、安装SVN服务器
1、检查是否已安装:使用svnserve version命令查看系统是否已安装SVN,若已安装且无需特定版本则可跳过此步。
2、下载并安装:若未安装,可从Apache Subversion官网下载对应系统的安装包,如RedHat Linux系统可执行wget https://www.eu.apache.org/dist//subversion/subversion1.14.1.tar.gz下载,然后解压到指定目录,进入解压后的源码目录,依次执行./configure、make、make install命令完成安装。

二、创建SVN版本库
1、选择存储位置:可以选择默认的/var/svn目录或自定义其他目录来存放所有SVN仓库,如mkdir /usr/local/software/data/svn。
2、创建版本库:使用svnadmin create命令创建新的版本库,例如svnadmin create /usr/local/software/data/svn/my_repository。
三、配置SVN权限
1、配置用户密码:编辑版本库目录下的conf/passwd文件,添加用户名和密码,格式为[users]开头,每行一个用户,如username1 = password1。
2、配置访问权限:编辑conf/authz文件,设置用户的访问权限,如[/]表示对所有仓库路径生效,developers = username1定义开发者组,@developers = rw赋予该组读写权限,readers = username2定义读者组,@readers = r赋予该组读权限。
3、启用权限设置:编辑conf/svnserve.conf文件,找到并取消注释以下行以启用用户和权限设置:anonaccess = none、authaccess = write、passworddb = passwd、authzdb = authz、realm = My First Repository。
四、启动SVN服务
使用svnserve d r /path/to/your/repositories命令启动SVN服务,其中d选项表示在后台运行,r选项指定SVN仓库的根目录。

五、配置防火墙
如果服务器启用了防火墙,需要确保SVN服务的端口(默认为3690)是开放的,使用firewallcmd addport=3690/tcp permanent命令添加端口,再用firewallcmd reload命令重新加载防火墙规则。
六、访问SVN仓库
可以使用SVN客户端,如命令行客户端,通过svn checkout svn://your_server_ip/repository_name命令访问仓库,其中your_server_ip需替换为实际的服务器IP地址,repository_name为创建的仓库名。
七、相关FAQs
1、Q:如何修改已有仓库的权限?
A:首先停止SVN服务,然后按照上述配置权限的步骤重新编辑conf/passwd、conf/authz和conf/svnserve.conf文件来修改权限,修改完成后重新启动SVN服务即可。
2、Q:如何备份和恢复SVN仓库?
A:备份时可以将整个仓库目录进行压缩打包,如使用tar czvf backup.tar.gz /path/to/repositories命令,恢复时只需将备份文件解压到相应位置即可。

