ifsvnadmin的安装使用
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
如上图所示,通过配置相关项就可以了。如果使用的是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安装完成后,我大意了,无意间在后台点了一个按钮,对所有用户的权限分配都初始化了(惨痛的教训,还好一周前有一个备份,并且研发变更的人数不大)。操作如下面所示:
最后提供一下该软件的官方主页。所有一切不能确定的操作,可以在测试环境随意操作,但在现网中不确定时,最好先看下官方文档确认后再操作。
You can donate through PayPal.My paypal id: itybku@139.comPaypal page: https://www.paypal.me/361way
你好,请问对ifsvnadmin通过LDAP验证SVN用户有研究吗,想请教下
看config.ini中的ldap配置部分。
我的创建好以后,用Tortoise客户端怎么用都没有出现输入密码的界面,权限设置上设置的*用户是没有权限的,然后添加了一个有读写权限的用户。
现在问题是check out后直接就进去了,也没让我输入账户密码...
粘下你的操作步骤
我配置好LDAP后,if.svnadmin页面登录时可以同步ldap的账号了,但是我在svn客户端checkout的时候提示账号密码错误。是不是还需要给svn本身再做一次ldap同步?506039742 求交流
@ 风吹过的痕迹
你应该是没有修改svnserver.conf文件 不修改的话貌似默认是可以匿名登录的
我安装了if.svnadmin,用admin超级管理员只能创建仓库,创建仓库下面目录,只会在访问路径这里显示,但在仓库这里不会显示已经创建好的目录;直接创建访问路径不能直接同步到仓库的目录。我的导航栏也没有update栏目。请问这是要在config.ini怎么设置呢?
是的,印象中是在这个文件中配置。
@ admin
应该怎么设置,创建了访问路径,自动同步到仓库目录
@ 一抹苦涩 老哥,你的ldap是怎么配置的,我同步不了用户
这个是七八年前做的东西了,配置具体你可以参考下:http://www.361way.com/ldap-adduser-grants/2825.html