上一篇,搭建了环境,这一篇,讲如何通过svnadmin来管理svn,说实话这个svnadmin看起来,真的很简约。。。不忍吐槽了,遇到验证失败的情况,需要检查用户组、subversion.conf 配置、还有项目是否是多库的模式

1、界面认识

1.1注册管理员,

SVN之svnadmin初始化配置-yellowcong_用户组

1.2主界面

主界面看起来,也是很直接的,感觉特别的简单

SVN之svnadmin初始化配置-yellowcong_用户组_02

1.3新建项目配置

这个项目地址 xxx 项目名称
路径 /svn/xxx 这个是配置的svn的文件目录
url ip:port/svn/xxx 这个端口 port是httpd的端口,不是tomcat的
之间是有相互的关联关系的,相当于做加法一样

SVN之svnadmin初始化配置-yellowcong_apache_03

添加成功
SVN之svnadmin初始化配置-yellowcong_apache_04

在/svn的目录有我们创建的项目产生
SVN之svnadmin初始化配置-yellowcong_apache_05

2、授权操作

2.1查看权限

我们可以看到,这个文件夹的所属用户是root用户,所以我们是不可能有操作权限的,需要配置权限,这个用户组是Apache

SVN之svnadmin初始化配置-yellowcong_svn_06

这个是认证失败,失败的原因就是没有配置这个项目目录的操作权限。
SVN之svnadmin初始化配置-yellowcong_用户组_07

2.2查看httpd的权限组

查看配置文件,我们发现apache(Svn)所用到的权限都是 apache,而创建的文件夹是root用户,所以我们不能操作root用户创建的文件夹

#查看配置文件
cat /etc/httpd/conf/httpd.conf

SVN之svnadmin初始化配置-yellowcong_用户组_08

2.3修改权限

对于授权管理,每次建立一个项目,都需要手动的给他修改用户组和设定权限

#修改为apache用户管理
chown -R apache.apache yellowcong-parent

#添加读写权限,解决文件新建和读取的问题
chmod -R 777 yellowcong-parent

SVN之svnadmin初始化配置-yellowcong_用户组_09

3、关闭SELinux

关闭SELinux的访问权限配置,避免和SVN的冲突

#编辑配置
vim /etc/selinux/config

#将Selinux关闭 ,修改SELINUX=enforcing 为 disabled
SELINUX=disabled

#重启生效
reboot

/etc/selinux/config配置文件,修改SELINUX的配置
SVN之svnadmin初始化配置-yellowcong_svn_10

4、获取项目

通过svn客户端,来下载项目,用户名和密码是我们自己指定的

SVN之svnadmin初始化配置-yellowcong_其他_11

4.1输入用户密码(需要保存)

SVN之svnadmin初始化配置-yellowcong_apache_12

4.2提交文件到服务器

SVN之svnadmin初始化配置-yellowcong_用户组_13

提交完事后,看到了版本号 version =1
SVN之svnadmin初始化配置-yellowcong_其他_14

4.3服务器文件查看

在服务器上可以看到刚刚提交上去的所有文件
SVN之svnadmin初始化配置-yellowcong_svn_15


问题集合

1、配置了权限,仍是认证失败

SVN之svnadmin初始化配置-yellowcong_apache_16

在公司搭建的时候的错误,都是认证失败了
SVN之svnadmin初始化配置-yellowcong_apache_17

同时,后台的tomcat报错

svn: E175002: PROPFIND of '/sv/yellowcong-parent': 405 Method Not Allowed (http://192.168.66.120) 

SVN之svnadmin初始化配置-yellowcong_用户组_18

解决后的效果
SVN之svnadmin初始化配置-yellowcong_svn_19

问题原因

1、没有配置权限
subversion.conf 配置多库的时候,配置的问题,没有配置RedirectMatch ^(/svn)1/

通过“http://localhost/svn/” 来访问仓库列表,如果想让“http://localhost/svn”也起作用的话,需要在的后面增加重定向的设置:RedirectMatch ^(/svn)1/ ,当然也可以采用RewriteEngine之类的办法。

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn/>
        DAV svn
        SVNListParentPath on
        SVNParentPath /svn
        AuthType Basic
        AuthName "Authorization"
        AuthUserFile /svn/passwd.http
        AuthzSVNAccessFile /svn/authz
        Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/

SVN之svnadmin初始化配置-yellowcong_svn_20

2、创建的项目不对,需要选择多库的模式
SVN之svnadmin初始化配置-yellowcong_apache_21

3、项目权限配置问题,需要死apache的用户组,才可以
SVN之svnadmin初始化配置-yellowcong_svn_22