操作环境:CentOS 7.2 64位

第一种:采用压缩包安装:比如你们公司服务器上安装软件有自己的规定,一般会采用压缩包安装。

第一步:SVN服务器端压缩包下载

下载地址:http://mirrors.cnnic.cn/apache/subversion/

我下载的是subversion-1.8.19版本,下载好的压缩包置于目录 /usr/local/java/svn 下(根据大家实际需要自行选择存放目录)。

第二步:解压,进入解压后的文件

在/usr/local/java/svn目录下执行下面两个命令:

[]# tar -zxvf subversion-1.8.15.tar.gz

[]#cd subversion-1.8.19/

第三步:编译并安装

A.在/usr/local/java/svn/subversion-1.8.19目录下执行下面命令:

先执行命令:# ./configure,看看有没有报错,

(1)如果没有报错则跳过下面的B步骤;

(2)如果有报错则看下面的B步骤安装依赖包,每安装完一个依赖包,就要在# ./configure 命令后面追加 --with参数并再次运行加了with参数的configure命令。

如果我只安了一个apr依赖包,那么就执行命令:
[]#./configure --with-apr=/usr/local/apr命令;
如果我安了apr和apr-util,那么就执行命令:
[]#./configure --with-apr=/usr/local/apr
–with-apr-util=/usr/local/apr 命令;

如果下面的依赖包全安了,就执行下面的命令:

[]#./configure --with-apr=/usr/local/apr
–with-apr-util=/usr/local/apr
–with-serf=/usr/local/serf
–with-openssl

B.如果报错,提示缺少某某依赖包,缺什么就在此步B中找到相应依赖包下载下来放到/usr/local/java/svn/dependPackage目录下,解压并安装。:

1、 缺少apr模块(1.5.1)
官网URL:http://apr.apache.org/
安装命令:
[]# tar zxvf apr-1.5.1.tar.gz
[]# cd apr-1.5.1
[]# ./configure --with-apr=/usr/local/apr
[]# make && make install
2、 缺少apr-util模块(1.6.1)
官网URL:http://apr.apache.org/
安装命令:
[]# tar zxvf apr-util-1.6.1.tar.gz
[]# cd apr-util-1.6.1
[]# ./configure --with-apr=/usr/local/apr
[]# make && make install

3.如果报错:fatal error: expat.h: No such file or directory
解决方法如下:
yum install expat-devel

4、 sqlite-amalgamation-3230100
官网URL:http://www.sqlite.org/download.html
解压到subversion目录下,解压后目录名为sqlite-amalgamation:
[]# unzip sqlite-amalgamation-3230100.zip -d …/subversion-1.8.15
[]# mv …/subversion-1.8.15/sqlite-amalgamation-3230100 …/subversion-1.8.10/sqlite-amalgamation
5、 缺少zlib模块(1.2.11)
官方网站:http://www.zlib.net/
安装命令:
[]# tar zxvf zlib-1.2.11.tar.gz
[]# cd zlib-1.2.11
[]# ./configure
[]# make && make install
6、 缺少openssl模块(1.0.1h)
官方网站:http://www.openssl.org/
安装命令:
[]# tar zxvf openssl-1.0.1h.tar.gz
[]# cd openssl-1.0.1h
[]# ./config
[]# make &&make install
7、 缺少expat模块(2.1.0)
官方网站:http://sourceforge.net/projects/expat/files/expat/2.1.0/
安装命令:
[]# tar zxvf expat-2.1.0.tar.gz
[]# cd expat-2.1.0
[]# ./configure
[]# make &&make install
8、 缺少serf模块(1.2.1)
官网URL:http://serf.googlecode.com/files/serf-1.2.1.tar.bz2
由于google官网受限,很难下载该模块。CSDN共享的下载地址:
http://download.csdn.net/detail/attagain/8071513
说明:
(1)1.8版本之前的需要加neon,1.8版本之后弃用neon而改使用serf;
(2)这里使用的是serf-1.2.1,据subversion 1.8版本使用serf-1.3.0会有异常
安装命令:
[]# tar xjvf serf-1.2.1.tar.bz2
[]# cd serf-1.2.1
[]# ./configure
[]# make && make install

