SVN服务器部署--mod_dav_svn
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVN服务器部署--mod_dav_svn相关的知识,希望对你有一定的参考价值。
Svn服务器部署
svn简介
Subversion是一个免费/开源的版本控制系统, Subversion 可以跨越时间地对文件和目录, 以及它们的修改进行管理. 这就允许你恢复 数据的旧版本, 或检查数据的修改历史. 由于这个特点, 很多人把版本控制系统 看成是一种 “时间机器”.
Svn的组件
- svn 客户端命令行工具
- svnversion 用于报告工作副本状态 (就项目的版本号而言) 的工具
- svnlook可以直接检查仓库的工具
- svnadmin 用于创建, 调整或修复 Subversion 仓库的工具
- mod_dav_svn Apache HTTP 服务器插件, 该插件允许用户通过网络访问仓库
- svnserve 一个定制的, 可独立运行的服务器程序, 可以以守护进程方式运行, 也可以被 SSH 调用, 这是另一种允许用户通过网络访问仓库的方法
- svndumpfilter 过滤 Subversion 仓库转储数据流的程序
- svnsync 可以跨越网络对仓库进行增量镜像备份的程序
- svnrdump 可以跨越网络对仓库历史进行转储和加载的程序
- svnmucc 该工具支持在没有工作副本的情况下, 在一个单独的提交中对多个 仓库执行基于 URL 的操作
Svn 服务端运行方式
- 独立服务器访问s svn://svn.server.net/svn_test
- 借助apache等http服务 http://svn.server.net/svn_test
- 本地文件 file:///svn_test
常用Svn软件工具
windows
- server端VisualSVN
- client端TrotoiseSVN
linux
- subversion
基础环境
- Centos7.4 x86_64
subversion软件安装
yum install subversion mod\_svn_dav httpd
Svn服务器部署
- 库目录/home/SVN_REPO
- 帐号验证文件目录/etc/subversion
- 访问路径http://ip_address/svn/
创建密码验证文件
####### 示例创建user01的svn用户
cd /etc/subversion
htpasswd -c svnuser user01htpasswd命令用法
- -c:创建一个加密文件;
- -n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;
- -m:默认采用MD5算法对密码进行加密;
- -d:采用CRYPT算法对密码进行加密;
- -p:不对密码进行进行加密,即明文密码;
- -s:采用SHA算法对密码进行加密;
- -b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
-
-D:删除指定的用户。
示例
利用htpasswd命令添加用户 (用户user01,密码123456)
htpasswd -bc svnuser user01 123456
在原有密码文件中增加下一个用户(更新用户密码与之相同)
htpasswd -b svnuser user02 123456
删除一个用户
htpasswd -D svnuser user02
修改httpd配置
####### 不同的系统路径略有不同
vi /etc/httpd/conf.modules.d/10-subversion.conf
<location /svn>
DAV svn
SVNListParentPath On
SVNParentPath /home/SVN_REPO/
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/svnuser
Require valid-user
<IfModule mod_authz_svn.c>
#AuthzSVNAccessFile /etc/httpd/authz
AuthzSVNReposRelativeAccessFile authz
</IfModule>
</location>
创建svn库
####### 创建一个名为svn_test库
cd /home/SVN_REPO
svnadmin create svn_test
配置访问权限
添加user01对svn_test根目录读写权限
cd /home/SVN_REPO/svn_test/conf
vi authz
[svn_test:/]
user01 = rw
authz权限文件语法
[<仓库名称>:<仓库路径>]
内容 ==书写方式
用户名 = 权限(r, rw) user01 = r
或者:
@组名 = 权限(r, rw) @group = r
以上是关于SVN服务器部署--mod_dav_svn的主要内容,如果未能解决你的问题,请参考以下文章
在ubuntu下安装配置subversion后,启动apache时总是报错 Cannot load modules/mod_dav_svn.so into server