整合Subversion与Apache是一种比较适合协作的方法,其配置方式如下:
整合SVN与Apache
另一种比较常用的使用SVN的方式是将其与apache整合。通过http协议来访问代码,通过web界面来浏览察看,通过http服务器的安全控制来进行权限认证。
蔡煥麟先生有一篇整合的详细教程,此处不再缀述,请参见:
http://sun.cis.scu.edu.tw/~nms9115/articles/softeng/scm/svn/2-install/svn_install.htm
安装要点记录如下:
0 假设安装Apache至D:\Apache2
1 复制%SVN_HOME%\bin\libdb42.dll、libeay32.dll、以及 ssleay32.dll到%APACHE_HOME%\bin
2 复制%SVN_HOME%\httpd\*.so到%APACHE_HOME%\modules
3 修改%APACHE_HOME%\conf\httpd.conf,增加或修改:
LoadModule
dav_module modules/mod_dav.so
LoadModule
dav_fs_module modules/mod_dav_fs.so
LoadModule
dav_svn_module modules/mod_dav_svn.so
LoadModule
authz_svn_module modules/mod_authz_svn.so |
4 在<VirtualHost>中增加/svn的<Location>
<Location
/svn>
DAV svn
#
指向SVN
Repository的ROOT
SVNPath
d:/svnrepo
</Location> |
5 重起apache,通过浏览器访问http://localhost/svn 可看到Subversion的信息。
在访问控制的方面,蔡先生采用的是windows域用户身份验证。此处也可以用mysql,passwd文件,LDAP等其他任何Apache支持的验证方式。
此处我采用文件方式,首先建立一个保存密码的文件,如果不需要对密码加密,可增加-p参数生成plain text。
%APACHE_HOME%\bin\htpasswd
–c -p d:\passwd\passwords user1
生成的文件内容如下:
#格式username:password
user1:123456 |
如果要按照Group的方式来控制权限,可同时建立一个groups文件,内容如下:
#格式:GroupName:
username1 username2
svngroup: user1 user2 |
在httpd.conf中的/svn处增加权限控制部分:
<Location
/svn>
DAV svn
#
指向SVN
Repository的ROOT
SVNPath
d:/svnrepo
AuthType
Basic
AuthName
"Subversion Repository"
AuthUserFile
d:/passwd/passwords
AuthGroupFile
d:/passwd/groups
Require
group svngroup
</Location> |
重起服务器,浏览http://localhost/svn,出现安全对话框,输入用户名密码即可成功。
相关网站
http://httpd.apache.org/ Apache Web Server 官方网站
参考资料
http://sun.cis.scu.edu.tw/~nms9115/articles/softeng/scm/svn/2-install/svn_install.htm
蔡煥麟 SVN for Windows的安装教程
http://www.douzhe.com/docs/ApacheManual/ Apache2.0 中文参考
http://httpd.apache.org/docs-2.0/ Apache2.0 文档
|