C.在/usr/local/java/svn/subversion-1.8.19目录下执行下面命令:

[]# make && make install

第四步:SVN版本库的建立

A.我选择的目录是 /home/svn/作为SVN版本库的根目录,命令为:

[]# mkdir /home/svn

B.比如,现在我有一个名为“project”的项目需要用SVN做版本管理,那么我可以在svn根目录下建立一个 /project目录,我最终目的想让项目托管到/project目录下。接下来我需要新建这个目录:/home/svn/project

,命令为:
[]# mkdir -p /home/svn/project

C.然后需要将/project目录设定为版本库,命令如下:

[]# svnadmin create /home/svn/project

D.设定/project目录为版本库后,会发现/project目录下会多出以下文件:

第五步:svn服务器的相关配置:

svn的配置主要就是对conf目录下的三个文件配置:svnserve.conf、passwd、authzs。

A.对着三个配置文件的讲解

a.svnserve.conf文件讲解
[general]配置段中配置行格式: <配置项> = <值> ,常用的配置项是以下5项:

(1)anon-access控制非鉴权用户访问版本库的权限。取值范围为”write”、”read”和”none”。即”write”为可读可写,”read”为只读,”none”表示无访问权限。
缺省值:read
(2)auth-access控制鉴权用户访问版本库的权限。取值范围为”write”、”read”和”none”。即”write”为可读可写,”read”为只读,”none”表示无访问权限。
缺省值:write
(3)password-db 指定用户名口令文件名。除非指定绝对路径,否则文件位置为相对conf 目录的相对路径。
缺省值:passwd
(4)authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。除非指定绝对路径,否则文件位置为相对conf目录的相对路径。
缺省值:authz
(5)realm 指定版本库的认证域,即在登录时提示的认证域名称(就是个作为提示用的,不用太纠结)。
b.passwd文件讲解
用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的passwd。

该文件仅由一个[users]配 置段组成。
[users]配置段的配置行格式如下: <用户名> = <口令> ,注意:配置行中的口令是未经过任何处理的明文。
例:用户名口令文件conf/passwd的内容如下,配置了两个用户,用户名分别为”quanran”和”dongxuening”。其中”quanran”用户的口令为”111111”,”dongxuening”用户的口令为”222222”:
[users]
quanran = 111111
dongxuening = 222222

c.authzs文件讲解
权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的authz。
该配置文件由一个[groups]配置段和 若干个版本库路径权限段组成。

[groups]配置段中配置行格式如下:
<用户组> = <用户列表>
用户列表由若干个用户组或用户名构成,用户组或用户名之间用逗号”,”分隔,引用用户组时要使用前缀”@”(如:引用用户组”all”要使用字符 串”@all”)。

版本库路径权限段的段名格式如下:
[<版本库名>:<路径>]
如版本库abc路径/tmp的版本库路径权限段的段名为”[abc:/tmp]”。
可省略段名中的版本库名。若省略版本库名,则该版本库路径权限段对所有版本库中相同路径的访问控制都有效。如:段名为”[/tmp]”的版本库路径权限段 设置了所有引用该权限配置文件的版本库中目录”/tmp”的访问权限。

版本库路径权限段中配置行格式有如下三种:
<用户名> = <权限>
<用户组> = <权限>

  • = <权限>
    其中,”*”表示任何用户;权限的取值范围为”、’r’和’rw’,”表示对该版本库路径无任何权限,’r’表示具有只读权限,’rw’表示有读写权 限。
    注意:每行配置只能配置单个用户或用户组。

例3:权限配置文件conf/authz的内容如下:
[groups]
g_admin = admin,zhangsan

[admintools:/]
@g_admin = rw

  • =

[test:/home/zhangsan]
zhangsan = rw

  • = r

在上述配置文件中,定义了一个用户组”g_admin”,该用户组包含用户”admin”和”zhangsan”。然后定义了2个版本库路径权限段。其中, 版本库”admintools”只有用户组”g_admin”可读写,其他用户无任何权限;版本库”test”中路径”/home/zhangsan”只有 用户”zhangsan”有读写权限,其他用户只有可读权限。

