首页 > 其他分享 >svn

svn

时间:2024-07-31 09:49:57浏览次数:7  
标签:svn repo1 repos 仓库 conf apache

SVN管理

简介

svn: 代码版本管理工具,使用简单

安装

# 安装httpd svn mod_dav)svn模块
yum -y install subversion httpd  mod_dav_svn

# 检查模块是否安装成功
ll /etc/httpd/modules/ | grep svn
-rwxr-xr-x. 1 root root  13456 8月  17 2015 mod_authz_svn.so
-rwxr-xr-x. 1 root root 155360 8月  17 2015 mod_dav_svn.so

svn配置

#  创建svn仓库目录
mkdir -p /mnt/rhd/svn-repos

# 创建svn版本库
cd /mnt/rhd/svn-repos && svnadmin create repo1

# 修改用户组及权限
chown -R apache.apache repo1/

# 修改当前仓库配置文件
[general]
 anon-access = none                 # 关闭匿名访问  
 auth-access = write                # 验证用户可写
 password-db = /mnt/rhd/svn-repos/repo1/conf/htpasswd  # 指向验证用户名密码的数据文件 passwd
 authz-db = /mnt/rhd/svn-repos/repo1/conf/authz        # 指向验证用户的权限配置文件   authz

[sasl]

http配置

# 配置apache通过mod_dav_svn模块访问svn服务
cat /etc/httpd/conf.d/svn.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /svn>
    DAV svn
    SVNParentPath /mnt/rhd/svn-repos    # 仓库路径
      AuthType Basic

      AuthName "SVN repose Auth"        # apache认证时弹出的消息    
      AuthUserFile /mnt/rhd/svn-repos/repo1/conf/htpasswd     # passwd存储用户名和密码的路径 
      AuthzSVNAccessFile /mnt/rhd/svn-repos/repo1/conf/authz  # 存放用户权限的路径
      Satisfy Any
      Require valid-user
    # </LimitExcept>
	</Location>

 注: SVNpath 和SVNParentPath区别
 		SVNParentPath是在仓库目录的上一级。
		SVNPath就是在仓库的目录下
两个不同的参数
		SVNParentPath /var/www/svn-repos
		或者
		SVNPath /var/www/svn-repos/repo1
两种访问的模式不一样,SVNParentPath就是访问地址/svn/后面要加仓库名称,而另外一个不用加,直接/svn/就是仓库了。



#  启动httpd服务
systemctl enable httpd --now

svn版本库介绍

ll /mnt/rhd/svn-repos/repo1/
总用量 16
drwxr-xr-x. 2 apache apache   51 3月  25 15:41 conf
drwxr-xr-x. 3 apache apache   25 4月   9 2018 dav
drwxr-sr-x. 7 apache apache 4096 7月  30 17:02 db
-r--r--r--. 1 apache apache    2 4月   9 2018 format
drwxr-xr-x. 2 apache apache 4096 4月   9 2018 hooks
drwxr-xr-x. 2 apache apache   39 4月   9 2018 locks
-rw-r--r--. 1 apache apache  229 4月   9 2018 README.txt

# conf目录: 是这个仓库的配置文件(仓库的用户访问账号、权限等)
# db目录:  就是所有版本控制的数据存放文件
# format文件: 是一个文本文件,里面只放一个整数,表示当前文件库配置的版本号
# hooks目录:  放置hook脚本文件的目录
# locks目录:  用来放置subsersion监控锁定数据的目录,用来追踪存取文件库的客户端
# dav目录:    是提供apache与mod_dav_svn使用的目录,让他们存储内部数据,刚开始创建时此目录没有

创建用户密码

# 使用htpasswd创建用户,首次创建用户。位置和subversion.conf里的一样,给第一个用户添加密码时要加c,意思是创建这个文件,以后就不用加了,后期通过httpd服务器访问svn时,会使用这个文件中的用户信息验证用户和密码。执行添加用户命令必须在passwd文件所在的目录下执行,否则会另外创建一个passwd文件,之前的passwd文件和配置会失效
cd /mnt/rhd/svn-repos/repo1/conf/
htpasswd -cb passwd test1 123456789

参数详解:
	-c: 创建passwd文件,默认为MD5加密
	-b: 在命令行中一并输入用户名和密码而不是根据提示输入密码
	
注:
	第二次创建不需要添加-c
	# 添加用户
	htpasswd -b passwd 用户名 密码
	# 删除用户
	htpasswd -D passwd 用户名
	# 修改用户密码
	htpasswd passwd 用户名

