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操作系 ...
随机推荐
- json.dumps() 和 json.loads()
转载: https://blog.csdn.net/qinglingls/article/details/96476368
- js骚操作骂人不带脏
前言 很多小伙伴们觉得javaScript很简单,下面的这行 javaScript代码可能会让你怀疑人生. (!(~+[])+{})[--[~+""][+[]]*[~+[]] + ...
- JS入门系列(2)-原型-实例属性
下面的例子中,在构造器内部定义了like,然后再原型上也定义了like.通过下面的测试表明: 在构造器内部创建的实例方法会阻挡原型上定义的同名方法 初始化操作的优先级如下: 首先,通过原型给对象实例添 ...
- sparkSessiontest
记事本内容: 打印结构: 方法1: object SparkSessionTest { case class Person(name:String,age:Int) def main(args: Ar ...
- 天天在用Redis,持久化方案你又知道哪些?
前言 文章首发于微信公众号[码猿技术专栏]:天天用Redis,持久化方案有哪些你知道吗? Redis目前已经成为主流的内存数据库了,但是大部分人仅仅是停留在会用的阶段,你真的了解Redis内部的工作原 ...
- 你知道如何自动保存 Spring Boot 应用进程号吗
1. 前言 欢迎阅读 Spring Boot 2 实战 系列文章. PID 对于系统运维来说并不陌生,但是对于一些开发者特别是新手还是要简单介绍一下的.它是 Process ID 的简称,是系统分配给 ...
- Python-元组tuple、列表list、字典dict
1.元组tuple(1)元组是有序列表,有不可见的下标,下标从0开始(2)元组的数据是相对固定的,数据不能增删改,他的一个重要用途是保存固定的.安全要求高的数据(3)元组用小括号()括起来,空元组定义 ...
- 详解 Lambda表达式
Lambda表达式 概述: Lambda 是一个匿名函数, 我们可以把 Lambda表达式理解为是一段可以传递的代码 (将代码像数据一样进行传递) 可以写出更简洁.更灵活的代码. 作为一种更紧凑的代码 ...
- Mybatis源码详解系列(三)--从Mapper接口开始看Mybatis的执行逻辑
简介 Mybatis 是一个持久层框架,它对 JDBC 进行了高级封装,使我们的代码中不会出现任何的 JDBC 代码,另外,它还通过 xml 或注解的方式将 sql 从 DAO/Repository ...
- 泛微ecology OA系统在数据库配置信息泄露
漏洞描述 攻击者可通过该漏洞页面直接获取到数据库配置信息,攻击者可通过访问存在漏洞的页面并解密从而获取数据库配置信息,如攻击者可直接访问数据库,则可直接获取用户数据,由于泛微e-cology默认数据库 ...