官网下载: http://subversion.apache.org/packages.html

SVN客户端:TortoiseSVN :https://tortoisesvn.net/downloads.html

 

查看系统下有没有安装过老版本的svn:rpm -qa subversion,如果没安装过则什么都不显示

如果有老版本先运行一下yum -y  remove subversion,删除老版本。

第一步:通过yum命令安装svnserve,命令:yum -y install subversion

此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行

若需查看svn安装位置,可以用命令:rpm -ql subversion

第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置,subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里):mkdir /var/svn/svnrepos

第三步:创建svn版本库

在第二步建立的路径基础上,创建版本库:svnadmin create /var/svn/test(test为目录(项目或版本库)名称,后面checkout项目时会用到。)

创建成功后,进入test目录下,可以看见如下文件信息:cd /var/svn/test

conf:是这个仓库配置文件(仓库用户访问账户,权限)

format:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号

hooks:放置hook脚步文件的目录

locks:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

第四步:配置修改

进入conf,conf目录下,一共存放三份重要的配置文件,如下:

authz:负责账号权限的管理,控制账号是否读写权限

passwd:负责账号和密码的用户名单管理

svnserve.conf:svn服务器配置文件

修改svnserve.conf:vim svnserve.conf

原始文件内容,都被注释掉的,我们只需要去掉指定内容前注释即可,如下:

[general]

anon-access = none                #控制非鉴权用户访问版本库的权限

auth-access = write                 #控制鉴权用户访问版本库的权限

password-db = passwd           #指定用户名口令文件名,即访问时要输用户名和密码

realm = test                    #指定版本库的认证域,即在登录时提示的认证域名称,改成自己的版本库

修改authz文件信息:vim authz

在文件内容的末尾,添加如下:

rw表示赋予此账号可读写的权限,r为读,w为写,注意[/]中的斜杠,这里如果斜杠反了,authz-db = authz 一直会提示“认证失败”

第一种方式:单个添加:

# 按账号分权限

[test/]

admin = rw

test = r

第二种方式(后面采用此方式配置):用户分组,再设权限

[groups]
# 按用户组分权限
admin = admin,admin1 # admin为用户组,等号之后的为用户
test = test1, test2 # test为用户组,等号之后的为用户

[/] # 表示svn仓库目录(/var/svn/test),test: 对应前面配置的realm = test
@admin = rw # 表示admin组对仓库(/var/svn/test)目录有读写权限,r为读,w为写
@test = r # 表示test组的用户对对仓库(/var/svn/test)目录只有读的权限

[/test1] # 表示test1目录(/var/svn/test/test1)
@test = rw # 表示test组对test1目录有读写权限
* =

备注:版本库的目录格式如下:

[<版本库>:/项目/目录]

@<用户组名> = 权限

<用户名> = 权限

其中[]內容有許多写法:

[/],表示根目录及其一下的路径,根目录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表示对全部版本设置的权限

[test:/],表示对版本库test设置权限;

[test:/svnadmin],表示对版本库test中的svnadmin项目设置权限;

[test:/svnadmin/second],表示对版本库test中的svnadmin项目的目录设置权限;

权限的主体可以是用户组,用户或者*,用户组在前面要以@开头,*表示全部用户

权限分为:r ,w, rw和null ,null空表示没有任何权限。

auhtz配置文件中的每个参数,开头不能有空格,对于组要以@开头,用户不需要。

 

修改passwd文件信息vim passwd

直接将账号和密码信息追加到文件中即可,格式为:账号 = 密码,这里上面如果是设的分组,仍需设置每个角色对应的密码

例如:admin = 123@qwe

到此,配置已经全部完成,账号信息已经添加成功

更改svnserver.conf时需要重启SVN服务才生效,更改authz,passwd文件时则不需要重启服务

第五步:防火墙开启

多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题

配置防火墙端口

首先要明确CentOS7的默认防火墙为firewallD。subversion的默认端口为3690,如果没有打开会报错:

1: sudo firewall-cmd --permanent --add-service=telnet
2: sudo firewall-cmd --permanent --add-port=3690/tcp
3: sudo firewall-cmd --reload

centOS 7 防火墙开启、关闭与查看状态:
systemctl start firewalld
systemctl stop firewalld
systemctl status firewalld

出现以下情况则代表防火墙没启动用systemctl status firewalld查看防火墙状态

启动防火墙

配置

六:启动svn服务器

# -d : 守护进程  -r : svn数据根目录

svnserve -dr /var/svn            #用root权限启动

查看SVN服务:

ps aux|grep svnserve               #默认端口为:3690

设置开机启动

在centos7, 设置开机启动:

sudo systemctl enable svnserve.service  #注意:根目录必须是/var/svn 这样才能设置成功!!

设置开机启动后就可以按下面的方式开启或停止服务了

systemctl start svnserve.service

systemctl stop svnserve.service

7:检出项目
进入windows 检出项目 地址栏输入 svn://项目ip:3690/test 
项目ip可以通过 ip addr 或者 ifconfig 查看 inet,test 为当初建立的SVN版本库 可以从上文寻找

注释掉:authz-db = authz

再次检出(admin,有读写权限)

在检出目录下新建个文档提交,成功

