Ubuntu系统下在Apache上配置Svn基本上就三步走:
安装Apache。
安装Svn。
配置Apache的httpd.conf,使其支持Svn。
以下详细说明:
安装Apache。我用的源代码安装的:configure,make,make install。需要注意的是,如果你的Apache专门是用来当Svn用的话,可以直接将Mod_Dav模块编译进来,具体参数的设置才参看configure的help 。Apache默认的安装位置是/usr/local/apache2。
安装Svn。采用源代码进行编译,仍然是:configure,make,make install。安装后会将svn加入到中/usr/bin中,将Apache模块添加到/usr/local/apache2目录中。
建立Svn的版本库。svnadmin create /svndb,其中"~/svndb"是版本库的路径。 到这一步本地已经可以使用了Svn了,URL使用file:///svndb即可。
在httpd.conf中配置模块。svn需要的基本模块有两个:mod_dav和mod_dav_svn。
一般来说svn在安装时会自动配置:
LoadModule dav_svn_module module/mod_dav_svn.so。
如果Mod_Dav模块没有编译进Apache中,还要加上下面这句:
LoadModule dav_mod modules/mod_dav.so
且一定确定它在mod_dav_svn之前。
在httpd.conf中配置版本库:
<Location /svn>
DAV svn
SVNPath /svndb
</Location>
其中Location后面的位置对应http访问的位置,上面的配置中是。下面的SVNPath这对应的是本地的版本库,应该和你创建的版本库相吻合。
OK!
可能出现的错误:
编译时的错误:如果在Configure中出现了错误,十有八九是你的编译环境配置的有问题,确认gcc,make和相关的库文件已经安装。
如果发现文件可以读出但是不能导入到Svn或者Commit,很可能是权限问题,可以用“chmod -R 777 /svndb”命令,修改版本库的访问权限。