Subversion有着非常好的特性,但是默认的用户权限以及Repository管理都是通过手工修改服务器上的配置文件来实现,非常不方便。(题外:可以通过配置apache使用mysql来管理用户(mod_auth_mysql),但是用户组以及代码仓库的管理还是不方便)

所幸,我们遇到的问题就是大家遇到的问题,SVNManager就是为了解决这个问题而出现的 :)

SVNManager的介绍不太复杂,但是由于一些依赖的库的关系,第一次安装确可能会遇到各种问题,而官方文档上并没有解释。下面罗列一下具体的步骤。

1.软件下载

2.安装(这里为windows平台下,linux平台类似)

(假设SVN以及Apache已经配置好,如果没有请参考本文底部的“相关文章”)

  • 安装pear
    安装完php-5.1.2之后(包括msi或者zip版本),在php的安装目录有go-pear.bat批处理文件,运行之。
    运行完后,检查c:\windows\php.ini中是否包括这一行:
    include_path = “.;F:\apache\php\PEAR”
  • 安装VersionControl_SVN,可以通过命令行来自动下载安装
    pear install VersionControl
    或者从网站下载后解压缩到PEAR目录
  • 根据需要,检查php是否已经开启了mysql或者sqlite的支持
    在c:\windows\php.ini查看下面两行前面的分号已经去掉:
    extension=php_pdo.dll
    extension=php_sqlite.dll
    或者extension=php_pdo_mysql.dll
    并确保php扩展的目录制定正确:
    extension_dir = “F:\apache\php\ext”
    可以通过phpinfo()检查是否加载成功。
  • 安装SVNManager
    上面完成之后,安装SVNManager就非常简单。
    将SVNManager解压缩到网站目录,修改config.php,主要是设定htpasswd, svn, svn-admin以及svn_passwd_file等文件位置,参考注释很容易修改。
  • 浏览器中打开SVNManager网址,之后可以使用config.php中的临时管理用户密码登录,并添加第一个管理员帐号(一定要做)。然后通过这个帐号就可以进行用户以及代码仓库的管理工作。

3. 附录

DAV svn
SVNParentPath “F:/SVNData/svn”
SVNListParentPath on

AuthzSVNAccessFile F:/SVNData/svn_access_file

Require valid-user

AuthType Basic
AuthName “Subversion repository”
AuthUserFile F:/SVNData/svn_passwd_file