Centos 6.8安装 SVN
SVN
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
1:安装说明
- 操作系统:Centos-6.8
- 安装方法:yum
- 安装软件:SVN
2:检查自己是否已安装SVN
rpm -qa subversion #如果有已安装版本,进行卸载旧版本 yum remove subversion
3:安装SVN
yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
4:确认已安装了svn模块
cd /etc/httpd/modules ls | grep svn -------------- mod_authz_svn.so mod_dav_svn.so
5:验证安装
检验已经安装的SVN版本信息
[root@localhost modules]# svnserve --version
svnserve,版本 1.6.11 (r934486) 编译于 Aug 17 2015,08:37:43 版权所有 (C) 2000-2009 CollabNet。 Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。 此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。 下列版本库后端(FS) 模块可用: * fs_base : 模块只能操作BDB版本库。 * fs_fs : 模块与文本文件(FSFS)版本库一起工作。 Cyrus SASL 认证可用。
6:代码库创建
SVN软件安装完成后还需要建立SVN库
mkdir -p /opt/svn/repositories
svnadmin create /opt/svn/repositories
执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
7:配置代码库
进入上面生成的文件夹conf下,进行配置
cd /opt/svn/repositories/conf
8:用户密码passwd配置
cd /opt/svn/repositories/conf
vi + passw
修改passwd为以下内容:
[users] # harry = harryssecret # sally = sallyssecret willam=123456
9:权限控制authz配置
vi + authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
#设置[/]代表根目录下所有的资源 [/] willam=rw
10:服务svnserve.conf配置
vi + svnserve.conf
追加以下内容:
[general] #匿名访问的权限,可以是read,write,none,默认为read anon-access=none #使授权用户有写权限 auth-access=write #密码数据库的路径 password-db=passwd #访问控制文件 authz-db=authz #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 realm=/opt/svn/repositories
11:配置防火墙端口
vi /etc/sysconfig/iptables #添加以下内容: -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT #保存后重启防火墙 service iptables restart
12:启动SVN
svnserve -d -r /opt/svn/repositories
13:查看SVN进程
ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories
14:检测SVN 端口
netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
15:停止重启SVN
killall svnserve #停止 svnserve -d -r /opt/svn/repositories #启动
16:测试
SVN服务已经启动,使用客户端测试连接。
客户端连接地址:svn co svn://192.168.126.129
用户名/密码: willam/123456
17:如果想创建多个版本库
mkdir -p /opt/svn/repositories/svn2 ##创建目录 svnadmin create /opt/svn/repositories/svn2 #重复步骤4的配置方法 killall svnserve #关闭svn服务 svnserve -d -r /opt/svn/repositories #启动svn,注意目录,不包含svn2
18:删除版本库
rm -rf svn2/
19:同个svn库下根据不同的权限访问不同的目录
vim /opt/svn/repositories/conf/authz #作为参考 [groups] chanpin = user1,user2 yanfa = user3,user4 [svn1:/] test = rw other = rw anyone = rw @chanpin = rw @yanfa = rw [svn1:/chanpin] other = rw @chanpin = rw * = [svn1:/yanfa] anyone = rw @yanfa = rw * =
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构