iF.SVNAdmin应用程序是基于Web的管理Subversion授权文件。 基于PHP 5.3,需要安装一个Web服务器(Apache)。 该应用程序不需要数据库后端或任何类似的东西,它完全基于Subversion授权和用户认证文件。 (包括对用户和组的LDAP支持)
实现的功能有:
1、版本库管理(创建,删除)
2、创建具有预定义项目结构的版本库
3、删除版本库(高级配置)
4、创建更容易浏览的Access-Path
5、在特定的访问路径上定义
6、用户管理
7、允许用户更改自己的密码
8、ACL角色(允许其他用户访问Web-UI,访问受限)
9、用户组管理
10、passwd文件支持
11、LDAP支持(从LDAP / ActiveDirectory服务器获取用户和组)
12、DIGEST认证支持
13、访问路径管理
14、ACL具有Web-UI的预定义角色
15、多语言用户界面(包含中文,但未完全翻译,主要功能不受影响)
官方网址:http://svnadmin.insanefactory.com/
二、下载程序包并解压至网页目录
1、打开官网下载程序包的zip文件并上传至svn服务器
2、解压文件
unzip svnadmin-1.6.2.zip
3、拷贝至网页目录并设置权限
cp -R iF.SVNAdmin-stable-1.6.2/ /data/http/html/svnadmin/
chown -R apache:apaches /data/http/html/svnadmin/
chmod -R 775 /data/http/html/svnadmin/
三、配置Apache站点
DocumentRoot "/data/http/html/svnadmin"
ServerName localhost:80
ServerAdmin you@example.com
ErrorLog "/data/http/logs/localhost-error_log"
TransferLog "/data/http/logs/localhost-access_log"
四、首次访问配置iF.SVNAdmin
注:如你的PHP版本为7以上,访问iF.SVNAdmin时会提示
Wrong PHP version. The minimum required version is: 5.3
请在程序目录下include/config.inc.php文件中找到以下行并删除即可
// Check PHP version.
if (!checkPHPVersion("5.3")) {
echo "Wrong PHP version. The minimum required version is: 5.3";
exit(1);
}
1、基于Passwd文件认证配置
Subversion authorization //Subversion授权设置
Subversion authorization file //指定Subversion授权文件,如:/etc/svn/authz。选择后可按“TEST”测试
Data providers //数据提供设置
User view provider type: //用户视图提供程序类型,如:passwd
User edit provider type: //用户编辑提供程序类型,如:passwd
Group view provider type: //组视图提供程序类型,如:svnauthfile
Group edit provider type: //组编辑提供程序类型,如:svnauthfile
Repository view provider type: //版本库视图提供程序类型,如:svnclient
Repository edit provider type: //版本库编辑提供程序类型,如:svnclient
User authentication //用户认证设置
User authentication file (SVNUserFile) //指定用户认证文件,如/etc/svn/passwd。选择后可按“TEST”测试
Subversion settings //Subversion设置
Parent directory of the repositories (SVNParentPath) //版本库的父目录,如:/data/svn/。选择后可按“TEST”测试
Subversion client executable //Subversion客户端可执行文件,如:/usr/local/subversion/bin/svn。选择后可按“TEST”测试
Subversion admin executable //Subversion管理可执行文件,如:/usr/local/subversion/bin/svnadmin。选择后可按“TEST”测试
2、基于LDAP认证配置
Subversion authorization //Subversion授权设置
Subversion authorization file //指定Subversion授权文件,如:/etc/svn/authz。选择后可按“TEST”测试
Data providers //数据提供设置
User view provider type: //用户视图提供程序类型,如:ldap
User edit provider type: //用户编辑提供程序类型,如:off
Group view provider type: //组视图提供程序类型,如:ldap
Group edit provider type: //组编辑提供程序类型,如:off
Repository view provider type: //版本库视图提供程序类型,如:svnclient
Repository edit provider type: //版本库编辑提供程序类型,如:svnclient
Subversion settings //Subversion设置
Parent directory of the repositories (SVNParentPath) //版本库的父目录,如:/data/svn/。选择后可按“TEST”测试
Subversion client executable //Subversion客户端可执行文件,如:/usr/local/subversion/bin/svn。选择后可按“TEST”测试
Subversion admin executable //Subversion管理可执行文件,如:/usr/local/subversion/bin/svnadmin。选择后可按“TEST”测试
LDAP connection information //LDAP连接用户信息设置
Host address //LDAP主机地址,如:ldap://dc.xxxxx.com:389/
Protocol version //LDAP协议版本,如:3
Bind DN //绑定DN,即用于读取LDAP架构、组、用户的用户DN(需要有权限),如:CN=SVN_LDAP验证,CN=Users,DC=xxxxx,DC=com(可在域控制器中选择用户的属性编辑器查看distinguishedName参数获得DN)
Bind password //绑定DN用户的密码,完成以上配置完成后可按“TEST”测试
LDAP user provider information //LDAP用户提供程序信息设置
Base DN //基本DN,就是设置程序从域控制器上的哪个组织单位开始搜索用户,如:OU=user,DC=xxxxx,DC=com
Search filter //搜索过滤器,如:(&(objectClass=person)(objectClass=user))
Attributes //属性,就是取用户属性编辑器中的哪个参数来显示在svnadmin里面,如:sAMAccountName。完成后可按“TEST”测试
LDAP group provider information //LDAP连接组信息设置
Base DN //基本DN,就是设置程序从域控制器上的哪个组织单位开始搜索组,如:OU=group,DC=xxxxx,DC=com
Search filter //搜索过滤器,如:(objectClass=group)
Attributes //属性,就是取组属性编辑器中的哪个参数来显示在svnadmin里面,如:description。
Groups to user attribute //组到用户属性,如:member
Groups to user attribute value //组到用户属性值,如:distinguishedName。完成后可按“TEST”测试
3、设置以上信息完成后,如果权限文件中已经有数据了,则会要求选择一个用户来做svnadmin的超级管理员,选择保存后即可登录svnadmin。