通过 WebDAV 协议访问版本库(http://)
以ubuntu server 8.10为例
1. 安装svn的apache2模块
sudo apt-get install libapache2-svn
安装完成后修改/etc/apache2/mods-enabled/dav_svn.conf文件
2. 创建不同目录下的版本库
举个例子,如果你知道你会在/home/svnuser/svn下创建了report版本库,并且通过类似http://my.server.com/report的url访问,你可以用后面例子中的httpd.conf配置语法
<Location /report>
DAV svn
SVNPath /home/svnuser/svn/report
AuthType Basic
AuthName "myproject subversion repository"
AuthUserFile /etc/subversion/passwd
Require valid-user
</Location>
3. 如果你计划支持多个具备相同父目录的版本库,你有另外的选择SVNParentPath指示,来表示共同的父目录。举个例子,如果你知道你会在/home/svnuser/svn下创建多个版本库,并且通过类似http://my.server.com/svn/report1,http://my.server.com/svn/report2的url访问,你可以用后面例子中的httpd.conf配置语法
<Location /svn>
DAV svn
SVNParentPath /home/svnuser/svn
AuthType Basic
AuthName "myproject subversion repository"
AuthUserFile /etc/subversion/passwd
Require valid-user
</Location>
说明:这通常是个便利的做法,不像是用SVNPath指令,我们在此不必为创建新的版本库而重启apache了
您必须重新起动 Apache 2 Web 服务器,请输入下面的命令:
sudo /etc/init.d/apache2 restart
4. 用户认证
接下来,您需要创建 /etc/subversion/passwd 文件,该文件包含了用户授权的详细信息。要添加用户,您可以执行下面的命令:
sudo htpasswd -c /etc/subversion/passwd user_name
它会提示您输入密码,当您输入了密码,该用户就建立了
如果是添加用户去掉-c参数就行了
sudo htpasswd /etc/subversion/passwd user_name
您可以通过下面的命令来访问文件仓库:
$ svn co http://hostname/svn/myproject
它会提示您输入用户名和密码。您必须输入您使用 htpasswd 设置的密码。当通过验证,项目的文件就被签出了