创建版本库权限控制文件

cat /mnt/rhd/svn-repos/repo1/conf/authz
[groups]          # 表示群组设置
[/]               # 表示在所有仓库的根目录下
test = rw         # 表示test用户对所有仓库根目录下的软件版本库有rw权限
test1=r           # 表示test1用户对所有仓库根目录下的软件版本库有r权限
[repo1:/]         # 表示repo1仓库的访问权限
test2 = rw         # 在repo1仓库中test2有读写权限

[repo1:/ch]       # 表示repo1仓库下/ch目录访问权限
test3=rw          # 在repo1仓库/ch目录test3有读写权限


web访问

# 重启httpd服务
systemctl restart httpd

# 访问
http://httpIP/svn/repo1

win客户端使用

# 下载地址https://svnbucket.com,选择语言

# 安装完成后,点击图标右键---选择SVN Checkout  -------->  输入版本库url+++路径

标签:svn,repo1,repos,仓库,conf,apache
From: https://www.cnblogs.com/kkit/p/18333946

相关文章

  • Jenkins结合SVN报错E230001: Server SSL certificate verification failed的解决方法
    报错如下:svn:E230001:Commitfailed(detailsfollow):svn:E230001:UnabletoconnecttoarepositoryatURL'https://192.168.0.99/svn/xxx/dat'svn:E230001:ServerSSLcertificateverificationfailed:certificateissuedforadifferenthostname,is......
  • svn清理失败,系统找不到指定的文件
    起因是检查一个文件的修改情况,结果发现svn罢工了: 执行清理命令的时候提示“系统找不到指定的文件”解决方案:  1、在.svn目录下找到wc.db文件    2、用sqllite工具或者Navicat客户端打开wc.db文件(数据库选sqllite,没有用户名和密码直接连)3、查......
  • Visual Studio 2019使用SVN管理源代码
    原文链接:https://blog.csdn.net/g313105910/article/details/119964508第一章、下载安装VisualSVNforVisualStudio2019https://www.visualsvn.com/CSDN下载地址https://download.csdn.net/download/g313105910/21698281安装 完成 VisualStudio2019中已经包含了A......
  • svn ldap认证临时切换到本地认证
    当前的svn是在CentOS7下SVN、 Apache对接LDAP服务实现用户账号管理和权限认证,本文模拟ldap数据丢失如何恢复svn,方法是临时将认证切换到本地认证编辑subversion.conf文件vi /etc/httpd/conf.d/subversion.conf注释ldap-status#<Location/ldap-status>#SetHandle......
  • SVN自动化更新 windows SVN自动化 TortoiseSVN
    本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/4592063.html任务计划程序#任务计划程序是Window自带的组件微软文档#http://windows.microsoft.com/zh-cn/windows-vista/automate-tasks-with-task-scheduler-from-windows-vista-inside-out打开方......
  • vs使用AnkhSVN冲突
     heproblemseemstobethe(astheerrorhints)thepropertybagwithinthesolutionfile问题似乎是解决方案文件中的propertybag(如错误提示的那样)Soaworkaroundofthisissue:因此,此问题的解决方法:Youhavea"solution.sln"createdwithVS2019orearlier您......
  • 第五天笔记(svn使用,)
    创建仓库......
  • svn库之删除文件并释放空间
    说明:因为Svn版本库的工作方式,它会保存所有的操作记录,所以就算是删除版本库内的文件,也只会增加版本库的物理存储大小,并不会减少的。举例1:本地副本总存储大小为100M(最终版本ver80),可是平台上显示的版本库容量却达到了160M(因为您同一个文件,修改后提交上传,每次都会保留......
  • 【SVN】 设置过滤上传文件
    项目级过滤文件1.1在项目空白处,右键选择SVN-Properties1.2New->Other->新建一个“svn:global-ignores”属性1.3查看效果选中上传项目,右键-》SVN->Add如图所示,.vs、bin、obj文件都过滤了全局过滤文件配置2.1在项目工作根目录上,右键->TortosieSVN->Settin......
  • SVN 80道面试题及参考答案(2万字长文)
    目录解释SVN的全称和主要功能。SVN与CVS相比,有哪些主要改进?描述SVN的工作流程。什么是版本库(repository)?它存储了什么?解释工作副本(workingcopy)的概念。SVN如何处理文件的版本控制?SVN中的“commit”是什么意思?解释“update”操作的作用。如何查看一个文件的历史版......