本文说明如何将svn和Apache整合,以便在网页中显示svn服务器上的工程。
准备工作:
1、下载安装svn,(http://subversion.tigris.org)
2、下载安装apache,(http://httpd.apache.org/download.cgi)
操作步骤:
1、使用apache安装目录下的bin/htpasswd.exe制作授权文件执行以下命令:
○ htpasswd -cb [filename] [username] [password]
§ 例如:htpasswd -cb passwd.apache svnuser svnpwd
○ 添加新用户,使用-b 参数:
§ htpasswd -b passwd.apache svnuser svnpwd
2、将生成的passwd.apache文件拷贝到SVN版本库的/conf下
3、添加svn的apache模块,进入${svn安装目录}/bin,拷贝mod_authz_svn.so 和 mod_dav_svn.so两个文件到${apache}/modules目录下。
4、修改apache的配置文件。进入${apache}/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
最后在该配置文件的最后添加如下内容,注意根据个人机器里面的参数需要作出修改:
#配置虚拟目录#
<location /svn/XXX>
#引用远程访问模块
DAV svn
#项目版本库路径#
SVNPath F:/software/repository/svn/XXX
#授权文件#
AuthzSVNAccessFile F:/software/repository/svn/XXX/conf/authz
#所有用户都需要身份验证#
Satisfy Any
Require Any
#验证方式#
AuthType Basic
#项目的名称#
AuthName "XXX"
#用户文件#
AuthUserFile F:/software/repository/svn/XXX/conf/passwd.apache
</location>
5、做完如上修改重启apache和svn服务器应该就可以了。打开浏览器,输入http://localhost/svn/[你的svn仓库名],这时候应该可以看到一个验证窗口,输入用户名和密码,即可查看svn服务器上的内容。如下图所示:
这样在浏览器中即可很方便的查看svn服务的工程和项目源码。