B.言归正传!开始配置!

(1)配置svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
备注:vi命令编辑svnserve.conf,insert进入编辑模式,放开以上选项,ESC :wq保存。设置非鉴权用户无权访问、设置鉴权用户可读写、口令及权限配置参照conf目录下passwd和authz的配置。
重要提醒!!:首行不可以留空,要顶行,否则会造成SVN识别为配置错误。
(2)配置passwd

[users]
rokay = 123456
备注:配置了一个用户为“rokay”,密码为“123456”的用户。
(3)配置authz
[groups]
g_admin = rokay

[/]
@g_admin = rw
*=

备注:配置了一个管理员群组“g_admin”,包含用户“rokay”;
“[/]”表示对根目录“trunk”的权限配置。
配置了“g_admin”群组对于该目录下的权限为“rw“(读、写)权限。

  • = 配置了除群组”g_admin“外的其他用户均无权访问。
    注意:也可以用“,”分隔多个用户或者@+群组名称的方式配置多用户,参看上方说明。
    (4)综上,就完成了对三个文件也就是svnserve的配置了。

第六步:启动svn服务

输入命令:# svnserve -d -r /home/svn
注意:/svn目录为版本库的根目录,所以路径仅到/svn即可。

此时,SVN服务器的配置以及版本库已经建立完成!

第七步:SVN Windows客户端访问

访问地址:svn://[服务器IP地址]/[项目名称];

例如:svn://123.206.73.117/project/

输入已授权的用户信息登录即可访问资源位置。
同样的,可以通过右击项目[team]—[share],输入以上URL将项目共享至新建的SVN版本库中。

注意:上述地址中没有”/svn”这一级目录,”/svn”为版本库根目录,不用输入!!!

第八步:新建多个版本库

若要在/svn目录下添加新的版本库,直接新建相应的目录,然后设置为版本库,最后配置即可,不需要重新运行svnserve -d -r /home/svn,也不需要把该命令应用到/svn目录下你所新建的目录,如果因为误操作执行了以上命令,会导致资源库不可用,再次运行svnserve -d -r /home/svn也会报:“不能绑定服务器套接字 地址已在使用”的错误字样“(若已至此,删除掉新建的资源库,并用ps -ef | grep svnserve查看进程,kill -9 [进程号] 杀掉,重新执行svnserve -d -r /home/svn,再次新建资源库,直接配置即可使用)

比如在/svn目录下另外新建一个project2的资源库,命令如下:
[]# mkdir -p /home/svn/project2
[]# svnadmin create /home/svn/project2
:# 在次配置当前版本库的三个配置文件:svnserve.conf、passwd、authzs。
(不需再运行svnserve -d -r /home/svn !!!)

第九步:一切搞定,OK啦!

=第二种:yum安装方式。优点:简单,一键安装,不用手动配置环境变量等。缺点:安装位置为yum默认=

一、yum安装subversion

1. 安装subversion yum install subversion

2. 查看安装版本,检查安装是否成功 svnserve --version ,我装的版本为 1.7.14

3. 查看安装位置 rpm -ql subversion

二、创建版本库

1.创建用于存放版本库的目录,比如我准备在/home下创建版本库 mkdir -p /home/svn/

2.创建svn版本库,指定为刚才创建的目录 svnadmin create /home/svn/porject

3.创建完后,版本库目录下会生成一些文件,进入conf目录下。conf目录中authz文件是权限控制文件,passwd是帐号密码文件,svnserve.conf是SVN服务配置文件。

     修改svnserver.conf文件:[general]anon-access = none #匿名用户可读auth-access = write #授权用户可写password-db = passwd #使用哪个文件作为账号文件authz-db = authz #使用哪个文件作为权限文件

4.修改passwd文件,加入用户,格式就是“用户名=密码”,如:

         quanran = 11dongxuening = 22

5.修改authz文件,加入用户权限:

[/]

quanran = rw

       dongxuening = r

这就表示quanran 用户对版本库根目录有读写权限(即最高权限了),而dongxuening 用户对版本库目录只有读的权限。

