人的头脑太复杂,时间过得久,有时候连自己也被自己骗了,记下来才是最真实的..
2006年12月8日 20:42
与PHP5的安装一样,本来是一件很简单的事情。

cvsup -gL 2 -h cvsup.freebsd.org /usr/share/examples/cvsup/ports-supfile
cd /usr/ports/devel/subversion
make install clean
但首先郁闷的一点就是,装上的不是目前的稳定版本:1.2.3,而是1.3.0-rc4(前两天装的时候还是rc2)。不知道为什么,别的软件,比如 Apache或PHP都有提供几个版本的ports供选择,偏偏svn没有,只有最新版。后来在FreeBSD的FTP服务器上找到了一个老一点的稳定版本:subversion-1.2.1.tbz,可以按下面的方式安装。

pkg_add subversion-1.2.1.tbz(注意,两个版本SVN所用到的apr-nothr-db4的版本是不一样的,需要删除重装)
不过就算这个也将就了,但是不论是用ports方式安装最新版,还是用package方式安装的老版本,都有同一个问题:当我按照文档配置的时候,发现没有 mod_dav_svn.so和mod_authz_svn.so这两个模块。反复重装过好几次,包括重装Apache都没有找到这两个东东。后来 GOOGLE了一些资料,但是都是通过下载源码安装,而不是通过ports或package,这样安装的话管理起来就很不方便了。我不想这么做。

还好经过PHP5的折磨之后,我找到了同样的办法来对付它。


cd /usr/ports/devel/subversion/ee Makefile(在其中的CONFIGURE_ARGS=一项末尾增加--with-apxs后保存退出)make install clean
即可编译生成那两个Apache mod。

之后就可以用下面的配置来设置通过HTTP访问SVN的Repositry。

 <Location /repo>    DAV svn    SVNParentPath /your_local_path/wwwrepo    AuthType Basic    AuthName 'Subversion repository'    AuthUserFile /your_local_path/svn-auth-file    <LimitExcept GET PROPFIND OPTIONS REPORT>      Require valid-user    </LimitExcept>  </Location>
其中的svn-auth-file是用htpasswd生成的HTTP用户信息文件,具体参考SVN的相关文档。上面配置为允许匿名checkout,但只有svn-auth-file中的用户可以checkin。

按这样配置以后,再用下面的方式创建repositry:

cd /your_local_path/wwwrepomkdir project1svnadmin create --fs-type fsfs ./project1
注意一下,这样配置以后,匿名checkout是没有问题,但是checkin时出错了,后来改为允许匿名checkin后才发现是权限的问题。因为HTTP方式访问文件是以www用户身份进行的,所以必须chmod一下。
我要 [保存此页] [收藏此页] [复制此链接QQ/Msn发送]
收藏到 [天天] [和讯] [我摘] [天极] [新浪] [博采] [Del.icio.us]
我们推荐您 快去试试吧!
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]