SVN+Apache+IF.svnadmin支持https实现web管理SVN

发布时间 - 2017-05-28 00:00:00    点击率:

阅读目录

  • 1. 介绍

  • 2. 软件准备

  • 3. 建立SVN Server仓库

  • 4. 配置安装PHP&IF.SVNadmin

  • 5. 启动服务

1.介绍                                                          

公司最近想把Windows server平台的SVN迁移到Linux平台;这边经过测试成功,所以写个随笔记录一下

今天写的是CentOS7上搭建基于Apache,http访问的SVN Server;和IF.svnadmin实现web后台可视化管理SVN

 

iF.SVNAdmin

iF.SVNAdmin应用程序是您的Subversion授权文件的基于Web的GUI。它基于PHP 5.3,需要安装一个Web服务器(Apache)。该应用程序不需要数据库后端或任何类似的,它完全基于Subversion授权和用户认证文件。(+包含用户和组的LDAP支持)

2. 软件准备                                                   

安装相关软件包

安装过程如下:1.安装apache

[root@localhost ~]# yum install httpd -y2.安装svn服务器(其中,mod_dav_svn是apache服务器访问svn的一个模块)

[root@localhost ~]# yum install mod_dav_svn subversion -y

3.安装完成后可以通过如下命令查看是否安装成功
[root@localhost ~]# httpd -version

[root@localhost ~]# svnserve --version


[root@localhost ~]# ls /etc/httpd/modules/ | grep svn

mod_authz_svn.so
mod_dav_svn.so
3.在apache下配置svn 

[root@localhost ~]# vim /etc/httpd/conf.d/subversion.conf


LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

DAV svn
SVNParentPath /var/www/svn   #svn的根目录
SSLRequireSSL #SSL访问权限 AuthType Basic #Basic认证方式 AuthName "Authorization SVN" #认证时显示的信息 AuthUserFile /var/www/svn/passwd #用户文件&密码 AuthzSVNAccessFile /var/www/svn/authz #访问权限控制文件 Require valid-user #要求真实用户,不能匿名

 

3. 建立SVN Server仓库                                 

 

通过如下命令建立svn仓库

其中/var/www/svn是准备放仓库的目录,这个目录可以放置多个代码仓库


[root@localhost ~]# mkdir /var/www/svn

[root@localhost ~]# svnadmin create /var/www/svn/sungeek
[root@localhost ~]# ls /var/www/svn/sungeek             --->  conf  db  format  hooks  locks  README.txt
[root@localhost ~]# chown -R apache.apache /var/www/svn

创建用户文件passwd和权限控制文件authz
[root@localhost ~]# touch /var/www/svn/passwd 

[root@localhost ~]# touch /var/www/svn/authz

 

 

4. 配置安装PHP&IF.SVNadmin                     

由于iF.SVNAdmin使用php写的,因此我们需要安装php


[root@localhost ~]# yum install php -y

安装配置if.svnadmin

[root@localhost ~]# wget http://sourceforge.net/projects/ifsvnadmin/files/svnadmin-1.6.2.zip/download[root@localhost ~]# cd /usr/src/[root@localhost src]# unzip iF.SVNAdmin-stable-1.6.2[root@localhost iF.SVNAdmin-stable-1.6.2]# cp -r iF.SVNAdmin-stable-1.6.2/ /var/www/html/svnadmin
[root@localhost ~]# cd /var/www/html
[root@localhost html]# chown -R apache.apache svnadmin
[root@localhost html]# cd /var/www/html/svnadmin
[root@localhost html]# chmod -R 777 data

 

5.启动服务                                                 

如果开启了防火墙, 需要开启httpd访问权限


[root@localhost ~]# firewall-cmd --permanent --add-service=http
[root@localhost ~]# firewall-cmd --permanent --add-service=https
[root@localhost ~]# firewall-cmd --reload 

 

通过查看文件/usr/lib/systemd/system/svnserve.service, 了解到svnserver的配置文件是/etc/sysconfig/svnserve
修改/etc/sysconfig/svnserve


[root@localhost ~]# vim /etc/sysconfig/svnserve
OPTIONS="-r /var/svn"     ======> OPTIONS="-r /var/www/svn" 

通过如下命令来启用服务


[root@localhost ~]# systemctl start httpd.service

如下命令使其开机自启动


[root@localhost ~]# systemctl enable httpd.service

重启Apache


[root@localhost ~]# systemctl restart httpd.service

启动webserver服务后,浏览器地址输入http://ip/svnadmin出现配置界面,输入下图中配置信息,输入每个配置信息可以点击旁边的Test测试是否输入正确,最后保存配置

保存后,会提示默认的账户为admin/admin。

登陆后我们可以在“Repositories”下“add”,添加项目目录;

在"Users"下添加用户;

在“Access-Paths”下关联对应项目的用户,并分配相关读写权限。

 


# 访问权限  # 应用程序  # 的是  # 您的  # 多个  # 不需要  # 我们可以  # 可以通过  # 软件包  # 使其 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何发送系统通知?(Notification渠道示例)  如何用VPS主机快速搭建个人网站?  python中快速进行多个字符替换的方法小结  Laravel如何实现模型的全局作用域?(Global Scope示例)  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  微信公众帐号开发教程之图文消息全攻略  Android GridView 滑动条设置一直显示状态(推荐)  Laravel如何使用Collections进行数据处理?(实用方法示例)  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  如何为不同团队 ID 动态生成多个非值班状态按钮  如何快速查询网址的建站时间与历史轨迹?  使用spring连接及操作mongodb3.0实例  Laravel怎么在Blade中安全地输出原始HTML内容  如何在服务器上三步完成建站并提升流量?  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  JS弹性运动实现方法分析  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  如何在新浪SAE免费搭建个人博客?  如何选择PHP开源工具快速搭建网站?  Laravel如何使用Eloquent进行子查询  JavaScript模板引擎Template.js使用详解  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  如何在腾讯云免费申请建站?  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  如何快速搭建高效简练网站?  北京的网站制作公司有哪些,哪个视频网站最好?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  Laravel如何实现一对一模型关联?(Eloquent示例)  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  如何在Windows虚拟主机上快速搭建网站?  JavaScript如何实现错误处理_try...catch如何捕获异常?  QQ浏览器网页版登录入口 个人中心在线进入  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  如何用PHP快速搭建高效网站?分步指南  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  Laravel如何处理异常和错误?(Handler示例)  专业商城网站制作公司有哪些,pi商城官网是哪个?  装修招标网站设计制作流程,装修招标流程?  如何用PHP工具快速搭建高效网站?  JavaScript常见的五种数组去重的方式  Laravel用户密码怎么加密_Laravel Hash门面使用教程  如何挑选最适合建站的高性能VPS主机?  北京专业网站制作设计师招聘,北京白云观官方网站?  如何快速辨别茅台真假?关键步骤解析  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程