Debian10: 安装iF.SVNAdmin

  虽然通过手动配置dav_svn.authz文件可以实现SVN访问权限的设置,但是对于公司级的运营,显然是无法满足的。于是相应的管理工具应运而生,这类工具通常以WEB方式作为前端供用户操作,后端实现对dav_svn.authz文件编辑修改。

  这类工具中,我试用了USVN和iF.SVNAdmin(后面简称SVNAdmin),最终选择了SVNAdmin,主要原因是USVN只能以用户组的方式分配权限,无法直接给单个用户分配权限,只适合小团队使用,不合适企业所需。

  SVNAdmin基于PHP5.3开发,无需数据库支持,Debian10下的PHP7.3.19下工作良好,暂未发现异常,其配置操作也相对简单,目前版本为1.6.2。SVNAdmin的官方网站的下载页面地址为:http://svnadmin.insanefactory.com

第一步:下载后的文件为svnadmin-1.6.2.zip,用Windows电脑端下载后,解压得到iF.SVNAdmin-stable-1.6.2文件夹,将其改名为SVNAdmin,然后通过WinSCP将SVNAdmin文件夹上传至服务器的用户目录下: /home/markul。

第二步:打开XShell登陆服务器,安装PHP,以便支持SVNAdmin,安装完成后可以通过php -v命令查看PHP版本号。

markul@server~$ sudo apt-get install php
...
markul@server:~$ php -v
PHP 7.3.19-1~deb10u1 (cli) (built: Jul  5 2020 06:46:45) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.19, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.19-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies
markul@server:~$ 

第三步:将上传SVNAdmin文件夹移动到/disk1/svn下,然后修改目录访问权限,以及所属用户和组。

markul@server~$ sudo mv /home/markul/SVNAdmin /disk1/svn/
markul@server~$ sudo chown -R www-data:www-data /disk1/svn/SVNAdmin
markul@server~$ sudo chmod -R 750 /disk1/svn/SVNAdmin
markul@server~$ sudo chown www-data:www-data /disk1/svn/dav*
markul@server:~$ ls -l /disk1/svn
total 12
-rwxr-x---  1 www-data www-data  894 Oct 25 07:35 dav_svn.authz
-rwxr-x---  1 www-data www-data  418 Aug  5 00:47 dav_svn.passwd
drwxr-x--- 13 www-data www-data  155 Oct 25 07:24 repo
drwxr-x---  9 www-data www-data 4096 Oct 25 07:19 SVNAdmin

第四步:修改/etc/apache2/apache2.conf。添加如下内容,保存修改后重启一下Apache2。到此,SVNAdmin在服务器端的安装工作就完成的。

markul@server~$ sudo vi /etc/apache2/apache2.conf
markul@server~$ cat /etc/apache2/apache2.conf
... ...
#<Directory /srv/>
#	Options Indexes FollowSymLinks
#	AllowOverride None
#	Require all granted
#</Directory>

Alias /svnadmin /disk1/svn/SVNAdmin
<Directory /disk1/svn/SVNAdmin>
        Options +SymLinksIfOwnerMatch
        AllowOverride All
        Require all granted
</Directory>

# AccessFileName: The name of the file to look for in each directory
... ...
markul@server~$ service apache2 restart

第五步:现在到Windows电脑端打开浏览器,输入网址:https://192.168.1.223/svnadmin,首次打开时,选择一个SVN用户作为SVNAdmin管理员,然后进入配置页面,让人意外的是支持中文,在右上角的下拉列表中选择即可,相关配置内容如下:

  至此,SVNAdmin的安装和配置工作已经完成,使用管理员用户登陆后即使用,这里提及一下,SVNAdmin在设置SVN权限的时候,需要先创建访问路径,然后再设置这个访问路径的访问权限。其思路如同编辑修改dav_svn.authz文件。

  再说一个异常情况的处理:若出现Call to undefined function xml_parser_create()错误提示,原因是系统缺少php XML库,解决的办法是安装php XML库后重启apache2即可。

markul@server~$ sudo apt-get php7.3-xml
... ...
markul@server~$ sudo service apache2 restart

Java实现的SVN远程管理WEB应用 源码地址:http://code.google.com/p/jsvnadmin Svn Admin是一个Java开发的管理Svn服务器的项目用户的web应用。安装Svn服务器端好,把Svn Admin部署好,就可以通过web浏览器管理Svn的项目,管理项目的用户,管理项目的权限。使得管理配置Svn简便,再也不需要每次都到服务器手工修改配置文件。 有什么优点 多数据库:Svn项目配置数据保存在数据库,支持所有数据库(默认MySQL/Oracle/SQL Server)。 多操作系统:支持Window,Linux等操作系统。 权限控制:管理员可以随意分配权限、项目管理员可以管理项目成员、成员只能查看和修改自己的密码。 支持多项目、多用户、多用户组Group(默认带有“项目管理组”、“项目开发组”、“项目测试组”)。 安全:密码加密保存。 多协议:支持svn协议和http协议(从2.0开始支持Apache服务器单库方式,从3.0开始支持Apache多库方式) Svnadmin在Java 1.6、Tomcat 6、Subversion 1.6、MySQL 5.1、Apache 2.2、Windows 7上开发测试通过,同时支持其他操作系统和数据库。 支持svn协议 Svn的配置信息都在仓库目录的conf下的authz,passwd,svnserve.conf三个文件中,配置用户和权限都是通过修改passwd和authz,立刻就生效。Svn Admin的本质是对这3个文件进行管理,所有成员、权限的数据都保存在数据库中,一旦在Svn Admin的页面上修改,就会把配置信息输出到conf下的那3个配置文件中。 支持http协议 Apache+SVN配置成功后可以有两种方式: 多库方式:SVNParentPath 指定一个父目录,所有仓库在这个父目录下,使用一个密码文件和一个权限配置文件。优点是增加删除仓库不需要改apache的httpd.conf,不需要重启Apache。缺点是项目多会很混乱。 单库方式:SVNPath 每个仓库单独配置各自的密码和权限文件。优点是各自分开,互相不影响,维护方便。缺点是增加或删除仓库需要修改apache的httpd.conf后重启。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值