一、清理环境
卸载svn
yum remove subversion/httpd
二、安装svn
1. 安装httpd模式下的svn
yum install httpd subversion mod_dav_svn
2. 建svn版本目录
mkdir /home/svn
cd /home/svn/
svnadmin create stuff
chown -R apache.apache stuff/
3. 配置
配置/etc/httpd/conf.modules.d下10-subversion.conf
vi /etc/httpd/conf.d/subversion.conf
增加:
<Location /svn>
DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "svn Realm"
AuthUserFile /home/svn/passwd
AuthzSVNAccessFile /home/svn/authz
Require valid-user
</Location>
4. 设置密码文件
htpasswd -c /home/svn/passwd admin
5. 新建授权文件
新建authz授权文件
cd /home/svn
vi authz
增加:
[groups]
sa = admin
[/]
@sa = rw
* =r
6. 重启服务
centos7以下:service httpd restart
centos7以上:systemctl restart httpd.service
svnserve -d -r /home/svn/stuff
svnserve -d -r /var/project --listen-port 3691
三、配置http访问svn服务器
1. 添加svn用户
htpasswd -c /home/svn/svn/conf/httpd_passwd family
添加用户后记得将该用户family添加到授权文件authz中,为其提供权限
解释:htpasswd是httpd自带的添加用户的命令,-c只有第一次添加用户的时候需要,指定创建的用来存储用户名密码的文件为加密的,/home/svn/svn/conf/httpd_passwd密码文件路径,family为新增的用户名
之后按照提示为family创建密码,需要输入两次
2. 修改svn仓库的属主
chown -R apache.apache /home/svn/svn
3.修改ServerName
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 # 前面三行是本来就有的内容
<Location /svn>
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
</Location>
5. 启动httpd服务
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文件夹的读权限
本文档详细介绍了如何清理环境,安装并配置SVN服务器,特别是在HTTP模式下,包括创建版本目录、配置服务器、设置用户权限以及通过HTTP访问SVN仓库。步骤包括安装必要的软件、创建和管理用户、修改配置文件以及启动服务。

3217

被折叠的 条评论
为什么被折叠?



