SVN 部署(基于 Linux)
1、通过 yum 命令安装 svnserve,命令如下:
# 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行
yum -y install subversion # 若需查看svn安装位置,可以用以下命令:
rpm -ql subversion
2、创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)
# 选择在 var 路径下创建版本库,当前处于根目录下,一次性创建如下:
mkdir /var/svnrepos
3、创建 svn 版本库
# 在第二步建立的路径基础上,创建版本库,命令如下:
svnadmin create /var/svnrepos/xxxx (xxxx为你预期的版本库名称,可自定义) # 创建成功后,进入 xxxx 目录下
cd /var/svnrepos/xxxx # 进入目录,可以看见如下文件信息:
total 24
drwxr-xr-x 2 root root 4096 May 2 13:48 conf
drwxr-sr-x 6 root root 4096 May 2 13:48 db
-r--r--r-- 1 root root 2 May 2 13:48 format
drwxr-xr-x 2 root root 4096 May 2 13:48 hooks
drwxr-xr-x 2 root root 4096 May 2 13:48 locks
-rw-r--r-- 1 root root 229 May 2 13:48 README.txt
4、配置修改
# 进入已经创建好的版本库目录下,也就是前文说创建的 xxxx,进入 conf
cd /var/svnrepos/xxxx/conf # conf 目录下,一共存放三份重要的配置文件,如下:
total 12 -rw-r--r-- 1 root root 1080 May 2 13:48 authz
-rw-r--r-- 1 root root 309 May 2 13:48 passwd
-rw-r--r-- 1 root root 3090 May 2 13:48 svnserve.conf # authz:负责账号权限的管理,控制账号是否读写权限
# passwd:负责账号和密码的用户名单管理
# svnserve.conf:svn 服务器配置文件
- 编辑 authz 文件(注意:[/] 也是必须的)

# 用户组(权限分组管理,组名 = 用户1,用户2)
[groups]
teacher = zhengying,zhugc
class1 = zhangsan # 拥有根目录(版本库)下权限的用户组配置,r 代表可读权限--可以从 svn 服务器上dowm 资料,但是不能上传和删除资料;rw 代表可读可写权限--可以从 svn 服务器上dowm 资料,也可以上传和删除资料
[/]
@teacher = rw # 拥有版本库下 class1 文件夹权限的用户组配置(xinfs 为版本库)
[xinfs:/class1]
@class1 = rw
- 编辑 passwd 文件,管理用户密码(用户名 = 密码)

- 编辑 svnserve.conf 文件,取消下面几行注释(注意:配置的前面不能有空格,一定要顶格写)


anon-access = none # 表示禁止匿名用户访问。
auth-access = write # 表示授权用户拥有读写权限。
password-db = passswd # 指定用户名口令文件,即 passwd 文件。
authz-db = authz #指定权限配置文件,即 authz 文件。
realm = /var/svnrepos # 指定认证域,即 /var/svnrepos 目录。
5、防火墙开启(iptable 防火墻)
- 多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题【注意:如果是阿里云,腾讯云的服务器,还需在安全组添加端口开启规则】
vi /etc/sysconfig/iptables # 添加配置信息
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT wq: # 保存退出 service iptables restart # 重启防火墙使配置生效
6、启动 svn 服务器(注意:重启命令中不要带入版本号)
svnserve -d -r /var/svnrepos # 启动 svn 服务 ps -ef | grep 'svnserve' # 查看 svn 进程
7、客户端访问 svn 服务器
- 在 windows 客户端,输入地址:svn://ip地址:3690/xxxx (IP 地址为你 linux 的 IP,xxxx 为前文创建的版本库名称,3690 为 svn 默认端口)
- 弹出输入用户名和密码,输入即可访问
- 或者在 linux 服务器输入命令测试
- svn co svn://ip地址:3690/xxxx
- 如下为例子:

