svn服务器迁移
参考:
https://blog.csdn.net/weixin_30807779/article/details/99428626
https://blog.csdn.net/WuDan_1112/article/details/125403005
https://blog.csdn.net/xxdw1992/article/details/139958584
https://blog.51cto.com/u_15060464/3727717
https://mp.weixin.qq.com/s/S9cEjXa1482qOimkXmCYyg
本地yum源配置
mount -o loop CentOS-7-x86_64-DVD-1810.iso /mnt
vim /etc/yum.repos.d/centos.repo
[centos]
name=CentOS-$releasever - Base
baseurl=file:///mnt
enabled=1
gpgcheck=0
priority=1
安装svn
yum install httpd subversion mod_dav_svn mod_ssl -y
创建svn仓库
mkdir -p /data/svn-repos
cd /data/svn-repos/
svnadmin create repo1
chown -R apache:apache repo1
svn配置
vim conf/svnserve.conf
anon-access = none #关闭匿名访问
auth-access = write #验证用户可写
password-db = passwd #指向验证用户名密码的数据文件 passwd
authz-db = authz #指向验证用户的权限配置文件 authz
创建svn用户
明文密码
vim passwd
[users]
xdz:123456
密文密码
htpasswd -cb passwd wud 123456###在命令行直接创建,改指令会 自动添加svn账号和加密的密码)-c : 创建passwd文件,默认为MD5加密
-b:在命令行中一并输入用户名和密码而不是根据提示输入密码注意:#后期再创建时,就不需要加-c参数,否则,会把之前添加到conf/passwd中信息,全部覆盖#添加用户 htpasswd -b passwd 设置用户名 设置密码 #删除用户 htpasswd -D passwd user #修改用户密码 htpasswd passwd userhtpasswd -b passwd user1 123456
svn授权
vim authz
[/]
xdz=rw
httpd svn配置
vim /etc/httpd/conf.d/subversion.conf
<Location /svn-repos>DAV svnSVNParentPath /data/svn-reposAuthType BasicAuthName " Subversion repos "AuthUserFile /data/svn-repos/repo1/conf/passwdAuthzSVNAccessFile /data/svn-repos/repo1/conf/authzRequire valid-user
</Location>
扩展:配置文件里SVNPath和SVNParentPath 的区别SVNParentPath是在仓库目录的上一级SVNPath就是在仓库的目录下两个不同的参数
SVNParentPath /var/www/svn-repos
或者
SVNPath /var/www/svn-repos/repo1
两种访问的模式不一样,SVNParentPath就是访问地址/svn/后面要加仓库名称,而另外一个不用加,直接/svn/就是仓库了
修改svn仓库路径
vim /etc/sysconfig/svnserve
OPTIONS="-r /data/svn-repos"
启动
systemctl start svnserve.service
systemctl start httpd.service
客户端访问svn
svn list svn://x.x.x.x/repo1/ --username=xdz --password=123456
svn list http://x.x.x.x/svn-repos/repo1 --username=xiadongzhi --password=123456
curl -L --insecure -u xiadongzhi:123456 http://x.x.x.x/svn-repos/repo1
curl -L --insecure -u xiadongzhi:123456 https://x.x.x.x/svn-repos/repo1
备份svn
svnadmin dump E:\Repositories\repo1 > E:\reposvnbak\repo1.svn.bak
恢复svn
svnadmin load /data/svn-repos/repo1 < repo1.svn.bak