系统环境:
[root@Linux-svn conf]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@Linux-svn conf]# uname -r
3.10.0-327.el7.x86_64
安装SVN
[root@Linux-svn conf]# yum install -y subversion #安装SVN
[root@Linux-svn ~]# svn --version #查看SVN版本
svn,版本 1.7.14 (r1542130)
编译于 Apr 11 2018,02:40:28
版权所有 (C) 2013 Apache 软件基金会。
此软件包含了许多人的贡献,请查看文件 NOTICE 以获得更多信息。
Subversion 是开放源代码软件,请参阅 http://subversion.apache.org/ 站点。
可使用以下的版本库访问模块:
* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。
- 处理“http”方案
- 处理“https”方案
* ra_svn : 使用 svn 网络协议访问版本库的模块。 - 使用 Cyrus SASL 认证
- 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
- 处理“file”方案
[root@Linux-svn conf]# mkdir -p /home/data/svn/ #创建SVN目录
[root@Linux-svn conf]# cd /home/data/svn/
[root@Linux-svn conf]# svnadmin create fendo #创建仓库
[root@Linux-svn conf]# cd fendo/conf/ #进入配置目录
(1)svn服务配置文件:在conf目录下,文件名为svnserve.conf
(2)用户名口令文件:在conf目录下,文件名为passwd
(3)权限配置文件,在conf目录下,文件名为authz
[root@Linux-svn conf]# cp svnserve.conf svnserve.conf.ori #备份配置文件预防出错
[root@Linux-svn conf]# vim svnserve.conf #修改为以下几个参数
anon-access = none #匿名访问的权限,可以是read,write,none,默认为read
auth-access = write #使授权用户有写权限
password-db = passwd #密码数据库的路径
authz-db = authz #访问控制文件
realm = /home/data/svn/fendo #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
修改passwd文件
[root@Linux-svn conf]# vim passwd
[users]
admin = admin
test = test
修改authz
[root@Linux-svn conf]# vim authz
[/]
admin = rw
* =
[/fendo]
test = rw
* =
[root@Linux-svn conf]# svnserve -d -r /home/data/svn/fendo/ #启动SVN服务
[root@Linux-svn conf]# ps -ef|grep svn|grep -v grep
root 19711 20296 0 20:55 pts/0 00:00:00 vim svnserve.conf
root 21410 1 0 21:29 ? 00:00:00 svnserve -d -r /home/data/svn/fendo/
注意:
在svnserve.conf配置文件中配置了realm = /home/data/svn/fendo是无法这样访问的
安装Apache支持HTTP访问
[root@Linux-svn conf]# yum install -y httpd mod_dav_svn
检查Apache,mod_dav_svn是否安装成功
[root@Linux-svn conf]# find / -name mod_dav_svn.so
/usr/lib64/httpd/modules/mod_dav_svn.so
[root@Linux-svn conf]# find / -name mod_authz_svn.so
/usr/lib64/httpd/modules/mod_authz_svn.so
修改配置文件/etc/httpd/conf.d/subversion.conf(没有则新建),內容为:
[root@Linux-svn conf]# vim /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /home/data/svn
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /home/data/svn/authz
AuthUserFile /home/data/svn/passwd
Require valid-user
</Location>
创建用户文件passwd
[root@Linux-svn conf]# touch /home/data/svn/passwd #创建用户文件
[root@Linux-svn conf]# htpasswd /home/data/svn/passwd admin #创建用户admin密码123456#web登陆使用的账户密码
New password:
Re-type new password:
Adding password for user admin
[root@Linux-svn conf]# cat /home/data/svn/passwd #查看用户密码
admin:$apr1$14TFxRn7$mBb78VyFANCN38NMDGUp/0
创建权限文件authz
[root@Linux-svn conf]# cp /home/data/svn/fendo/conf/authz /home/data/svn/authz
[root@Linux-svn conf]# cat /home/data/svn/authz
配置papche对SVN目录权限
[root@Linux-svn conf]# chown -R apache:apache /home/data/svn/fendo
[root@Linux-svn conf]# ll /home/data/svn/
总用量 8
-rw-r--r-- 1 root root 1125 8月 21 14:56 authz
drwxr-xr-x 6 apache apache 80 8月 21 15:06 fendo
-rw-r--r-- 1 root root 44 8月 21 14:55 passwd
配置httpd
[root@Linux-svn conf]# vim /etc/httpd/conf/httpd.conf
AllowOverride None改为AllowOverride All
启动apache
[root@Linux-svn conf]# service httpd start
httpd -v #查看已经安装的httpd的版本
rpm -qa | grep httpd #查看是否已经安装了httpd
ps -ef | grep httpd #查看httpd的进程
service httpd status #查看httpd的运行状态
service httpd stop #可以停止httpd
service httpd start #可以启动http
转载于:https://blog.51cto.com/ygtq666/2162474