卸载svn
yum remove subversion/httpd
2. 建svn版本目录yum install httpd subversion mod_dav_svn
3. 配置mkdir /home/svn
cd /home/svn/
svnadmin create stuff
chown -R apache.apache stuff/
配置/etc/httpd/conf.modules.d下10-subversion.conf
vi /etc/httpd/conf.d/subversion.conf
增加:
4. 设置密码文件DAV svn SVNParentPath /home/svn AuthType Basic AuthName "svn Realm" AuthUserFile /home/svn/passwd AuthzSVNAccessFile /home/svn/authz Require valid-user
5. 新建授权文件htpasswd -c /home/svn/passwd admin
新建authz授权文件
cd /home/svn
vi authz
增加:
[groups] sa = admin [/] @sa = rw * =r6. 重启服务
centos7以下:service httpd restart
centos7以上:systemctl restart httpd.service
三、配置http访问svn服务器 1. 添加svn用户svnserve -d -r /home/svn/stuff
svnserve -d -r /var/project --listen-port 3691
htpasswd -c /home/svn/svn/conf/httpd_passwd family
添加用户后记得将该用户family添加到授权文件authz中,为其提供权限
解释:htpasswd是httpd自带的添加用户的命令,-c只有第一次添加用户的时候需要,指定创建的用来存储用户名密码的文件为加密的,/home/svn/svn/conf/httpd_passwd密码文件路径,family为新增的用户名
之后按照提示为family创建密码,需要输入两次
3.修改ServerNamechown -R apache.apache /home/svn/svn
vi /etc/httpd/conf/httpd.conf
找到ServerName www.exaple.cn:80这一行,去掉前面的注释,并改为ServerName localhost:80(localhost为自己主机的ip)
4. 修改subversion.conf文件有的系统该文件在/etc/httpd/conf.d下面,有的系统在/etc/httpd/conf.modules.d下面,我的系统就是在/etc/httpd/conf.modules.d下面,且文件名为10-subversion.conf(具体可通过查看/etc/httpd/conf/httpd.conf文件),将内容修改为如下:
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so LoadModule dontdothat_module modules/mod_dontdothat.so # 前面三行是本来就有的内容5. 启动httpd服务DAV svn SVNParentPath /home/svn # 这里的目录为svn的根目录 AuthType Basic AuthName "svn Realm" AuthUserFile /home/svn/svn/conf/httpd_passwd # 这里的目录为httpd用户密码文件所在目录 AuthzSVNAccessFile /home/svn/svn/conf/authz # 这里的目录为httpd用户授权文件所在目录,可与svn共用一个 Require valid-user
四、文件权限控制centos7以前:service start httpd
centos7及以后:systemctl start httpd.service
1、安装svn客户端后,右击桌面,选择repo-browser,输入svn地址、用户名及密码
2、右击,点击export或者add folder
3、登录svn服务器,修改authz文件,
[/111] @user=r
#刚刚添加的文件夹是111,则user用户组具有对该版本库下111文件夹的读权限



