Linux SVN 搭建(YUM)安装
安装说明
系统环境:CentOS
安装方式:yum install (源码安装容易产生版本兼容的问题)
安装软件:系统自动下载SVN软件
Linux svn服务端配置
检查已安装版本
#检查是否安装了低版本的SVN
[root@localhost /]#rpm -qa subversion
#如果存储旧版本,卸载旧版本SVN
[root@localhost modules]#yum remove subversion
安装SVN
[root@localhost modules]#yum install subversion
验证安装
检验已经安装的SVN版本信息
[root@localhost modules]# svnserve --version
svnserve,版本 1.6.11 (r934486)
编译于 Jun 23 2012,00:44:03
版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。
下列版本库后端(FS) 模块可用:
* fs_base : 模块只能操作BDB版本库。
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
Cyrus SASL 认证可用。
代码库创建
SVN软件安装完成后还需要建立SVN库
[root@localhost modules]#mkdir -p /opt/svn/ #创建SVN根目录
[root@localhost modules]#svnadmin create /opt/svn/repo #创建repo测试库
执行上面的命令后,自动建立repo测试库,查看/opt/svn/repo 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
配置代码库
进入上面生成的文件夹conf下,进行配置
[root@localhost modules]#cd /opt/svn/repo/conf
用户密码passwd配置
[root@localhost password]#cd /opt/svn/repo/conf
[root@admin conf]#vim passwd
修改passwd为以下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
hello = 123
aaa = 123
www = 123
用户名=密码
这样我们就建立了hello用户, 123密码
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
权限控制authz配置
[root@admin conf]#vim authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
[groups] #组
admin = hello,www #创建一个admin组,将用户加入到组
[/] #根目录权限设置(就是“svn”这个文件夹)
aaa = rw #aaa对svn下的所有版本库有读写权限
[repo:/] #repo:/,表示对repo版本库下的所有资源设置权限
@admin = rw #admin组的用户对repo版本库有读写权限
[repo2:/occi], ,表示对版本库repo2中的occi项目设置权限
[repo2:/occi/aaa], ,表示对版本库2中的occi项目的aaa目录设置权限 权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
服务svnserve.conf配置
[root@admin conf]#vim svnserve.conf
追加以下内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#使授权用户有写权限
auth-access = write
#密码数据库的路径
password-db = passwd
#访问控制文件
authz-db = authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = /opt/svn/repo
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
配置防火墙端口(或直接关闭防护墙)
[root@localhost conf]#vim /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
[root@localhost conf]#service iptables restart
启动SVN
svnserve -d -r /opt/svn/ #指定SVN根目录
查看SVN进程
ps -ef|grep svnserve
使用import导入文件
svn import /mnt/ file:///opt/svn/repo/-m "注释"
增加 /mnt/hgfs
提交后的版本为 1。
检测SVN 端口
[root@localhost conf]#netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
停止重启SVN
[root@localhost password]# killall svnserve //停止
[root@localhost password]# svnserve -d -r /opt/svn/repo // 启动
如果已经有svn在运行,可以换一个端口运行
svnserve -d -r /opt/svn/ --listen-port 3391
启服务器及测试:
1,启SVN服务,并指定SVN的根目录:
[root@youxia201 test]# svnserve -d -r/opt/svn/
使用checkout导出文件
在这里特别的要注意,/opt/svn是仓库的根目录,不要和[svntest:/]目录重叠了。如果重叠是会提示错误
[root@localhost conf]# svn checkoutsvn://127.0.0.1/repo #本机测试,必需写错127.0.0.1
认证领域: <svn://127.0.0.1:3690>/opt/svn/repo
“root”的密码: 直接回车
认证领域: <svn://127.0.0.1:3690>/opt/svn/repo
用户名: hello
“hello”的密码:
-----------------------------------------------------------------------
注意! 你的密码,对于认证域:
<svn://127.0.0.1:3690> /opt/svn/repo
只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?yes
取出版本 1。
不让它每次输入都提示yes/on的办法
编辑vim /root/.subversion/servers 找到下行去掉#号将on改为yes,上面绿色部分已提示
store-plaintext-passwords = no
---------------------------------------------------------------------------------------------------------------------
到此,SVN服务端就配置完成了
Linux svn客户端配置
检查已安装版本
#检查是否安装了低版本的SVN
[root@localhost /]#rpm -qa subversion
#如果存储旧版本,卸载旧版本SVN
[root@localhost modules]#yum remove subversion
安装SVN
[root@localhost modules]#yum install subversion
验证安装
检验已经安装的SVN版本信息
[root@localhost modules]# svnserve --version
svnserve,版本 1.6.11 (r934486)
编译于 Jun 23 2012,00:44:03
版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。
下列版本库后端(FS) 模块可用:
* fs_base : 模块只能操作BDB版本库。
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
Cyrus SASL 认证可用。
SVN客户端下载文件
[root@localhost ~]# mkdir /svn
[root@localhost ~]# cd /svn/ #将svn服务上提取的文件放在此目录下
[root@localhost svn]# svn checkoutsvn://192.168.233.203/repo #svn服务器地址
输入用户名密码:hello/123
注:可以使用带用户名和密码的访问:
svn co --username hello --password 123svn://192.168.233.203/repo
SVN版本库更新
svn up /svn/repo
上传文件到服务器
[root@localhost ]# touch /svn/repo/test.php #所有的动作必须在repo版本库中完成
[root@localhost ]# svn add /svn/repo/test.php #上传test.php文件到svn服务器
删除服务器上的文件
[root@localhost ]# svn rm /svn/repo/test.php--force
查看版本库内容
[root@localhost ~]# svn list /svn/repo/
------------------------------------------------------------------------------------------------------------------------
到此,SVN客户端就配置完成了
创建版本库:
终端输入:svnadmin create [路径]
该路径可以是相对路径,例如,当前在home/user/svn/目录下,输入svnadmin create myproject,则该版本库会被创建在home/user/svn/目录下,新建一个文件夹名为myproject,其中便是版本库的文件了。
将文件导入版本库:
终端输入:svn import [源路径] [目标版本库路径] -m [日志信息]
源路径可以是相对路径,导入时会递归导入源路径下的所有文件和文件夹,目标版本库路径需要绝对目录(反正我试验是这样的),例如版本库的目录是:home/user/svn/myproject/。则应该这样写:file:///home/user/svn/myproject/
例如将当前目录导入版本库myproject:
svn import . file:///home/user/svn/myproject -m"导入文件"
从版本库导出:
导入后原文件并未被纳入版本管理,若想获得受版本控制的文件,就需要从版本库导出
终端输入:svn co [版本库路径]
例如将myproject库中的文件导出到当前目录:svn co file:///home/user/svn/myproject .
Linux SVN 搭建(YUM)安装的更多相关文章
- CentOS 6.2 SVN搭建 (YUM安装)
安装说明 安装了一下SVN服务器,本文没有与Apache整合,过程如下: 系统环境:CentOS-6.2安装方式:yum install (源码安装容易产生版本兼容的问题)安装软件:系统自动下载SVN ...
- CentOS 7 SVN搭建 (YUM安装)
1.检查已安装版本 rpm -qa subversion卸载旧版本SVNyum remove subversion2.安装SVNyum install subversion 3.验证安装svnserv ...
- linux局域网搭建yum仓库(本地(file)、网络(ftp、http))
linux局域网搭建yum仓库(本地(file).网络(ftp.http)) yum配置文件解释: [ ]:定义仓库,base为仓库的名字,可任意 name:仓库的简短文字描述 baseurl:仓库的 ...
- linux下使用yum安装mysql、tomcat、httpd
一.linux下使用yum安装mysql 1.安装 查看有没有安装过: yum list installed mysql* rpm -qa | grep m ...
- [mysql] linux下使用yum安装mysql
From: http://www.2cto.com/database/201207/141878.html linux下使用yum安装mysql 1.安装 查看有没有安装过: ...
- centOS Linux下用yum安装mysql
centOS Linux下用yum安装mysql 第一篇:安装和配置MySQL 第一步:安装MySQL [root@192 local]# yum -y install mysql- ...
- linux系统下yum 安装mysql的方法
菜鸟一个,记录下yum 安装mysql的方法,给需要的朋友也做个参考吧. 弄了个新vps,想安装最新版的mysql,网上查了相关资料,记录如下: 1.安装查看有没有安装过: yum ...
- Red Hat Enterprise Linux Server(RHEL) yum安装软件时This system is not registered with RHN. RHN support will be disabled. 的解决方法(转)
新安装了redhat6.5.安装后,登录系统,使用yum update 更新系统.提示: This system is not registered to Red Hat Subscription M ...
- Linux Centos 使用 yum 安装java
centos 使用 yum 安装java 首先,在你的服务器上运行一下更新. yum update 然后,在您的系统上搜索,任何版本的已安装的JDK组件. rpm -qa | grep -E '^op ...
随机推荐
- 【WCF】授权策略详解
所谓授权者,就是服务授予客户端是否具有调用某个服务操作的权限. 授权过程可以通过一系列授权策略来进行评估,即每个特定的授权策略都按照各自的需求,衡量一下调用方是否具备访问服务操作的权限.在默认情况下, ...
- Dom addEventlistener与id 绑定事件的区别(续)
addEventListener 第三个参数为 useCapture. 以一个例子说明. <div id="div1" style="background: blu ...
- 添加 Pool Member - 每天5分钟玩转 OpenStack(123)
我们已经有了 Load Balance Pool "web servers"和 VIP,接下来需要往 Pool 里添加 member 并学习如何使用 cloud image. 先准 ...
- 微信扫描下载提示以及js判断用户手机系统
今天抽空也写一下这个教程吧,这里面涉及到就是一个APP的页面下载.公司有这个需求,让做一个页面,就是二维码扫描下载.一开始我做的版本是只能是通过浏览器来下载的,但是实际应用中,很多用户 ...
- Android开发之Activity的生命周期以及加载模式
本篇博客就来好好的搞一下Activity的生命周期,如果搞过iOS的小伙伴的话,Activity的生命周期和iOS中ViewController的生命周期非常类似.生命周期,并不难理解.一个人的生命周 ...
- 使用UICollectionView实现首页的滚动效果
实现类似这样的效果,可以滚动大概有两种实现方案 1. 使用scrollview来实现 2. 使用UICollectionView来实现 第一种比较简单,而且相对于性能来说不太好,于是我们使用第二种方案 ...
- CSS3与页面布局学习总结(八)——浏览器兼容与前端性能优化
一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运 ...
- 在idea中maven项目jdk编译version总是跳到1.5
bug描述 项目ide: idea 项目构建工具:maven bug现象:每次修改pom之后,idea自动扫描一遍,然后发现默认的compile级别跳到5.0. 每次手动去setting里修改comp ...
- PyQt4入门学习笔记(二)
之前第一篇介绍了pyqt4的大小,移动位置,消息提示.这次我们介绍菜单和工具栏 QtGui.QmainWindow这个类可以给我们提供一个创建带有状态栏.工具栏和菜单栏的标准的应用. 状态栏 状态栏是 ...
- 精彩 JavaScript 代码片段
1. 根据给定的条件在原有的数组上,得到所需要的新数组. ——<JavaScript 王者归来> var a = [-1,-1,1,2,-2,-2,-3,-3,3,-3]; functio ...