Svn 安装、配置、使用指南
Svn 安装、配置、使用指南
Svn 是 Subversion 的简称,是一个开放源代码的版本控制系统,它采用了分支管理系统。
1. 安装配置
1.1. 安装 svn
$ yum install -y subversion
1.2. 创建 svn 仓库
$ mkdir -p /share/svn
$ svnadmin create /share/svn
$ ls /share/svn
conf db format hooks locks README.txt
在 conf 目录下有三个重要的配置文件
- authz - 是权限控制文件
- passwd - 是帐号密码文件
- svnserve.conf - 是 SVN 服务配置文件
1.3. 配置 svnserve.conf
$ vim /share/svn/conf/svnserve.conf
打开下面的 5 个注释
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /share/svn # 认证空间名,版本库所在目录
1.4. 配置 passwd
$ vim /share/svn/conf/passwd
添加内容如下:
[users]
user1 = 123456
user2 = 123456
user3 = 123456
1.5. 配置 authz
$ vim /share/svn/conf/authz
添加内容如下:
[/]
user1 = rw
user2 = rw
user3 = rw
*=
1.6. 启动关闭 svn
$ svnserve -d -r /share/svn # 启动 svn
$ killall svnserve # 关闭 svn
1.7. 开机自启动 svn 方法
安装好 svn 服务后,默认是没有随系统启动自动启动的,而一般我们有要求 svn 服务稳定持续的提供服务。所以,有必要配置开机自启动 svn 服务。
Centos7 以前
编辑 /etc/rc.d/rc.local
文件:
$ vi /etc/rc.d/rc.local
输入以下内容:
# 开机自动启动 svn,默认端口是 3690
$ /usr/bin/svnserve -d -r /share/svn --listen-port 3690
注意:
我们在用终端操作的时候,可以直接使用以下命令启动 SVN:svnserve -d -r /share/svn
,但是在 /etc/rc.d/rc.local
文件中必须写上完整的路径!
如果不知道 svnserve 命令安装在哪儿,可以使用 whereis svnserve 查找。
Centos7
CentOS 7 中的 /etc/rc.d/rc.local
是没有执行权限的,系统建议创建 systemd service
启动服务。
找到 svn 的 service 配置文件 /etc/sysconfig/svnserve
编辑配置文件
$ vi /etc/sysconfig/svnserve
将 OPTIONS="-r /var/svn"
改为 svn 版本库存放的目录,:wq 保存退出。
执行 systemctl enable svnserve.service
重启服务器后,执行 ps -ef | grep svn
应该可以看到 svn 服务的进程已经启动。
1.8. svn 客户端访问
进入 svn 官方下载地址,选择合适的版本,下载并安装。
新建一个目录,然后打开鼠标右键菜单,选择 SVN Checkout。
在新的窗口,输入地址 svn://<你的 IP>
即可,不出意外输入用户名和密码就能连接成功了(这里的用户、密码必须在 passwd 配置文件的清单中)。默认端口 3690,如果你修改了端口,那么要记得加上端口号。如下图所示:
2. 引申和引用
- 引申
- 引用
作者:静默虚空
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~