svn采用http的方式访问

京漂大叔 2020-01-10 PM 2098℃ 0条

SVN仓库的创建可以查看这篇文章:https://www.yunyingshuo.com/bz/47.html
这篇文章通过svn协议来访问,这次我们配置使用http协议来访问。
1、首先,服务器要有web服务环境,支持http访问。
查看Apache是否支持svn服务
cd /etc/httpd/modules/

如果有mod_dav_svn.so 和 mod_authz_svn.so模块,如果有,则说明mod_dav_svn安装成功

否则安装Apache支持svn服务
yum install mod_dav_svn mod_auth_mysql
2、切换到svn仓库目录创建权限控制和用户密码

cd /www/svn

用来存放用户信息和密码passwd,权限控制是authz
htpasswd -c passwd lilei 执行命令回车,提示输入用户密码(次密码用来svn客户端认证使用)
**注意:/www/svn/是我的数据仓库目录,passwd是要创建的用户认证文件名称。lilei是创建的第一个用户.
因为是第一个用户,所以需要加-c,以后创建账户不需要加-c命令。
修改密码和创建的方式都是:htpasswd passwd 用户**
3、设置相应用户权限控制权限

nano authz

[groups]
 
admin = lilei
 
[/]
@admin = rw
* = r
 
 
#sa 是一个组,hehe是用户 如果还要添加用户 :hehe,user1,user2
#[/]  是svn根目录
#@sa  表示是一个组
#rw 表示可读可写
#*=r 表示其他用户只能读

保存退出
4、设置Apache配置关于svn认证的文件
nano /etc/httpd/conf/httpd.conf

在最下面添加如下内容

<Location /svn>
DAV svn
SVNParentPath /www/svn/
#SVNPath /www/svn/
AuthType Basic
AuthName "svn 1.6.9"
AuthUserFile /www/svn/passwd
AuthzSVNAccessFile /www/svn/authz
Require valid-user
</Location>

**说明:DAV为svn支持文件,svnpath为svn版本库目录,只有一个版本库时使用svnpath;
如果有多个版本时使用 svnparentpath和svnlistparentpath配合使用;
AuthaSVNAccessFile为权限文件目录,跟svn协议共同使用一个 权限文件即可;
AuthUserFile为用户认证文件,填入第3步配置的认证文件目录;
Require为用户是否需要验证。**

5、最后重启apache 和 重启svn
systemctl restart httpd.service //centos7重启命令
svnserve -d -r /www/svn
6、windows系统安装svn客户端 访问svn http地址,验证是否成功即可

SVN的迁移备忘录
linux下SVN从一台服务器迁移到另一台服务器
1、首先将原来服务器上的SVN版本导出 svnadmin dump /home/svn/test/ >/home/test.dump
2、在新服务器上安装svn版本库 创建新版本库 svnadmin create testnew
3、在新服务器上加载svn版本 svnadmin load /home/testnew </home/test.dump

标签: svn

非特殊说明,文章均为原创。

评论啦~