ifsvnadmin的安装使用

2013年12月20日 发表评论 阅读评论

svn是近年来使用最为广泛的版本管理软件。不过由于虽然后在用户认证使用等方法非常的便捷,不过如果对用户和权限能有一个web的管理界面,相信很多人还是乐意通过web界面去配置的。svn的后台管理软件非常多,如svn-web-admin、pysvnmanager以及今天要提到的if.svnadmin 。

iF.SVNAdmin 是一个基于 Web 的,用来管理 Subversion 的认证文件的项目。无需数据库支持,直接对 Subversion 的认证文件和用户认证文件进行设置,支持 LDAP,同时也可以用来创建和删除版本库,以及对版本库进行浏览。

一、下载安装

目前最新的版本是1.6.2 

wget http://jaist.dl.sourceforge.net/project/ifsvnadmin/svnadmin-1.6.2.zip
unzip svnadmin-1.6.2.zip

在apache的conf.d中增加如下配置文件:

#vim svnadmin.conf
<VirtualHost *:80>
    ServerAdmin admin@361way.com
    ServerName svnadmin.361way.com
    DocumentRoot "/var/www/html/svnadmin"
    <Directory "/var/www/html/svnadmin">
        Order deny,allow
        Deny from all
       Allow from 192.168.10.0/24
    </Directory>
</VirtualHost>

配置完成后,重载apache 并将刚刚解包的文件放到conf配置文件中指定的路径。通过svnadmin.361way.com防问,即可通过web方式配置安装。直接打开时,可能报如下错误:

Error: Could not copy configuration file template. Require write permission (777) to "data" folder and all containing files.
#0 /var/www/svnadmin/index.php(20): include_once()
#1 {main}

出现上面错误时,直接赋权限就OK了:

cd /var/www/svnadmin/
chmod 777 data

svnadmin

如上图所示,通过配置相关项就可以了。如果使用的是ldap认证,刚将use view provider type和Group view provider type项换成ldap 。完成配置后,保存配置即可。

二、最终配置及管理员

最终完成后的配置文件如下:

#vim svnadmin/data/config.ini
[Common]
FirstStart=0
[Translation]
Directory=./translations/
[Engine:Providers]
AuthenticationStatus=basic
UserViewProviderType=ldap
UserEditProviderType=
GroupViewProviderType=svnauthfile
GroupEditProviderType=svnauthfile
AccessPathViewProviderType=svnauthfile
AccessPathEditProviderType=svnauthfile
RepositoryViewProviderType=svnclient
RepositoryEditProviderType=svnclient
[ACLManager]
UserRoleAssignmentFile=./data/userroleassignments.ini
[Subversion]
SVNAuthFile=/etc/httpd/conf/svnauthz.conf
[Repositories:svnclient]
SVNParentPath=/data1/svnroot
SvnExecutable=/usr/bin/svn
SvnAdminExecutable=/usr/bin/svnadmin
[Users:passwd]
SVNUserFile=./test/passwd.cfg
[Users:digest]
SVNUserDigestFile=
SVNDigestRealm=SVN Privat
[Ldap]
HostAddress=ldap://192.168.10.100:389/
ProtocolVersion=3
BindDN=cn=svnldap,dc=361way,dc=com
BindPassword=W3HKf87u
[Users:ldap]
BaseDN=ou=users,domainname=361way.com,o=domains,dc=361way,dc=com
SearchFilter=(|(&(objectClass=mailuser)(accountStatus=active))(cn=svnadmin))
Attributes=sn
[Groups:ldap]
BaseDN=ou=groups,domainname=361way.com,o=domains,dc=361way,dc=com
SearchFilter=(objectClass=groupOfUniqueNames)
Attributes=cn
GroupsToUserAttribute=uniqueMember
GroupsToUserAttributeValue=dn

不想通过web方式配置的,也可以直接在该文件中进行配置 。

默认安装完成后,只有一个管理员用户,想要再新增管理员用户,可以通过更改下面的配置文件完成。

cat svnadmin/data/userroleassignments.ini
[admin]
Administrator=
[361way]
Administrator=

这里定义了两个管理员用户,一个用户名是admin ,另一个是 361way 。

三、注意点

同其他运维工作要注意的一样,任何操作之前先要做好备份。在新版本的if.svnadmin安装完成后,我大意了,无意间在后台点了一个按钮,对所有用户的权限分配都初始化了(惨痛的教训,还好一周前有一个备份,并且研发变更的人数不大)。操作如下面所示:

svnupdate

最后提供一下该软件的官方主页。所有一切不能确定的操作,可以在测试环境随意操作,但在现网中不确定时,最好先看下官方文档确认后再操作。




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: http/html/web, 开源软件 标签:
  1. Mr.hu
    2015年9月8日10:10 | #1

    你好,请问对ifsvnadmin通过LDAP验证SVN用户有研究吗,想请教下

    • admin
      2015年9月9日10:27 | #2

      看config.ini中的ldap配置部分。

  2. 风吹过的痕迹
    2015年9月10日12:01 | #3

    我的创建好以后,用Tortoise客户端怎么用都没有出现输入密码的界面,权限设置上设置的*用户是没有权限的,然后添加了一个有读写权限的用户。
    现在问题是check out后直接就进去了,也没让我输入账户密码...

    • admin
      2015年9月10日15:34 | #4

      粘下你的操作步骤

  3. 一抹苦涩
    2015年9月30日00:56 | #5

    我配置好LDAP后,if.svnadmin页面登录时可以同步ldap的账号了,但是我在svn客户端checkout的时候提示账号密码错误。是不是还需要给svn本身再做一次ldap同步?506039742 求交流

  4. 一抹苦涩
    2015年9月30日00:57 | #6

    @ 风吹过的痕迹
    你应该是没有修改svnserver.conf文件 不修改的话貌似默认是可以匿名登录的

  1. 本文目前尚无任何 trackbacks 和 pingbacks.