svn服务器之一——搭建可用http访问的svn服务器

本文档详细介绍了如何清理环境,安装并配置SVN服务器,特别是在HTTP模式下,包括创建版本目录、配置服务器、设置用户权限以及通过HTTP访问SVN仓库。步骤包括安装必要的软件、创建和管理用户、修改配置文件以及启动服务。

一、清理环境

卸载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文件夹的读权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值