Suberversion for FreeBSD安装Howto

| | 评论 (0) | 引用通告 (0)

操作系统:FreeBSD 6.1
Apache版本:apache 2.2
subversion版本:subversion 1.3.2

安装apache和subversion
cd /usr/ports/www/apache22
make WITH_AUTH_MODULES=yes WITH_DAV_MODULES=yes WITH_SSL_MODULES=yes WITH_BERKELEYDB=db42 install clean
cd /usr/ports/devel/subversion
make -DWITH_SVNSERVE_WRAPPER -DWITH_MOD_DAV_SVN -DWITH_APACHE2_APR install clean

我的svn数据都存在/home/svnhome下所以(你可以在svnhome下建多个svn的库,接下来的设置都是为支持多库准备的):
mkdir /home/svnhome/hd
svnadmin create /home/svnhome/hd
chown -R www:www /home/svnhome

在做任何其它事之前,都需要确认你的服务器的hostname是有效的,可以使用freebsd的hostname和hostname -s来检查。如果有问题就需要去修改/etc/hosts文件和/etc/rc.conf文件,我就不多说了。另外需要把/usr/local/etc/apache22/httpd.conf中的ServerName写上你的主机名,如果dns没有,哪么写ip也好,一定要打开,这是我的内容:
ServerName 10.217.12.250:80

接下来我们在/usr/local/etc/apache22/Includes下新建svn.conf文件,内容如下:
<Location /svn>
DAV svn
SVNPath /home/svnhome
AuthType Basic
AuthName "HDMac Repository"
AuthUserFile /usr/local/etc/svn-auth-file
Require valid-user
</Location>

注意,我们把认证交给了/usr/local/etc/svn-auth-file文件。它在/usr/local/etc下,我们需要去创建它。
htpasswd -cm /usr/local/etc/svn-auth-file hd

这样就创建了认证文件,并增加了一个用户名叫hd。
将来再增加用户只需要使用以下命令就好:
htpasswd -m /usr/local/etc/svn-auth-file [username]

如果是删除用户只需要使用以下命令就好:
htpasswd -D /usr/local/etc/svn-auth-file [username]

不知道为什么,在apache安装时,多加入了一个module的load语句,找到这两行的一行,把它注释掉:
LoadModule dav_module libexec/apache22/mod_dav.so

要启动apache之前,在/etc/rc.conf中加入
apache22_enable="YES"

启动apache罢:
/usr/local/etc/rc.d/apache22.sh start

你可以用svn客户端连接http://10.217.12.250/svn/hd/进行svn的操作了。如果你需要,可以在/home/svnhome中建多个库,每个库的url都是http://10.217.12.250/svn/repname这样来访问的。

增强功能:
在浏览器中直接读取svn中的当前文件
为了让你在任何一个浏览器中也可以读取svn的信息,你需要做一个简单的xslt,而这个xsl文件subersion已经帮你准备好了:
cp /usr/local/share/subversion/xslt/* /usr/local/www/data/

为了启用这个xsl文件,你需要给svn.conf中的Location中加入以下内容:
SVNIndexXSLT "/svnindex.xsl"

一但设置好,重启下apache
/usr/local/etc/rc.d/apache restart

你就可以用浏览器访问到http://10.217.12.250/svn/hd/了。

好了,这个就写这么多了,架起一个svn的apache服务,有点繁杂,但是用起来也很轻爽的哟。 :)

注意一点:
使用apache时,svn的库中的svnserve.conf的认证则就不起作用了。这个在svn的网络说明中写到以下http模式对认证支持的范围和方法:
HTTP(S) basic auth、X.509 certificates、LDAP、NTLM或任何Apache httpd已经具备的方式

引用通告 (0)

下面所列出的是引用这篇文章: Suberversion for FreeBSD安装Howto 的Blog链接.

这篇文章的引用通告URL: http://mt.opensource.org.cn/cgi-bin/mt/mt-tb.cgi/3

发表评论

关于这篇文章

本页包含由 HD 发表于 September 8, 2007 5:36 PM 的单篇文章.

Linux cpio initrd操作 是本Blog内的上一篇文章.

Subversion for Apache的权限控制 是本Blog内的下一篇文章.

您可以在 主页 上查找最近发表的内容,也可以查看列出在 存档页 上的所有内容.

Powered by Movable Type 4.2-en