一、系统环境及说明
CentOS6.8_X64
subversion版本 1.8.15
svn是版本控制软件,虽然git大用替代它的趋势,但不可否则还有很多老用户喜欢它,及svn有一个好用的功能hooks钩子功能。后面再说这个hooks的用处。
1、准备repo
$cat /etc/yum.repo.d/svn.repo
[WandiscoSVN] name=Wandisco SVN Repo baseurl=http://opensource.wandisco.com/centos/$releasever/svn-1.8/RPMS/$basearch/ enabled=1 gpgcheck=0
2、安装subversion及 httpd
$yum remove subversion* $yum install mod_dav_svn subversion -y $yum install httpd php wget unzip -y
3、subversion.conf配置:
以上软件包安装完后会在/etc/httpd/conf.d/下丰subversion.conf配置文件
需要修改成如下:
$egrep -v '(^#|^$)' /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
SVNListParentPath On
SVNParentPath /svndata
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/passwd
AuthzSVNAccessFile /etc/subversion/auth
Require valid-user
</location>
说明:
其中/etc/subversion/passwd和/etc/subversion/auth是web管理界面下用户名和密码的集中存放位置,在svn每个项目中的auth,passwd和svnserver.conf中就不再进行配置。
4、创建相关文件和目录:
$mkdir -p /svndata $chown -R apache.apache /svndata $mkdir /etc/subversion $chown apache.apache /etc/subversion -R $touch /etc/subversion/auth /etc/subversion/passwd
二配置svnadmin
1、简介:
svn web管理工具(http://svnadmin.insanefactory.com/):一个基于WEB GUI的方式管理SVN,包括:
repos管理,用户管理,用户组管理,权限管理等功能,底层是通过修改Subversion authorization 和
user authorization 两个文件完成其管理功能(现不支持数据库user authorization的那种),
整体使用下来给我的感觉就是两个字简单,从安装到配置到使用到架构,都很简单。
2、下载安装
$wget http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip $unzip svnadmin-1.6.2.zip $cd IF.SVNAdmin-stable-1.6.2 $cp -r iF.SVNAdmin-stable-16.2 /var/www/html/svnadmin $cd /var/www/html/ $chown -R apache.apache svnadmin $cd /var/www/html/svnadmin $chmod -R 777 data
3、重启apache
$service httpd restart
三、web访问配置
启动httpd服务后,浏览器地址输入http://servername/svnadmin出现配置界面,输入如下配置信息:输入每个配置信息可以点击旁边的Test测试是否输入正确,最后保存配置,主要配置如下图:
登陆后我们可以在“Repositories”下“add”,添加项目目录(svn库目录);
在"Users"下添加用户;
在“Access-Paths”下关联对应项目的用户,并分配相关读写权限。
最终效果如图: