以下基于笔者亲自搭建遇到的坑,以及填坑过程,默认读者已经具备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 # 认证空间名,版本库所在目录
到此为止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