第一步:安装apache subversion
yum install httpd yum install httpd-devel //用于开发Apache模块 yum install subversion yum install mod_dav_svn //Subversion与Apache之间的接口(通过它,Apache就可以访问版本库,可以让客户端也使用HTTP的扩展协议 WebDAV/DeltaV进行访问) yum install mod_auth_mysql //这一项用于用户身份验证,在网上有资料说貌似这个mod_auth_mysql没得配置访问权限的 只有用户设置,建议不装,用htpasswd就可以,在这里我没有装,我还是打算用htpasswd,可能下回会试试。
验证svn模块(mod_dav_svn)是否正确安装
ls /etc/httpd/modules | grep svn
系统提示:
mod_authz_svn.so mod_dav_svn.so
验证安装:
svn --version
显示如下表明正确安装
svn,版本 1.4.2 (r22196) 编译于 Aug 10 2009,18:00:04 Copyright (C) 2000-2006 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/). 可使用以下的档案库存取 (RA) 模块: * ra_dav : 通过WebDAV (DeltaV) 协议访问档案库的模块。 - handles 'http' scheme - handles 'https' scheme * ra_svn : 使用svn网络协议访问档案库的模块。 - handles 'svn' scheme * ra_local : 访问本地磁盘的档案库模块。 - handles 'file' scheme
第二步:创建SVN库和项目
mkdir /home/svn //创建SVN库 svnadmin create /home/svn/projcet //创建项目
第三步:添加组及组员权限
groupadd subversion //创建一个叫subversion的组为拥有仓库所在的目录 usermod -G subversion -a apache //将自己和Apache 用户加入组成员中
查看:more /etc/group | grep subversion
系统提示:subversion:x:500:apache
第四步:修改项目权限
chgrp -R subversion /home/svn/project chmod -R 777 /home/svn/project
这里最好根据自己的安全需求配置相应的权限,这里是试验环境所以直接给了777
第五步:配置httpd
编辑httpd.conf
vim /etc/httpd/conf/httpd.conf
查看有没有LoadModule dav_svn_module modules/mod_dav_svn.so这一行,如果没有就添加上为了使客户端能够通过Apache来访问SVN档案库,Apache需要加载mod_dav_svn模块。如果Apache是按照与预设目 录安装的,mod_dav_svn 模块应该会安装在 Apache 安装位置 (默认路径是 /etc/httpd/) 的 modules 子目录内。同时在Apache的配置文件httpd.conf(默认路径为etc/httpd/conf/)中已经使用 LoadModule指令加载了该模块(如果没有,手动添加)注意这个指令必须出现在其它的 Subversion 相关指令之前。还要加载mod_authz_svn.so模块
例如:
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so
一般来说apache2都己正常加载了这两个模块
启动httpd
/etc/init.d/httpd start
打开浏览器查看是否能看到apache的页面(注意如果开了防火墙记得开放80端口)
第六步:配置SVN
编辑subversion.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/svn # # # Limit write permission to list of valid users. # <LimitExcept GET PROPFIND OPTIONS REPORT> # # Require SSL connection for password protection. # # SSLRequireSSL # AuthType Basic AuthName "Authorization Realm" AuthUserFile /home/svn/passwd Require valid-user # </LimitExcept> </Location>
第七步:建立用户
htpasswd -c /home/svn/passwd test //第一次添加用户使用参数“-c”以后再添加就不用了 htpasswd /home/svn/passwd test
系统提示:
New password: //输入新密码 Re-type new password: //确认密码 Adding password for user test
重启apache