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)的更多相关文章

  1. 基于Linux平台的Lotus Domino 8系统部署五部曲(全视频展示)

    基于Linux平台的Lotus Domino 8系统部署五部曲(全视频展示),学习就像看电影 第一部:安装部署 第二部:配置Domino 第三部:Notes8客户端配置 第四部:为Domino系统加装 ...

  2. 基于linux(centos)的svn环境搭建

    1. 安装svn yum intall subversion 2. 查看安装位置 rpm -ql subversion 3. 检验svn是否安装成功,查看帮助 svn --help , 看到下图表示成 ...

  3. 轻易实现基于linux或win运行的聊天服务端程序

    对于不了解网络编程的开发人员来说,编写一个良好的服务端通讯程序是一件比较麻烦的事情.然而通过EC这个免费组件你可以非常简单地构建一个基于linux或win部署运行的网络服务程序.这种便利性完全得益于m ...

  4. Go 语言开发的基于 Linux 虚拟服务器的负载平衡平台 Seesaw

    负载均衡系统 Seesaw Seesaw是由我们网络可靠性工程师用 Go 语言开发的基于 Linux 虚拟服务器的负载平衡平台,就像所有好的项目一样,这个项目也是为了解决实际问题而产生的. Seesa ...

  5. 高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化

    高性能Linux服务器 第10章    基于Linux服务器的性能分析与优化 作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行.但硬件问题.软件问题.网络环境等 ...

  6. .NET Core跨平台:.NET Core项目部署到linux(Centos7)

    1.开篇说明 a 上篇博客简单的说明了一下 使用.NET Core开发的一个总结,地址是:(http://www.cnblogs.com/hanyinglong/p/6442148.html),那么这 ...

  7. Centos6.5中Nginx部署基于IP的虚拟…

    Centos6.5 中Nginx 部署基于IP 的虚拟主机 王尚2014.11.18 一.介绍虚拟主机 虚拟主机是使用特殊的软硬件技术,把一台真实的物理电脑主机 分割成多个逻辑存储单元,每个单元都没有 ...

  8. Jenkins:基于linux构建ivy项目

    Jenkins:基于linux构建ivy项目 (二) 基于以上<Jenkins:VMware虚拟机Linux系统的详细安装和使用教程(一)>的配置再进行对ivy项目构建: 启动tomcat ...

  9. Asp.Net项目的部署到Linux中(Linux + Jexus+Nginx )

    因为老项目用的Asp.Net Web API技术开发部署到Window系统上,而新项目用的是.Net Core部署到Ubuntu系统中,所以在管理切换上有些不便.于是决定将老项目的测试服部署到Ubun ...

  10. 基于Linux的Samba开源共享解决方案测试(一)

    转自http://blog.csdn.net/u013394982/article/details/17914429 Linux操作系统 Linux是一类Unix计算机操作系统的统称.Linux操作系 ...

随机推荐

  1. Linux网络安全篇,进入SELinux的世界(二)

    一.简单的网页制作 1.启动httpd服务 /etc/init.d/httpd start 2.编写首页网页文件 echo "hello,this is my first webPage&q ...

  2. .bundle文件如何安装

    1. sudo chmod +x X.bundle 2. sudo X.bundle

  3. vue实现首屏加载等待动画 避免首次加载白屏尴尬

    0 直接上效果图 1背景,用户体验良好一直是个重要的问题. 2怎么加到自己项目里面? 复制css html代码到自己的index.html即可 代码链接 源码地址 Vue学习前端群493671066, ...

  4. SQL基础系列(1)-基本语法--转载w3school

    1.    建原始表 USE [Northwind] GO /****** Object:  Table [dbo].[Persons]    Script Date: 2016/6/8 7:31:5 ...

  5. python3(三十一)metaclass

    """ """ __author__ = 'shaozhiqi' # 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而 ...

  6. ConcurrentHashMap 同步安全 的真正含义(stringbuff 是同步安全的,stringbutter 不安全)

    同步安全的集合,在多线程下用到这个map是安全的,但这个安全指的是什么?线程安全指的是指get.remove.put等操作时即同一对象,同一时间只有一个线程能在这几个方法上运行,也就是说线程安全是在这 ...

  7. Python财经数据接口包TuShare的使用

    安装TuShare 方式1:pip install tushare 方式2:访问https://pypi.python.org/pypi/tushare/下载安装 方式3:将源代码下载到本地pytho ...

  8. PDF阅读器

    1.SumatraPDF 非常小巧,打开很轻快 2.PDF Reader by Xodo window商店中可以找到,很好用 3. PDFXChange Editor这是我迄今为止见过的最好的PDF编 ...

  9. 安装Mathmatica

    MathMatica11.3版本 链接:https://pan.baidu.com/s/1YzQdgz4HxHd_xNwKoMX7lQ 提取码:mnr5 破解文件 链接:https://pan.bai ...

  10. Delphi TMemo 可以显示、编辑多行文本

    多行编辑框组件(TMemo)TMemo组件可以显示.编辑多行文本,是一个标准的Windows多行编辑组件.对一些比较多的文本内容可以利用TMemo组件来显示.编辑. 1.TMemo组件的典型用法 TM ...