清除SVN记录的账号信息:SVN设置_已保存数据_清除

如果报这样的错:svn: E204900: Can't open file '/var/svn/wangwa/format': Permission denied的错误。那就是与SELinux有关系,这里有两种处理方式:

1、把SELinux关闭

  临时关闭:sudo setenforce 0

  永久关闭:sudo vim /etc/sysconfig/selinux

  修改:SELINUX = disable               #值修改为disable.

2、svn与SElinux的设置(未测试)

  [root@localhost root]# chcon -R --reference=/var/svn /var/svn

  [root@localhost root]# restorecon -v -R /var/svn

 

异常及解决:

如果提示:svnserve: Root path '/var/svn' does not exist or is not a directory.目录不存在

修改etc/sysconfig/svnserve配置文件将OPTIONS="-r /var/svn"改成自己的svndata目录 如"-r/svndata/test"

如果提示:svnserve: E000098: Can't bind server socket: Address already in use 端口被占用

先用命令 >netstat -ntlp列出所有端口占用情况,找到端口3690的PID,结束掉些进程: kill PID号;再启动

Linux下安装SVN与使用相关推荐

  1. linux 安装 svn client,Linux下安装svn client

    最简单的方式就是 yum install subversion Linux下安装svn client 仅安装 svn 的client: 1.下载软件 q s(h k�v;B _.O v;o wgeth ...

  2. Linux下安装SVN工具和连接svn

    Linux下SVN的安装 1.安装 确保linux上没有安装subversion find / -name subversion 如果没有安装的话是空白的,有安装的话就可以新建版本库了 svn使用的端 ...

  3. linux下安装svn服务

    我的linux版本为centos 7.6,以此版本为例,进行svn服务的安装. 一.确认系统中是否已经安装svn,避免重复安装 svnservice --version 二.使用yum安装,一路确认即 ...

  4. linux下安装svn并使用svn拉取项目

    一.安装svn,运行命令:apt-get install subversion 安装好后运行svn -version看看是否安装成功. 二.拉取项目,在自己的项目根目录运行命令:svn checkou ...

  5. Linux下安装SVN服务端

    第一步:检查是否安装 使用版本查看检查svn是否已经安装过,如果反馈版本则已经安装过就不需要再次安装,如没有反馈版本信息则可通过yum安装软件. [root@localhost /]# svnserv ...

  6. linux下安装svn

    下面是通过网上的资源与自己遇到的些问题合并而成的安装步骤: 1.下载subversion和apache的最新src包 2. 新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作 #g ...

  7. linux没有桌面安装svn,Linux下安装SVN简单教程

    安装 使用yum安装非常简单: yum install subversion 配置 2.1. 创建仓库 我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下 ...

  8. 开发基础 - Linux下安装SVN服务端

    第一步:检查是否安装 使用版本查看检查svn是否已经安装过,如果反馈版本则已经安装过就不需要再次安装,如没有反馈版本信息则可通过yum安装软件. [root@localhost /]# svnserv ...

  9. Linux下安装SVN服务端的方法步骤

    一.yum 安装 yum install subversion 若需查看svn安装位置,可以用以下命令: rpm -ql subversion 二.配置 1.创建仓库 我们在/home下建立一个名为s ...

  10. Linux下安装SVN服务端小白教程

    安装 使用yum安装非常简单: yum install subversion 配置 创建仓库 我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成 ...

最新文章

  1. java mongo 日期范围_java – 在mongodb中按日期对值排序
  2. js字符串替换_浅析Vue的生命周期以及JS异步
  3. 手机python软件怎么创建项目_pycharm怎么创建项目
  4. .Net 4.X 提前用上 .Net Core 的配置模式以及热重载配置
  5. AngularJs学习笔记(四)
  6. python开源嵌入式_Neo4j 推出基于 Python 的嵌入式图数据存储
  7. 如何在VB中使用正则表达式
  8. oc的分类category
  9. 【推荐】DBA必须了解的11g中的一些变化
  10. c++ 编程规范技巧
  11. CIS Benchmarks
  12. canvas绘制五角星
  13. 小器件,大作用-光纤环形器在光纤传输中的应用
  14. linux打开nginx配置文件,【linux】systemctl启动nginx没有加载nginx.conf配置文件?
  15. ansible-playbook 远程启动程序ansible结束后程序也被关闭
  16. keytool 错误: java.io.IOException: Keystore was tampered with, or password was incorrect----gt;解决方法
  17. LAMMPS+Gaussian专题
  18. java 导出压缩文件,里面文件名字乱码的问题(麒麟系统,linux)
  19. UGUI源码解析——ContentSizeFitter
  20. (CSP2019·J T4)加工零件【spfa】【最短路】

热门文章

  1. 昔我往矣,杨柳依依,今我来思,雨雪霏霏
  2. Windows下如何打开CSV文件
  3. vscode 折叠所有区域代码快捷键
  4. 化繁为简,远光天擎助你一键云部署
  5. Oracle数据库语句大全
  6. CocosCreator第一个小游戏范例总结
  7. 玩客云armbian挂载硬盘
  8. Java中hash算法细述
  9. php 微信公共平台开发
  10. 计算机网络基础——CS架构与BS架构、OSI七层协议、tcp/ip五层模型讲解