(注:以svnserve方式运行,不加apache编译参数。以fsfs格式存储版本库,不编译berkeley-db) 接下来,直接编译和安装
make && make install安装好后,可以测试一下Subversion是否正确安装:
/usr/local/svn/bin/svnserve --version如果显示出Subversion的相关版本信息,表示安装正常
第三步,配置Subversion
首先,确定你的源代码数据存放的地方,这里我用/usr/local/svndata来存放我的源代码数据
mkdir /usr/local/svndata #然后建立一个测试项目的目录testproject,并用这个目录作为该项目的repository mkdir /usr/local/svndata/testproject #为testproject建立版本库 /usr/local/svn/bin/svnadmin create /usr/local/svndata/testproject版本库建立好后,进入此目录,你会发现Subversion已经为你生成好了目录和配置文件,用来存放你的源码的数据和版本控制信息,这些你不用太多关心了,我们需要关注的是该目录下的/conf/svnserve.conf。此文件包含了testproject的版本库配置信息。用vim或者nano修改此文件,加入以下信息:
[general]
anon-access = none
auth-access = write
password-db = /usr/local/svn/conf/passwd.conf
authz-db = /usr/local/svn/conf/authz.conf
realm = testproject
此信息中,包含了一些权限设置,以及SVN的用户名、密码验证配置相关信息。这里为了方便使用,我将password-db和authz-db都统一放到了svn里面,这样,让多个版本库可以共享同样的密码和验证信息。
接下来,直接来到/usr/local/svn,建立conf目录,并建立passwd.conf和authz.conf文件。
我们先来看看passwd.conf:
[users]
username = password
username2 = password2
比较好理解, 除了个users标签,后面的每一行,对应访问SVN的用户名和密码,中间以等号隔开,保存后,直接退出。
我们再来看看authz.conf文件:
[groups]
admin = username, username2
[/]
@admin = rw
groups表示用户组,这里吧username,username2都设置到一个叫admin的组里面。
[/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/usr/local/svndata,[/]就是表示对全部版本库设置权限。@admin=rw 表示admin组的所有用户,都有读写权限。关于此配置文件的具体设置项,可以到官网参考一下。