CentOS 7 使用SVN+Apache搭建版本控制服务器
svn简介
Subversion是一个免费/开源的版本控制系统, Subversion 可以跨越时间地对文件和目录, 以及它们的修改进行管理. 这就允许你恢复 数据的旧版本, 或检查数据的修改历史. 由于这个特点, 很多人把版本控制系统 看成是一种 “时间机器”.
Svn的组件
- svn 客户端命令行工具
- svnversion 用于报告工作副本状态 (就项目的版本号而言) 的工具
- svnlook可以直接检查仓库的工具
- svnadmin 用于创建, 调整或修复 Subversion 仓库的工具
- mod_dav_svn Apache HTTP 服务器插件, 该插件允许用户通过网络访问仓库
- svnserve 一个定制的, 可独立运行的服务器程序, 可以以守护进程方式运行, 也可以被 SSH 调用, 这是另一种允许用户通过网络访问仓库的方法
- svndumpfilter 过滤 Subversion 仓库转储数据流的程序
- svnsync 可以跨越网络对仓库进行增量镜像备份的程序
- svnrdump 可以跨越网络对仓库历史进行转储和加载的程序
- svnmucc 该工具支持在没有工作副本的情况下, 在一个单独的提交中对多个 仓库执行基于 URL 的操作
简单点来说,版本控制就是数据仓库,它可以记录你对文件的每次更改。这样,就算你在昏天黑地的改了几个月后老板说不要了,还是按照过去那样,你也不会抓狂,简单的恢复版本操作就搞定一切
常见版本控制软件 :
CVS 由于之前CVS编码的问题,现在大多数软件开发公司都使用SVN替代了CVS
SVN 集中式版本控制器
git 分布式版本控制器
Svn 服务端运行方式
- 独立服务器访问s svn://IP/svn_test
- 借助apache等http服务 http://IP/svn_test
- 本地文件 file:///svn_test
搭建svn 服务器+ apache 实现版本控制服务器
安装svn服务器,apache, mod_dav_svn 软件包
[root@svn ~]# yum -y install subversion httpd mod_dav_svn
# mod_dav_svn模块是http服务的插件,可以让版本库通过http协议,在网站上展现
创建版本库目录,并修改相应权限
[root@svn ~]# mkdir /var/repos
[root@svn ~]# svnadmin create /var/repos/damowang.cn
[root@svn ~]# ls /var/repos/damowang.cn
conf db format hooks locks README.txt
[root@svn ~]# svnserve -d -r /var/repos/ # 开启服务
# -d 表示以daemon方式(后台运行)运行 -r 指定svn根目录是/var/repos
[root@svn ~]# netstat -antup|grep
tcp 0.0.0.0: 0.0.0.0:* LISTEN /svnserve
配置Apache
查看apache支持subversion两个动态库有没有安装成功
[root@svn ~]# find / -name mod_dav_svn.so
/usr/lib64/httpd/modules/mod_dav_svn.so
[root@svn ~]# find / -name mod_authz_svn.so
/usr/lib64/httpd/modules/mod_authz_svn.so
配置apache通过mod_dav_svn模块访问SVN服务器
[root@svn ~]# vim /etc/httpd/conf.d/subversion.conf # 文件存在就直接修改 , 不存在就手写 <Location /svn>
DAV svn
SVNParentPath /var/repos
AuthType Basic
AuthName " SVN server of damowang!"
AuthUserFile /home/svn/passwd
AuthzSVNAccessFile /home/svn/auth
Require valid-user
</Location>
注释:
<Location /svn> apache的虚拟目录 后期通过链接:http://192.168.94.111/svn 来访问
DAV svn
SVNParentPath /var/repos 存放仓库的路径 :damowang.cn的绝对路径
AuthType Basic
AuthName " SVN server of damowang!" apache认证时弹出的消息
AuthUserFile /home/svn/passwd passwd存储用户名和密码
AuthzSVNAccessFile /home/svn/auth 存放用户的权限
Require valid-user
</Location>
建立本地访问控制文件/home/svn/passwd,#后期通过httpd服务器访问svn时,会使用这个文件中的用户信息验证用户和密码
[root@svn ~]# mkdir /home/svn
[root@svn ~]# htpasswd -c /home/svn/passwd damowang
New password:
Re-type new password:
Adding password for user damowang
# -c 只在第一次创建用户密码文件时使用 创建/home/svn/passwd文件 会提示你输入密码,默认是MD5加密
[root@svn ~]# cat /home/svn/passwd
damowang:$apr1$rk05bgL7$H2xOG1YwZQpFLucpmutUu0
建立本地项目版本库权限控制文件
[root@svn ~]# vim /home/svn/auth [/] # 这个表示在所有仓库的根目录下
damowang =rw # 表示damowang用户对所有仓库根目录下的软件版本库有rw权限
[root@svn ~]# chown -R apache.apache /var/repos/
[root@svn ~]# systemctl start httpd
svn的访问地址是 http://192.168.94.111/svn/damowang.cn
SVN客户端
subversion windows客户端TortoiseSVN配置:
http://tortoisesvn.net/about.zh.html
下载与系统对应的包
安装之后在Windows上新建一个文件夹
填写用户名和密码就可以了
上传和下载
把文件放到文件夹里
选择上传的文件后点击ok
再访问网页
damowang用户有rw权限 点击文件名可以看到文件内容
在Linux下测试客户端 :
[root@svn repos]# svn checkout http://192.168.94.111/svn/damowang.cn
认证领域: <http://192.168.94.111:80> SVN server of damowang!
“root”的密码:
认证领域: <http://192.168.94.111:80> SVN server of damowang!
用户名: damowang
“damowang”的密码: -----------------------------------------------------------------------
注意! 你的密码,对于认证域: <http://192.168.94.111:80> SVN server of damowang! 只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。 你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?no
A damowang/server.crt
取出版本 。
[root@svn repos]# cd damowang
[root@svn damowang]# ls
server.crt
CentOS 7 使用SVN+Apache搭建版本控制服务器的更多相关文章
- svn+apache搭建版本控制服务器
Centos7(linux)搭建版本控制服务器(svn+apache) 1.简介: 版本控制服务器: 版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所 ...
- 实战:使用SVN+apache搭建一个版本控制服务器
今天讲的内容: 实战:使用SVN+apache搭建一个版本控制服务器 每天: 10:00 晚上:21:00 服务端:xuegod63.cn IP:192.168.10.63 服务概述: SVN(s ...
- 在Linux上用Apache搭建Git服务器
在Linux上用Apache搭建Git服务器 最近在学Linux,终于在Linux上用Apache搭建起了Git服务器,在此记录一下. 服务器:阿里云服务器 Linux版本:CentOS 6.5 ...
- CentOS 6.5下快速搭建ftp服务器[转]
CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vs ...
- CentOS 6.5下快速搭建ftp服务器
来源:Linux社区 作者:Linux CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了v ...
- CentOS 7下简答搭建DNS服务器
一.DNS相关介绍 DNS(Domain Name System)域名系统协议,作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用挨个记住IP地址.通过主机名,最终得到 ...
- windows下svn+apache搭建svn服务器
使用软件: apache_2.0.55-win32-x86-no_ssl.msi Setup-Subversion-1.5.3.msi TortoiseSVN-1.5.10.16879-win32-s ...
- Virtual Box + CentOS Minimal + Apache搭建Web服务器
本文并不介绍关于Virtual Box, CentOS, Apache的安装, 主要针对安装后相关的配置, 使宿主机(Host)可以访问客户机(Guest: CentOS in Virtual Box ...
- CentOS 6.3 + Subversion + Usvn 搭建版本管理服务器
一. Subversion 简介 Subversion是一个自由,开源的版本控制系统.在Subversion管理下,文件和目录可以超越时空.Subversion将文件存放在中心版本库里.这个版本库很像 ...
随机推荐
- Github + Hexo 搭建个人博客
参考博客: 我是如何利用Github Pages搭建起我的博客,细数一路的坑 使用Hexo+Github一步步搭建属于自己的博客(基础) Hexo 准备工作: 本机已安装好 git, npm 和 no ...
- CRC码计算及校验原理的最通俗诠释
5.3.2 循环冗余校验检错方案 奇偶校验码(PCC)只能校验一位错误,本节所要介绍的循环冗余校验码(CRC)的检错能力更强,可以检出多位错误. 1. CRC校验原理 CRC校验原理看起来比 ...
- count(1)、count(*)与count(列名)的执行区别
执行效果: 1. count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了! 从执行计划来看,count(1)和coun ...
- linq2db sqlite应用
使用linq2db sqlite 的时候,找不到增加,删除的操作,原来是要引入一个新的命名空间LinqTODB. 1 using LinqToDB; 插入: 1 User uNew = new Use ...
- Java不区分大小写的CaseInsensitiveMap
Java中对于键值对,我们习惯使用类HashMap,使用方式:Map<String, String> result=new HashMap<String,String>(); ...
- css特效 - 环形文字
记一次群友问题和回答: 下面这种效果,文字是动态的,不能使用图片的情况下,前端怎么实现? 一.插件实现: arctext.js 教程地址:实现文字平滑弯曲弧形效果的插件-arctext.js 二.原生 ...
- pycharm 2018.1 激活
pycharm 2018.1 License server 填入 https://jetlicense.nss.im/ 激活没有问题 测试时间 2018.4.18
- python学习中的bug
1.在pycharm的terminal中的python工程目录下update pip失败,但是在cmd中为什么就可以.’
- Nestjs 序列化(Serialization)
文档 在发送实际响应之前,Serializers为数据操作提供了干净的抽象层.例如,应始终从最终响应中排除敏感数据(如用户密码) λ yarn add class-transformer cats.e ...
- js 函数中的this
资料 function 函数 没有"this"的持久概念, 调用函数时,创建this function hello(thing) { console.log(this + &quo ...