参考:
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
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
yum install httpd subversion mod_dav_svn mod_ssl -y
mkdir -p /data/svn-repos
cd /data/svn-repos/
svnadmin create repo1
chown -R apache:apache repo1
vim conf/svnserve.conf
anon-access = none #关闭匿名访问
auth-access = write #验证用户可写
password-db = passwd #指向验证用户名密码的数据文件 passwd
authz-db = authz #指向验证用户的权限配置文件 authz
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 user
htpasswd -b passwd user1 123456
vim authz
[/]
xdz=rw
vim /etc/httpd/conf.d/subversion.conf
DAV svn
SVNParentPath /data/svn-repos
AuthType Basic
AuthName " Subversion repos "
AuthUserFile /data/svn-repos/repo1/conf/passwd
AuthzSVNAccessFile /data/svn-repos/repo1/conf/authz
Require valid-user
Location>
扩展:配置文件里
SVNPath和SVNParentPath 的区别
SVNParentPath是在仓库目录的上一级
SVNPath就是在仓库的目录下
两个不同的参数
SVNParentPath /var/www/svn-repos
或者
SVNPath /var/www/svn-repos/repo1
两种访问的模式不一样,SVNParentPath就是访问地址/svn/后面要加仓库名称,而另外一个不用加,直接/svn/就是仓库了
vim /etc/sysconfig/svnserve
OPTIONS="-r /data/svn-repos"
systemctl start svnserve.service
systemctl start httpd.service
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
svnadmin dump E:\Repositories\repo1 > E:\reposvnbak\repo1.svn.bak
svnadmin load /data/svn-repos/repo1 < repo1.svn.bak