6.svnserve.conf里面常用的配置有设置匿名用户(默认可读)、授权用户(默认读写)的读写权限,以及指定账号文件(默认passwd)、权限文件(默认authz)的路径等。看起来应该默认值就够了,但实际使用发现还是得手动把相关注释打开,不知道是什么原因。

7.启动svn版本库 svnserve -d -r /home/svn/

其中,-r的作用是设置根目录路径,比如我这样设置后在访问时输入svn://x.x.x.x/就会直接到我的svn目录下(当然在svn目录下是找不到版本库的),如果想访问版本库则输入svn://x.x.x.x/Code即可。

换句说话,如果启动版本库时命令为svnserve -d -r /home/svn/,则访问svn://x.x.x.x/就能直接到版本库内。

三、常见问题

1.注意打开端口的访问权限。svn服务的默认端口为3690,比如我部署在阿里云服务器上,必须先在阿里云控制台打开3690端口的外部访问权限。

2.关闭svn服务的方式是杀掉进程,kill pid或者pkill svnserve
————————————————
版权声明:以上文为CSDN博主「全冉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_23167527/article/details/80182317

解决SVN 无法连接到服务器问题

问题描述:

1、由于目标计算机积极拒绝,无法连接
2、由于连接方在一段时间后没有正确答复或连接

解决方法

1、svn 未启动,启动svn: svnserve -d -r ‘svn的仓库路径’
2、防火墙原因,开放svn端口: 添加3690端口

问题描述

报No repository found in … …错误

解决方法

1、原因是svn指定运行仓库路径错误
2、查看svn进程:ps -aux|grep svn

root     28813  0.0  0.0 166804   936 ?        Ss   11:50   0:00 svnserve -d -r /mnt/svn
root     29456  0.0  0.0 112640   960 pts/0    S+   13:14   0:00 grep --color=auto svn

如果 svnserve -d -r /mnt/svn 指定的仓库路径与实际仓库路径不匹配,杀掉该进程后重新指定正确的仓库路径
3、本人服务器实际仓库路径是 /mnt/svn/repos,杀死进程:kill -9 28813
4、重新启动SVN,指定正确SVN仓库路径:svnserve -d -r /mnt/svn/repos
5、查看svn进程:ps -aux|grep svn

root     28813  0.0  0.0 166804   936 ?        Ss   11:50   0:00 svnserve -d -r /mnt/svn/repos
root     29456  0.0  0.0 112640   960 pts/0    S+   13:14   0:00 grep --color=auto svn

访问SVN成功!
————————————————
版权声明:本文为CSDN博主「止木」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011050607/article/details/79456915

linux操作防火墙,添加服务、端口

操作防火墙,添加或删除端口,需要root权限。

  1. 查看防火墙状态:systemctl status firewalld
    active(running):开启状态,正在运行中
    inactive(dead):关闭状态,未在运行
  2. 开启防火墙:systemctl start firewalld,没有任何提示,表示开启成功
  3. 关闭防火墙:systemctl stop firewalld
  4. 添加mysql服务到防火墙,并加载
    firewall-cmd --permanent --zone=public --add-service=mysql
    firewall-cmd --reload
  5. 打开防火墙的udp 8089端口
    firewall-cmd --zone=public --add-port=8089/udp --permanent
    #添加端口(–permanent表示永久生效,没有此参数重启后失效)
    firewall-cmd --reload 这个命令必须运行,才能加载成功
  6. 查看udp 8089端口是否添加成功,查询端口开启情况
    firewall-cmd --zone=public --query-port=8089/udp
  7. 删除防火墙8086端口
    firewall-cmd --zone=public --remove-port=8086/tcp --permanent
    firewall-cmd --reload

