网站首页 > 开源技术 正文
SVN作为一款优秀的版本管理工具,若使用svn server来管理,在版本库和用户角色权限分派时还是存在众多不变。
通常公司会搭建独立的svn服务器来统一进行资料管理,若每次都需要开发人员去给用户划分权限或者新增用户,花费的时间成本还是很高昂的,甚至会打乱程序员的思维。
若是将这个复杂的操作集成在一个管理工具中,通过简单的操作来完成,不但可以避免打扰程序员还可以将系统开放给专门的资料管理员来维护,整个工作流程将大大规范。
IF.SVNadmin就是一个优秀的SVN服务web管理工具,安装非常简单,因为只是单纯的通过命令去执行用户权限管理操作,因此不需要数据库支持,安装后可以在web管理用户及权限等功能,使用起来非常方便。
鉴于目前搜索到的安装资料均属于相互拷贝黏贴,还存在各种错误,要么直接删减,导致许多用户部署失败。下面我将整个安装过程和使用过程详细整理,供大家参考:
一、系统环境
Ubuntu 18.04
二、运行环境
apache2 + php7.2 +subversion + iF.SVNAdmin-stable-1.6.2
三、安装php7.2
sudo apt-get install software-properties-common python-software-properties
sudo add-apt-repository ppa:ondrej/php && sudo apt-get update
sudo apt-get -y install php7.2
安装时注意检查是否安装成功
四、安装apache2
sudo apt install apache2
sudo apt-get install libapache2-mod-php
sudo a2enmod dav_svn
五、安装subversion
sudo apt-get install subversion subversion-tools libapache2-svn
六、创建版本库
sudo mkdir /opt/svnrepositories
sudo svnadmin create /opt/svnrespsitories/document
# 配置文件移到根目录
sudo cp -r /opt/svnrespsitories/document/conf /opt/svnrespsitories/
#这里需要注意,在ubuntu 下apache2的账户是www-data
chown -R www-data:www-data /opt/svnrespsitoriess
sudo chmod -R 777 /opt/svnrespsitories
# 移除authz和passwd
sudo rm /opt/svnepositories/authz
sudo rm /opt/svnepositories/passwd
#编辑svnserve.conf
sudo vi /opt/svnepositories/conf/svnserve.conf
打开
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
七、配置apache
sudo vim /etc/apache2/mods-available/dav_svn.conf
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /opt/svnrepositories
AuthType Basic
AuthName "Authorization SVN"
AuthUserFile /opt/svnrepositories/conf/passwd
AuthzSVNAccessFile /opt/svnrepositories/conf/authz
Require valid-user
</Location>
修改000-default.conf
sudo vi /etc/apache2/sites-available/000-default.conf
# 改成127.0.0.1
ServerName 127.0.0.1
八、安装iF.SVNAdmin
wget http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download
# unzip通常ubuntu下是没有,需要安装
unzip iF.SVNAdmin-stable-1.6.2 #最新版本是1.6.2
sudo mv -r iF.SVNAdmin-stable-1.6.2 /var/www/html/svnadmin
sudo chmod -R 777 /var/www/html/svnadmin
九、启动apache2
sudo service apache2 stop
sudo service apache2 start
十、启动svn
#这里使用config-file 是指定svn服务配置
svnserve -d -r /opt/svnrepositories --config-file /opt/svnrepositories/conf/svnserve.conf
十一、打开浏览器: http://xx.xx.xx.xx/ 输入的是服务器的ip地址
默认会打开if.svnadmin配置地址,按照上图的配置输入参数。然后点击页面下方的保存。会提示保存完成,由于ifsvnadmin没有数据库,因此所有的配置都是在配置文件中保存。
默认的登录密码是admin/admin ,可以自己修改。
到这一步,表示svn的web权限管理平台已经完成,你可以在平台上面创建仓库,用户,设置分组权限。
在搜索的所有资料中,到这一步都结束了,但是还有使用者怎么使用的方法均没有介绍。
下面说使用者如何使用。
使用者在本地安装svn客户端。
输入地址:http://服务器ip/svn/document/ ,可以进行检出document仓库。初始是空仓库。
注意,这里不能使用svn://服务器ip/svn/document/. 使用svn开头检出没问题,但是你提交的时候会报authorization failed!需要注意。这里我在部署完成研究很久才发现,并且需要添加父级目录,即svn,这个目录是apache2 在配置转发的时候映射的目录,不能省略!
好了,开始你完美的SVN管控之旅吧!
- 上一篇: 文件I/O过程详解(文件i/o编程)
- 下一篇: 最适合送给程序员男友的礼物:树莓派3
猜你喜欢
- 2025-05-08 基本Spring Cloud的微服务架构搭建及应用(一)
- 2025-05-08 代码质量扫描工具SonarQube原理及环境搭建
- 2025-05-08 小心!你的这些习惯和粗心,可能正在泄露信息!丨提示
- 2025-05-08 一步步搭建openwrt编译环境并编译ddserver源码
- 2025-05-08 远程办公、巡逻机器人、口罩识别……离不开一群“研发技术宅”
- 2025-05-08 树莓派可以DIY有趣的小制作(自己做树莓派)
- 2025-05-08 Git使用指南 | 教你轻松学会Git(git用法教程)
- 2025-05-08 UE5官方推荐!大型项目版本控制用Perforce还是SVN?
- 2025-05-08 戴尔服务器T410三块硬盘RAID5数据恢复成功案例
- 2025-05-08 为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
你 发表评论:
欢迎- 05-08Peking Opera Featuring National Treasure Min Fanglei Premiers in Changsha
- 05-08安卓版Opera Mini浏览器更新,增强大屏设备支持
- 05-08Opera 36.0开发者版本发布:个性化新闻+简化菜单
- 05-08Vitas发布20周年专辑《OPERA20》首支单曲
- 05-08Android 版 Opera 89 带来了大量标签页改进
- 05-08基本Spring Cloud的微服务架构搭建及应用(一)
- 05-08代码质量扫描工具SonarQube原理及环境搭建
- 05-08小心!你的这些习惯和粗心,可能正在泄露信息!丨提示
- 最近发表
-
- Peking Opera Featuring National Treasure Min Fanglei Premiers in Changsha
- 安卓版Opera Mini浏览器更新,增强大屏设备支持
- Opera 36.0开发者版本发布:个性化新闻+简化菜单
- Vitas发布20周年专辑《OPERA20》首支单曲
- Android 版 Opera 89 带来了大量标签页改进
- 基本Spring Cloud的微服务架构搭建及应用(一)
- 代码质量扫描工具SonarQube原理及环境搭建
- 小心!你的这些习惯和粗心,可能正在泄露信息!丨提示
- 一步步搭建openwrt编译环境并编译ddserver源码
- 远程办公、巡逻机器人、口罩识别……离不开一群“研发技术宅”
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)