Suberversion for FreeBSD安装Howto
操作系统: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

发表评论