linux安装svn服务器的两种方式(转载)相关推荐

  1. Eclipse安装SVN插件的两种方式

    登录 | 注册 收藏成功 确定 收藏失败,请重新收藏 确定 查看所有私信查看所有通知 暂没有新通知 想要绕过微信小程序开发中的坑吗?不妨来听这个,今晚8点,1小时帮你搞定! 23小时以前 CSDN日报 ...

  2. 【Linux安装和更新】两种方式更换软件源,以JDK为例安装

    文章目录 本博客以Ubuntu系统为例 一.apt工具 (一)命令修改文件 (二)手动修改文件 (三)安装JDK 1.命令安装 二.wget工具 (一)下载安装谷歌浏览器 1.下载或上传.deb文件 ...

  3. Centos7 安装 nginx 服务器的两种方式

    选用系统 Centos7 < 一 >  使用 yum 安装,该方法比较方便,如果不追求版本推荐使用 01, 添加 nginx 储存库  yum -y install epel-releas ...

  4. Linux之Ubuntu20.04安装Java JDK8的两种方式

    Linux之Ubuntu20.04远程安装Java JDK8的两种方式 安装openjdk8 更新软件包列表: sudo apt-get update 安装openjdk-8-jdk: sudo ap ...

  5. Linux安装svn服务器和权限配置_亲测成功

    Linux安装svn服务器和权限配置_亲测成功 SVN简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目 ...

  6. Linux之开机自启动服务(两种方式)

    Linux开机启动自启动脚本两种方式 先要了解一下系统启动运行级别,请看这篇文章 链接: Linux之运行级别 rc.local方式 1首先创建一个要自启动的脚本 vi /etc/scripts/cr ...

  7. linux两种方式改变文件权限,Linux更改文件权限的两种方式

    今天小编要跟大家分享一篇关于Linux更改文件权限的方式,喜欢Linux的小伙伴来看一看吧. 我们知道·Linux系统最主要的特点之一就是--Linux系统是多用户.多任务的操作系统. 何为多用户?就 ...

  8. Linux 安装SVN服务器 图解教程

    前言: 现在主流企业常见的代码管理就是SVN,GIT,此文是在自己服务器上搭建仓库,其实远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改.如GitHub就是一个免费托管开源代 ...

  9. eclipse安装SVN插件的两种方法

    参考:http://welcome66.iteye.com/blog/1845176 eclipse里安装SVN插件,一般来说,有两种方式: 直接下载SVN插件,将其解压到eclipse的对应目录里 ...

  10. Eclipse 安装 SVN 插件的两种方法

    eclipse里安装SVN插件,一般来说,有两种方式:  直接下载SVN插件,将其解压到eclipse的对应目录里 使用eclipse 里Help菜单的"Install New Softwa ...

最新文章

  1. C 回顾 volatile 和 register 修饰符
  2. android 文件下载 超简单
  3. asp2.0缓存概述
  4. SecureCRT连接CentOS阿里云,小键盘在VIM情况下,无法输入数字反而出现英文
  5. 计算机ftp怎么登陆新用户,多用户登录ftp
  6. 【c++算法刷题笔记】——洛谷1
  7. 云南计算机专修学校附中,昆明高中哪家强? 师附中和昆一中高考尖子生最多...
  8. 10g手动创建数据库
  9. bat调用ant_bat调用ant_Ant调用批处理文件编译VS2005程序
  10. java core 之 泛型
  11. 4. HTML DOM Event 对象
  12. 通过一个备份归档的脚本演示rsync限速和find如何删除文件
  13. 计算机上安装了更新ie版本,电脑ie浏览器版本过低怎么升级方法
  14. 传奇所有客户端大合集
  15. 机智的技术童鞋,你能解开这个贺岁彩蛋吗?
  16. Gnirehtet使用教程 —— 将电脑网络通过USB共享给Android 设备
  17. tensorflow学习系列
  18. java聊天室代码实训总结_java实训聊天系统报告总结
  19. 谷歌浏览器小恐龙Java实现小游戏
  20. React Native常用第三方组件汇总【建议收藏】

热门文章

  1. 如何打印被加密的PDF文件
  2. 51单片机跑马灯c语言,51单片机——跑马灯详解(示例代码)
  3. php对接易宝支付实现真实交易
  4. 操作系统概念第七章部分作业题答案
  5. 2019-C语言二级考试题库
  6. ActivityGroup简单介绍
  7. C#语言和数据库基础
  8. Java笔记(韩顺平Java基础1-2章)
  9. 《模式分类》原书(中文版)及课后习题答案(英文版)分享
  10. [BUUCTF]REVERSE——相册