CentOS6.8搭建svn+http随笔

本文详细介绍如何通过yum方式安装并配置SVN服务,包括权限设置、用户管理及通过HTTP访问SVN仓库的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下基于笔者亲自搭建遇到的坑,以及填坑过程,默认读者已经具备linux基本操作,共两部分

#对于不具备基础的读者科普一小段
ls 查看当前目录文件
cd /usr/local/svndata/conf 进入conf目录,注意cd后的空格
mkdir -p /usr/local/svndata 创建svndata 目录文件
vim authz 编辑authz文件
i 编辑窗口下i表示输入
键盘Esc表示退出输入模式
:wq 文件编辑时保存退出
#大致就这些,在此笔者就不赘述了

##第一部分单独SVN(yum)搭建
注意启动命令,conf配置中去空格去注释的坑

1.查看是否存在老版本的svn

rpm -qa subversion

2.存在则卸载

yum remove subversion

3.yum方式安装svn

yum -y install subversion

4.创建svn仓库目录

mkdir -p /usr/local/svndata

5.创建版本库,创建后就会有如下图文件(其中包含svn基本配置文件)

svnadmin create /usr/local/svndata

创建版本库后如下图

6.进入/usr/local/svndata/conf并配置(下边有图)
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件

**编辑passwd如下**
#在[users]下添加如下代码,账号=密码
kylin=123456
admin=admin
test=test


----------


**编辑authz如下,aa_db用户组拥有admin,kylin两个用户(账号)且拥有根目录读写权限**
#在[groups]下添加如下代码,groups分组,多个用户逗号隔开
aa_db=admin,kylin
bb_db=test

[/] #表示根目录,rw读写,r读,*=表示其他无权限
@aa_db=rw 
@bb_db=r
*=


----------


**编辑svnserve.conf如下,**
#在[general]下添加如下代码,注意=号后面不能有空格,每行后面也不能有空格,切记代码copy后记得删除注释,切记“切记”
anon-access=none #匿名用户可读
auth-access=write #授权用户可写
authz-db=/usr/local/svndata/conf/authz #使用哪个文件作为权限文件
password-db=/usr/local/svndata/conf/passwd #使用哪个文件作为账号文件
realm=/usr/local/svndata # 认证空间名,版本库所在目录

passwd配置
authz配置
svnserve.conf配置

到此为止svn配置完毕,接下来就启动

svnserve -d -r /usr/local #启动svn --->此处我多说两句启动svn时是/usr/local并不是/usr/local/svndata
#使用/usr/local/svndata会出现svn: URL 'URL 'svn://118.24.151.000/svndata' doesn't exist 错误具体原因自己探究
killall svnserve #杀死svn进程
通过svn://+ip+svndata 访问  #svn://192.168.1.1/svndata   

##第二部分SNV整合THHP方式

基于前半部分我们继续

1.没有http服务需安装http服务

yum install httpd

2.修改/etc/httpd/conf目录下httpd.conf,由于http服务默认是80端口,建议读者修改端口

Listen 80 改为 9999(此处为笔者的端口,可按需修改)

3.修改/etc/httpd/conf.d下的subversion.conf文件

#在末尾处追加如下代码
<Location /repos> #访问时的路径
   DAV svn
   SVNListParentPath on
   SVNPath /usr/local/svndata   #此处有坑,看清楚是SVNPath 并不是SVNParentPath,笔者由于是copy的配置文件代码修改,就落坑了注意
   AuthType Basic
   AuthName "Authorization repos"
   AuthUserFile /usr/local/svndata/conf/webpasswd # 下面讲
   AuthzSVNAccessFile /usr/local/svndata/conf/authz #对应权限控制文件绝对路径
   Require valid-user
</Location>

4.AuthUserFile 配置释义(对应帐号密码文件)
由于svn默认是明文密码,而http并不支持明密码 所以这里需要单独生成passwd文件 此处命名为webpasswd

#进入到/usr/local/svndata/conf目录
htpasswd  webpasswd admin  #执行这句话输入两次密码,admin为用户名,conf下就会多出一个webpasswd 文件

5.到此配置完成,启动http,已下两句话都可启动

/etc/init.d/httpd restart
或者
service httpd restart

访问:http://+ip+port+/repos     repos对应<Location /repos> #访问时的路径
http://112.212.12.58:9999/repos

其中可能会有笔者未遇到的坑,有问题可以评论或email到 960696989@qq.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kylin_essay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值