8、问题
- 输入账号密码后,提示 svn: Authorization failed 解决办法
- 把 authz 文件 [/] 改为 [\] 试试
SVN 部署(基于 Linux)的更多相关文章
- 基于Linux平台的Lotus Domino 8系统部署五部曲(全视频展示)
基于Linux平台的Lotus Domino 8系统部署五部曲(全视频展示),学习就像看电影 第一部:安装部署 第二部:配置Domino 第三部:Notes8客户端配置 第四部:为Domino系统加装 ...
- 基于linux(centos)的svn环境搭建
1. 安装svn yum intall subversion 2. 查看安装位置 rpm -ql subversion 3. 检验svn是否安装成功,查看帮助 svn --help , 看到下图表示成 ...
- 轻易实现基于linux或win运行的聊天服务端程序
对于不了解网络编程的开发人员来说,编写一个良好的服务端通讯程序是一件比较麻烦的事情.然而通过EC这个免费组件你可以非常简单地构建一个基于linux或win部署运行的网络服务程序.这种便利性完全得益于m ...
- Go 语言开发的基于 Linux 虚拟服务器的负载平衡平台 Seesaw
负载均衡系统 Seesaw Seesaw是由我们网络可靠性工程师用 Go 语言开发的基于 Linux 虚拟服务器的负载平衡平台,就像所有好的项目一样,这个项目也是为了解决实际问题而产生的. Seesa ...
- 高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化
高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化 作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行.但硬件问题.软件问题.网络环境等 ...
- .NET Core跨平台:.NET Core项目部署到linux(Centos7)
1.开篇说明 a 上篇博客简单的说明了一下 使用.NET Core开发的一个总结,地址是:(http://www.cnblogs.com/hanyinglong/p/6442148.html),那么这 ...
- Centos6.5中Nginx部署基于IP的虚拟…
Centos6.5 中Nginx 部署基于IP 的虚拟主机 王尚2014.11.18 一.介绍虚拟主机 虚拟主机是使用特殊的软硬件技术,把一台真实的物理电脑主机 分割成多个逻辑存储单元,每个单元都没有 ...
- Jenkins:基于linux构建ivy项目
Jenkins:基于linux构建ivy项目 (二) 基于以上<Jenkins:VMware虚拟机Linux系统的详细安装和使用教程(一)>的配置再进行对ivy项目构建: 启动tomcat ...
- Asp.Net项目的部署到Linux中(Linux + Jexus+Nginx )
因为老项目用的Asp.Net Web API技术开发部署到Window系统上,而新项目用的是.Net Core部署到Ubuntu系统中,所以在管理切换上有些不便.于是决定将老项目的测试服部署到Ubun ...
- 基于Linux的Samba开源共享解决方案测试(一)
转自http://blog.csdn.net/u013394982/article/details/17914429 Linux操作系统 Linux是一类Unix计算机操作系统的统称.Linux操作系 ...
随机推荐
- Tomcat目录解析
bin 可执行文件的储存 conf 配置文件 lib 依赖jar包 logs 日志文件 temp 临时文件 webapps 创建的web应用程序 work 存放运行时数据 如何启动Tomcat? 启动 ...
- 【C#】写一个支持多人聊天的TCP程序
碎碎念 先谈谈我们要实现的效果:客户端可以选择要聊天的对象,或者直接广播消息(类似QQ的私聊和群消息) 那么,该如何实现呢? 首先明确的是,要分客户端和服务器端两个部分(废话) 客户端:选择要发送的对 ...
- Spring Cloud 系列之 Consul 注册中心(二)
本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Consul 注册中心(一) 本篇文章讲解 Consul 集群环境的搭建. Consul 集群 上图是一个简单的 Co ...
- 差分数组&&定义&&使用方法&&与线段树的区别
**1.定义**对于一个有n个元素的数组a[n],我们令a[i]-a[i-1]=d[i],且d[1]=a[1]-0=a[1];那么我们将d[i]称为**差分数组**---即记录数组中的每项元素与前一项 ...
- AJ学IOS(08)UI之热门_喜马拉雅UI实现-UIScrollView的使用
AJ分享,必须精品 先看效果 storyBoard用到的控件 代码实现 */ // // NYViewController.m // 05 - 喜马拉雅 // // Created by apple ...
- stand up meeting 12/23/2015
part 组员 工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云 基本完成单词本显示页面的设计和实现 4 完善页面切换 ...
- G - Harmonic Number (II) LightOJ - 1245
算是一个找规律的题目吧. 枚举前sqrt(n)个数,数i出现的次数为n/i-n/(i+1),对答案的贡献为(n/i-n/(i+1))*i. 对于sqrt后边的数,可以直接由n/i获得,并且一定只出现一 ...
- Python生成一维码
参考页面 https://pypi.org/project/python-barcode/ 利用python-barcode的库 一.安装python-barcode库 #安装前提条件库 pip in ...
- 11. this.setState更新问题
this.setState是异步的,所以在this.setState之后不能立刻得到最新的state数据关于如何获取最新的数据,有如下三种方法 1.回调函数 this.setState({ xxx:' ...
- 【mybatis xml】数据层框架应用--Mybatis 基于XML映射文件实现数据的CRUD
使用MyBatis框架进行持久层开发 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架. MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索. MyBa ...