当前位置: 首页 > news >正文

CentOS下SVN使用

1. 介绍

这里想在CentOS上搭建的是基于http访问的SVN Server

2. 软件

安装相关软件

 yum install httpd httpd-devel mod_dav_svn subversion mod_ssl 

其中, mod_dav_svn是apache服务器访问svn的一个模块

安装完成后可以通过如下命令查看是否安装成功

httpd -version
svnserve –version
ls /etc/httpd/modules/ | grep svn  
           ----->  mod_authz_svn.so mod_dav_svn.so

3. 建立仓库

通过如下命令建立svn仓库

其中/var/www/svn是准备放仓库的目录,这个目录可以放置多个代码仓库
AuthUserFile就是用户和密码的文件,也可以移动到其他地方单独管理.

mkdir /var/www/svn
svnadmin create /var/www/svn/workspace
ls /var/www/svn/workspace
           --->  conf  db  format  hooks  locks  README.txt
chown -R apache.apache /var/www/svn

4. SVN配置

创建用户文件passwd, 并建立用户admin和guest

touch /var/www/svn/passwd
htpasswd /var/www/svn/passwd admin
htpasswd /var/www/svn/passwd guest

创建权限文件authz

cp /var/www/svn/workspace/conf/authz /var/www/svn/authz

修改/var/www/svn/authz, 使其包含如下内容

[/]
admin = rw
guest = r

5. httpd配置

创建文件/etc/httpd/conf.d/subversion.conf, 内容如下

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location >
    DAV svn
    SVNPath 
    SVNListParentPath on
      AuthType Basic
      AuthName "Authorization SVN"
      AuthUserFile /var/www/svn/passwd
      AuthzSVNAccessFile /var/www/svn/authz
      Require valid-user
</Location>

6. 启动服务

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

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

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

OPTIONS="-r /var/svn"     ======>        OPTIONS="-r /var/www/svn"

通过如下命令来启用服务

systemctl start svnserve.service
systemctl start httpd.service

如下命令使其开机自启动

systemctl enable svnserve.service
systemctl enable httpd.service

完成后可以通过如下地址来访问SVN服务器

http://ip

参考:
<CentOS7:搭建SVN + Apache 服务器>
<Install SVN Server on Fedora 23/22, CentOS/RHEL 7.2/6.7/5.11>

转载于:https://www.cnblogs.com/hzl6255/p/6132279.html

相关文章:

  • java虚拟机学习笔记——java安全模型
  • 《C++ Primer Plus(第六版)》(9)(第七章 函数 笔记和答案)
  • 算法导论学习笔记——计数排序算法
  • 本地化资源文件关键字重复的报错解决。
  • 数字签名是什么?
  • 探索推荐引擎内部的秘密:推荐引擎初探
  • 决策树
  • 算法导论学习笔记——基数排序
  • 算法导论学习笔记——桶排序
  • [java]删除数组中的某一个元素
  • 当你输入一个网址的时候,实际会发生什么?
  • 【转】Android下面打印进程函数调用堆栈(dump backtrace)的方法
  • 算法导论学习笔记——找数组中第i小的元素
  • 获取验证码
  • 在最坏情况下,利用n + ┌lgn┐ - 2 次比较,即可找到 n 个元素中的第2小元素
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • iOS小技巧之UIImagePickerController实现头像选择
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • js学习笔记
  • Linux Process Manage
  • maven工程打包jar以及java jar命令的classpath使用
  • mysql 数据库四种事务隔离级别
  • SpingCloudBus整合RabbitMQ
  • vue 个人积累(使用工具,组件)
  • web标准化(下)
  • 力扣(LeetCode)56
  • 每天10道Java面试题,跟我走,offer有!
  • 嵌入式文件系统
  • 微信小程序开发问题汇总
  • 一个项目push到多个远程Git仓库
  • 正则表达式
  • raise 与 raise ... from 的区别
  • 仓管云——企业云erp功能有哪些?
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ​虚拟化系列介绍(十)
  • (11)MSP430F5529 定时器B
  • (2)(2.10) LTM telemetry
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET 命令行参数包含应用程序路径吗?
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .sh
  • @Import注解详解
  • @ModelAttribute 注解