在FreeBSD下安装subversion

王朝system·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

与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

vi 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/wwwrepo

mkdir project1

svnadmin create --fs-type fsfs ./project1

注意一下,这样配置以后,匿名checkout是没有问题,但是checkin时出错了,后来改为允许匿名checkin后才发现是权限的问题。因为HTTP方式访问文件是以www用户身份进行的,所以必须chmod一下。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航