共计 3904 个字符,预计需要花费 10 分钟才能阅读完成。
SVN 版本控制服务器搭建
Svn(subversion) 是一个开源代码管理的控制系统,用来管理和存储开发的源代码,基于 C / S 模式。可以单独提供服务,也可以结合 http 服务来实现。
运行方式 | 运行端口 | 访问方法 |
svn 单独服务 | 3690 | svn:// |
http 结合服务 | 80 | http:// |
下面开始搭建 svn 服务
1. 环境准备
(1) 安装 svn 和 apache 服务,其中 mod_dav_svn 是用来衔接 svn 和 apache 的。
yum –y install subversion httpd mod_dav_svn
(2) 查看是否注册端口
cat /etc/services | grep svn –color
(3) 创建存放版本库
mkdir /web
(4) 创建 web 项目实例
svnadmin create /web/www.demonxian3.cn
svnadmin create /web/www.demonxian2.cn
(5) 查看 svn 版本相关文件
可以在通过 svnadmin 创建的目录看到会生成一些文件。
目录 | 作用 |
dav | 提供 apache 和 mod_dav_svn 使用的目录,这个要自己手动创建 |
db | 存放版本控制的数据库文件 |
hooks | 存放 hook 脚本文件 |
locks | 存放 svn 监控锁定数据的目录,用来追踪存取文件库的客户端 |
conf | 存放配置文件(用户访问账号和权限等) |
format 文件 | 存放一个整数表示当前的文件库配置的版本 |
下面是 conf 目录的文件内容
文件 | 作用 |
authz | 认证权限的配置 |
passwd | 用户密码的配置 |
svnserve | 服务器相关配置 |
2. 修改配置
(1) 修改 svnserve 服务配置
vim /web/www.demonxian3.cn/conf/svnserve.conf
下面几个字段默认都是注释的,需要把注释去掉
anao-access = read #表示匿名用户可读 值有:read write none
auth-access = write #表示认证用户可写,值同上
password-db = passwd #表示指定密码库的配置文件
authz-db = authz #表示指定认证权限配置文件
realm = www.demonxian3.cn #登录提示信息
注意上面字段必须顶格,即前面不能留空格,否则会报错
(2) 修改 passwd 用户密码配置
vim /web/www.demonxian3.cn/conf/passwd
添加三个用户,密码均为 123456
(3) 修改 authz 权限配置
vim /web/www.demonxian3.cn/conf/authz
在 groups 域 里定义一个 CG 组,组员有 demon1,dmeon2
在 根域(自己写上的)里定义权限,CG 组只有读权限,demon3 可写可读,其他人无权限
3. 启动服务
svnserve -d -r /web/ #-d 以守护运行 -r 以 root 用户运行 web 就是自己创建的软件版本库
查看端口
svn 常用的命令
import | 上传代码 |
checkout | 下载代码 |
update | 更新代码 |
status | 查看状态 |
diff | 差异检测 |
log | 历史记录 |
list | 显示目录 |
cat | 查看内容 |
resolve | 解决冲突 |
switch | 切换版本库 |
revert | 恢复 |
add | 增加 |
delete | 删除 |
copy | 复制 |
move | 移动 |
更多请参见 http://www.linuxidc.com/Linux/2014-09/107301.htm
4.svn 服务简单的使用测试
mkdir local #创建本地开发目录
touch local/1.html local/2.html #创建模拟 web 页面
svn import /root/local/ file:///web/www.demonxian3.cn/ -m "first edit" #导入
svn checkout svn://192.168.1.112/www.demonxian3.cn/ download #取出代码
1. 取代码时会弹出身份验证,默认是 root 用户,回车即可输入用户名和密码。
2. 需要注意登录的用户需要有读取权限否则不能下载
3. 取出代码后会在当前生成 download 目录,在里面进行相关的代码开发即可
下面模拟代码开发后的更新。
touch download/3.html
echo“hello world”> 2.html
svn add 3.html #在 svn 里同步添加新文件
svn commit –m“second edit”#提交代码,这里也需要用户验证。
如果输入的账号和密码没有写入的权限,会写入失败
下面来搭建 http + svn 服务
1. 查看 apache 是否引入 svn 模块
vim /etc/httpd/conf.d/subversion.conf
如果看到两个字段则表示引入成功
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
两个模块的物理路径
/etc/httpd/modules/mod_authz_svn.so
/etc/httpd/modules/mod_dav_svn.so
2. 编辑 subversion 模块配置文件
vim /etc/httpd/conf.d/subversion.conf
#在参照末尾 location 标签添加下面的内容
<Location /web>
DAV svn
SVNParentPath /web #指定 svn 根目录
AuthType Basic #Basic 认证方式
AuthName”www.demonx.cn”#认证显示提示信息
AuthUserFile /web/svn/passwd #用户密码文件
AuthzSVNAccessFile /web/svn/authz #用户配置文件
Require vaild-user #要求用户认证不许匿名
</Location>
3. 创建 apache 访问 svn 相关配置文件
mkdir /web
/svn
创建用户密码文件并配置密码
htpasswd –c /web/svn/passwd dem1 #参数 - c 表示创建文件
htpasswd /web/svn/passwd dem2
创建权限配置文件
vim /web/svn/authz #添加下面的内容
[groups]
all = dem1,dem2
[/]
dem1 = rw
[www.demonxian3.cn:/]
@all = rw
[www.demonxian2.cn:/]
dem1 = rw
dem2 = r
service httpd restart
然后使用浏览器访问,会发现需要用户认证
下面使用小乌龟工具来访问 svn
使用小乌龟进行代码的上传和下载,虽然这个是开发人员做的事,但作为运维人员多少也应该了解一点。下面是小乌龟的下载的地址
http://tortoisesvn.net/downloads.html
下载好后会在右键生成 svn 相关插件
配置相关选项, 使用 svn 服务访问配置如下
注意 URL 上不能把根目录 /web 也填写上去了。
输入用户名和密码,不要保存
如果使用 httpd 服务访问 svn 版本管理器,配置如下
成功把代码 down 下来了,提交一样点击右键 commit 即可,如果有时候上交失败如下
很有可能你的目录权限不够,修改一下即可 如我的:chmod -R 777 /web
Ubuntu 14.04 下搭建 SVN 服务器 SVN:// http://www.linuxidc.com/Linux/2015-01/111956.htm
CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)http://www.linuxidc.com/Linux/2016-08/134214.htm
CentOS7.2 编译安装 SVN1.9.5 客户端 http://www.linuxidc.com/Linux/2017-03/141387.htm
SVN 服务器搭建步骤及使用实战 http://www.linuxidc.com/Linux/2017-01/139282.htm
CentOS 7 下搭建配置 SVN 服务器 http://www.linuxidc.com/Linux/2017-05/144254.htm
CentOS 7.2 下 Nginx+MySQL+PHP-FPM+SVN 配置 Walle 自动化部署系统详解 http://www.linuxidc.com/Linux/2016-11/137703.htm
基于腾讯 CentOS 7 云服务器搭建 SVN 版本控制库 http://www.linuxidc.com/Linux/2017-05/144244.htm
CentOS 7.1 下 SVN 安装与配置 http://www.linuxidc.com/Linux/2016-12/138637.htm
CentOS 6.8 搭建 SVN(版本控制系统)及 SVN 的使用 http://www.linuxidc.com/Linux/2017-04/143093.htm
Subversion (SVN) 的详细介绍 :请点这里
Subversion (SVN) 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-05/144288.htm