虽然通过手动配置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 Technologieswith 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 SVNAdmin
markul@server~$ sudo chmod -R 750 SVNAdmin
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 +SymLinksIfOwnerMatchAllowOverride AllRequire 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

Debian10: 安装iF.SVNAdmin相关推荐

  1. Debian10安装wine及用wine安装微信、QQ与TIM

    Debian10安装wine及用wine安装微信.QQ与TIM 作者:幻影剑客 概览 本文适用于Linux发行版Debian 10,主要参考winehq官方文档Debian部分,Debian wiki ...

  2. fedora33和Debian10安装轻量桌面

    Fedora33安装桌面 # 安装 xfce 桌面环境 # dnf install @xfce-desktop-environment # 安装 LXDE 桌面环境 # dnf install @lx ...

  3. Debian10安装Zabbix教程

    Debian10安装Zabbix教程 ​ zabbix分为server端和agent端,本文分为两个部分分别讨论其安装方法.对于zabbix的agent端的不同环境也做了详细阐述. Zabbix-se ...

  4. Debian10安装FAST150US无线网卡驱动

    网上有很多Debian系统安装rtl8188EUS无线网卡的说明.但是无论是采用Debian官方网站的推荐步骤,还是采用github上推荐的编译内核模块的方法都不成功.或许是Debian10官方未及时 ...

  5. Debian10 安装后网络配置

    一.网络配置 由于Debian10的vi是精简版不好用所以先配置一下镜像源安装vim 打开vi /etc/apt/sources.list输入以下内容(i键输入,删除键不好用最好一次性输入对,删除按d ...

  6. ROS学习 一、Debian10安装ROS Noetic,解决rosdep update失败问题(更新一个可修改位置)

    目录 前言 ROS安装 1.添加ROS的apt源和key(中科大源) 2.apt安装ros-noetic核心组件 3.配置ROS的bash环境 4.安装其他常用ROS依赖项 5.解决python3-r ...

  7. zabbix nginx php postgresql,debian10安装zabbix4.2+nginx+postgresql

    最近在做zabbix监控,网上很多都是用centos+mariadb(mysql)搭建的,不适合我喜爱的debian系统,特意去bing搜索了一遍国外的教程,特此笔录 1.挑选部分依赖安装 sudo ...

  8. debian10安装mysql_ECS Debian 系统安装mysql数据库的具体操作

    ECS Debian系统安装MySQL数据库非常方便,使用apt-get命令就可以完成. 1.执行apt-get install mysql-server mysql-client命令就可以安装.其中 ...

  9. Debian10安装教程

    Debian 10(Buster)安装过程图文详解 (360doc.com) 需求 步骤 由于比赛是最小安装,这里我们选择第二项,第一项是图像化界面,第二项是字符界面 语言  根据赛题要求,这里选择语 ...

  10. debian10 安装ffmpeg

    在Debian 10下安装FFmpeg 4.1.4的方法 官方的Debian 10存储库包含可以与apt软件包管理器一起安装的FFmpeg软件包,在写本文时,Debian 10存储库中可用的FFmpe ...

最新文章

  1. Galaxy Release (v 21.05),众多核心技术栈变更
  2. 新一代测序技术Sparc
  3. 漫画:HTTP之大明邮差
  4. SonarQube代码质量管理工具安装与使用(sonarqube5.1.2 + sonar-runner-dist-2.4 + MySQL5.x)
  5. SAP LIST 画框的FORM
  6. Channel 与ChannelPipeline
  7. vueh5调用摄像头拍照_潜望式拍照5G手机盘点:售价相差数千元 究竟怎么选?
  8. Sql Server 2008将数据库导出sql脚本并导出数据
  9. centos mysql 服务器_服务器数据库搭建流程(CentOs+mysql)
  10. Struts2 Action与Servlet API耦合
  11. 微信小程序环境下将文件上传到 OSS
  12. numpy.random.choice()用法详解(附官方文档)
  13. 尴尬的风险管理如何深入下去-某公司为例
  14. bzoj4171: Rhl的游戏
  15. 阿里云云计算 51 在线实验--安全中心初体验
  16. 韦恩州立大学计算机科学,2019上海软科世界一流学科排名计算机科学与工程专业排名韦恩州立大学排名第301-400...
  17. 为何需要代码签名证书? 有了代码签名有什么不同?
  18. roms netcdf结构体用法(弃用)
  19. 微信小程序——点赞和取消点赞功能的实现
  20. wps透视表列总计移到顶部_在数据透视表顶部显示总计

热门文章

  1. python爬关键词百度指数_Python爬虫爬取百度指数的关键词搜索指数教程
  2. Google搜索技巧大全:101个谷歌搜索技巧推荐
  3. 手机斗鱼服务器无响应,win7看斗鱼直播很卡怎么办|win7斗鱼未响应的解决方法
  4. Unity内嵌浏览器插件(Android、iOS、Windows)
  5. ABAQUS使用功能总结
  6. usb接口多少钱_3分钟搞懂USB
  7. Axure RP8导入文件报错
  8. Android之四大组件、六大布局、五大存储
  9. 为什么谐振时电抗为0_变频谐振耐压试验装置在进行电缆耐压试验原理
  10. 设备通过海康EHOME协议接入EasyCVR视频无法播放的排查与分析