ifsvnadmin的安装使用
svn是近年来使用最为广泛的版本管理软件。不过由于虽然后在用户认证使用等方法非常的便捷,不过如果对用户和权限能有一个web的管理界面,相信很多人还是乐意通过web界面去配置的。svn的后台管理软件非常多,如svn-web-admin、pysvnmanager以及今天要提到的if.svnadmin 。
iF.SVNAdmin 是一个基于 Web 的,用来管理 Subversion 的认证文件的项目。无需数据库支持,直接对 Subversion 的认证文件和用户认证文件进行设置,支持 LDAP,同时也可以用来创建和删除版本库,以及对版本库进行浏览。
一、下载安装
目前最新的版本是1.6.2
1wget http://jaist.dl.sourceforge.net/project/ifsvnadmin/svnadmin-1.6.2.zip
2unzip svnadmin-1.6.2.zip
在apache的conf.d中增加如下配置文件:
1# vim svnadmin.conf
2<virtualhost>
3 ServerAdmin [email protected]
4 ServerName svnadmin.361way.com
5 DocumentRoot "/var/www/html/svnadmin"
6 <directory>
7 Order deny,allow
8 Deny from all
9 Allow from 192.168.10.0/24
10 </directory>
11</virtualhost>
配置完成后,重载apache 并将刚刚解包的文件放到conf配置文件中指定的路径。通过svnadmin.361way.com防问,即可通过web方式配置安装。直接打开时,可能报如下错误:
1Error: Could not copy configuration file template. Require write permission (777) to "data" folder and all containing files.
2#0 /var/www/svnadmin/index.php(20): include_once()
3#1 {main}
出现上面错误时,直接赋权限就OK了:
1cd /var/www/svnadmin/
2chmod 777 data
如上图所示,通过配置相关项就可以了。如果使用的是ldap认证,刚将use view provider type和Group view provider type项换成ldap 。完成配置后,保存配置即可。
二、最终配置及管理员
最终完成后的配置文件如下:
1#vim svnadmin/data/config.ini
2[Common]
3FirstStart=0
4[Translation]
5Directory=./translations/
6[Engine:Providers]
7AuthenticationStatus=basic
8UserViewProviderType=ldap
9UserEditProviderType=
10GroupViewProviderType=svnauthfile
11GroupEditProviderType=svnauthfile
12AccessPathViewProviderType=svnauthfile
13AccessPathEditProviderType=svnauthfile
14RepositoryViewProviderType=svnclient
15RepositoryEditProviderType=svnclient
16[ACLManager]
17UserRoleAssignmentFile=./data/userroleassignments.ini
18[Subversion]
19SVNAuthFile=/etc/httpd/conf/svnauthz.conf
20[Repositories:svnclient]
21SVNParentPath=/data1/svnroot
22SvnExecutable=/usr/bin/svn
23SvnAdminExecutable=/usr/bin/svnadmin
24[Users:passwd]
25SVNUserFile=./test/passwd.cfg
26[Users:digest]
27SVNUserDigestFile=
28SVNDigestRealm=SVN Privat
29[Ldap]
30HostAddress=ldap://192.168.10.100:389/
31ProtocolVersion=3
32BindDN=cn=svnldap,dc=361way,dc=com
33BindPassword=W3HKf87u
34[Users:ldap]
35BaseDN=ou=users,domainname=361way.com,o=domains,dc=361way,dc=com
36SearchFilter=(|(&(objectClass=mailuser)(accountStatus=active))(cn=svnadmin))
37Attributes=sn
38[Groups:ldap]
39BaseDN=ou=groups,domainname=361way.com,o=domains,dc=361way,dc=com
40SearchFilter=(objectClass=groupOfUniqueNames)
41Attributes=cn
42GroupsToUserAttribute=uniqueMember
43GroupsToUserAttributeValue=dn
不想通过web方式配置的,也可以直接在该文件中进行配置 。
默认安装完成后,只有一个管理员用户,想要再新增管理员用户,可以通过更改下面的配置文件完成。
1cat svnadmin/data/userroleassignments.ini
2[admin]
3Administrator=
4[361way]
5Administrator=
这里定义了两个管理员用户,一个用户名是admin ,另一个是 361way 。
三、注意点
同其他运维工作要注意的一样,任何操作之前先要做好备份。在新版本的if.svnadmin安装完成后,我大意了,无意间在后台点了一个按钮,对所有用户的权限分配都初始化了(惨痛的教训,还好一周前有一个备份,并且研发变更的人数不大)。操作如下面所示:
最后提供一下该软件的官方主页。所有一切不能确定的操作,可以在测试环境随意操作,但在现网中不确定时,最好先看下官方文档确认后再操作。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/ifsvnadmin-install/2920.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.