Subversion有着非常好的特性,但是默认的用户权限以及Repository管理都是通过手工修改服务器上的配置文件来实现,非常不方便。(题外:可以通过配置apache使用mysql来管理用户(mod_auth_mysql),但是用户组以及代码仓库的管理还是不方便)
所幸,我们遇到的问题就是大家遇到的问题,SVNManager就是为了解决这个问题而出现的 :)
SVNManager的介绍不太复杂,但是由于一些依赖的库的关系,第一次安装确可能会遇到各种问题,而官方文档上并没有解释。下面罗列一下具体的步骤。
1.软件下载
- Apache-2.0.59
- PHP-5.1.2, 这里要求是5.0以上版本
- PHP Pear, 这个在5.1.2中默认已经包括了,不过需要执行一个安装的步骤
- VersionControl_SVN,这个可以通过pear安装
- mysql or sqlite: 需要在php.ini中配置好
- SvnManager-0.39
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
正打算学习使用svn呢