最近上头安排了帮客户安装svn服务器,用了两种方式安装,yum命令安装,快速简洁容易上手,但是源码安装就比较繁琐,两种方式都试了一下,yum命令基本一个多小时就安装完了,但是源码安装弄了我两天的时间,比较蛋疼,看了网上很多的博文,踩了很多坑,最后也安装成功了,所就分享给有需要的人。
一、环境说明
操作系统:CentoS 7
Subversion版本:1.8.15
二、SVN安装

2.1 Subversion源码下载
下载地址:http://subversion.apache.org/download
选择版本:subversion-1.8.15.tar.gz (注,本文将所有安装过程需要的文件保存在/usr/local/java/svn目录下)

2.2 解压安装Subversion

#cd /usr/local/java/svn
#tar -zxvf subversion-1.8.15.tar.gz
#cd subversion-1.8.15
#./configure --prefix=/usr/local/subversion

2.3 configure: error: no suitable APRUTIL found
configure: WARNING: APR not found
The Apache Portable Runtime (APR) library cannot be found.
Please install APR on this system and configure Subversion
with the appropriate --with-apr option.
You probably need to do something similar with the Apache
Portable Runtime Utility (APRUTIL) library and then configure
Subversion with both the --with-apr and --with-apr-util options.
configure: error: no suitable APR found
搜索后发现缺乏apr和apr-util两个依赖包。
2.4 安装apr与apr-util
(以下的依赖软件包都传到/usr/local/java/svn/dependPackage/下,并且在这个目录下解压)
2.4.1 下载apr与apr-util
下载地址:http://apr.apache.org/
下载版本:apr-1.5.2.tar.gz apr-util-1.6.1.tar.gz
2.4.2 安装apr

#cd /usr/local/java/svn/dependPackage
#tar -zxvf apr-1.5.2.tar.gz
#cd apr-1.5.2
#./configure --prefix=/usr/local/apr

出现这个提示:cannot remove libtoolT’: No such file or directory 解决方案:编辑 configure文件,查找 $RM "$cfgfile" 这个地方,用#注释掉,然后重新编译安装就可以了。 ¨G2G **2.4.3 安装apr-util** ¨G3G **2.5 重新配置subversion(每次重新配置都要回到subversion-1.8.15目录下)** ¨G4G **2.5.1 出现提示:configure: error: Subversion requires SQLite 说明缺乏sqlite依赖包** 解决方案: get the sqlite 3.7.15.1 amalgamation from:http://www.sqlite.org/sqlite-amalgamation-3071501.zipunpack the archive using unzip and rename the resultingdirectory to:/RNA-data/software/S01_utilize/subversion-1.8.11/sqlite-amalgamation 下载sqlite-amalgamation-3071501.zip通过unzip解压到subversion-1.8.15/sqlite-amalgamation目录下 ¨G5G 再次配置subversion **2.5.2 出现提示:configure: error: subversion requires zlib** 解决方案:从http://zlib.net/下载zlib-1.2.8.tar.gz,并安装到/usr/local/zlib目录。 ¨G6G **2.6 重新配置subversion** ¨G7G **三、配置环境变量** 通过修改profile文件设置环境变量 ¨K13K ¨G8G ¨G9G **四、测试安装是否成功** ¨K14K ¨G10G 出现版本信息则安装subversion成功。 **五SVN版本库的建立** A.我选择的目录是 /home/svn/作为SVN版本库的根目录,命令为: ¨K24K B.比如,现在我有一个名为“project”的项目需要用SVN做版本管理,那么我可以在svn根目录下建立一个 /project目录,我最终目的想让项目托管到/project目录下。接下来我需要新建这个目录:/home/svn/project ,命令为: ¨K25K C.然后需要将/project目录设定为版本库,命令如下: ¨K26K D.设定/project目录为版本库后,会发现/project目录下会多出以下文件: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190717094414390.png) **六、配置svn信息** 输入 ¨K27K conf下有如下文件 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190717094617225.png) authz:负责账号权限的管理,控制账号是否读写权限 passwd:负责账号和密码的用户名单管理 svnserve.conf:svn服务器配置文件 vim authz`
配置如下

在这里插入图片描述
[/]代表根目录下所有的资源,如果要限定资源,可以加上子目录即可
xiaotongxue为客户端链接账号 rw表示赋予此账号可读写的权限

vim passwd

在这里插入图片描述

vi svnserve.conf

在这里插入图片描述
配置信息解释如下:

匿名访问的权限,可以是read,write,none,默认为read

anon-access=none

使授权用户有写权限

auth-access=write

密码数据库的路径

password-db=passwd

访问控制文件

authz-db=authz

认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字

realm=/var/svn/svnrepos

开启默认3690端口

firewall-cmd --zone=public --add-port=3690/tcp --permanent
firewall-cmd --reload #重启防火墙

启动svn

svnserve -d -r /var/svn/svnrepos

输入

ps -aux|grep svn

查看,可以发现启动成功

在这里插入图片描述

客户端访问svn服务器

右键checkout,输入地址:svn://192.168.137.128:3690/svn-test
输入密码

在这里插入图片描述
确认,连接成功,并在本地生成svn-test版本库,之后将本地项目放到svn-test,commit提交成功,svn已经能正常使用

更多资源和教程请关注公众号:非科班的科班。
如果觉得我写的还可以请给个赞,谢谢大家,你的鼓励是我创作的动力

最后分享一波java的资源,资源包括java从入门到开发的全套视频,以及java的26个项目,资源比较大,大小大概是290g左右,链接容易失效,获取的方式是关注公众号:非科班的科班,让后回复:java项目即可获得,祝大家学习愉快

Centos 7中安装svn服务器,史上最详细的更多相关文章

  1. 在CentOS 7中安装nginx服务器

    简要地介绍一下,如何在CentOS 7中安装nginx服务器  下载对应当前系统版本的nginx包(package) # wget  http://nginx.org/packages/centos/ ...

  2. 在CentOS 7中安装Jetty服务器

    Jetty 是一款纯Java的HTTP (Web) 服务器和Java Servlet容器. 通常在更大的网络框架中,Jetty经常用于设备间的通信,而其他Web服务器通常给"人类" ...

  3. CentOS 6.5系统上安装SVN服务器

    有效地管理源代码的方式是使用工具去帮助我们管理 , SVN(Subversion)就是目前主流的源代码管理工具 , 也称为版本控制工具. 本文主要介绍CentOS6.5上安装SVN服务器,配置SVN服 ...

  4. CentOS安装SVN服务器

    Step1:安装svn服务器 $ yum install subversion Step2:创建SVN版本库目录 $ mkdir /workplace/svnrepos Step3:创建版本库 $ s ...

  5. Linux(Centos)下搭建SVN服务器

    鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人,本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结! /******开始***** ...

  6. 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用

    史上最详细Windows版本搭建安装React Native环境配置   2016/01/29 |  React Native技术文章 |  Sky丶清|  95条评论 |  33530 views ...

  7. 在Eclipse中安装SVN客户端插件

    在Eclipse中安装SVN客户端插件 1.1  Eclipse插件应用市场 在Eclipse中访问Eclipse Marketplace Client可以搜索Subversion,下载插件,按提示安 ...

  8. CentOS 6.2 安装vsftpd 服务器(转)

    CentOS 6.2 安装vsftpd 服务器 本人的CentOS 6.2是安装在win 2008 R2 server 的 Hyper-V 虚拟机中.centos使用光盘安装,以最小模式安装,完成后用 ...

  9. centos 7 中安装 mysql 5.7

    centos 7 中安装 mysql 5.7 环境说明: 查看centos的版本:cat /etc/redhat-release 安装和配置步骤: 下载 mysql 源安装包: sudo curl - ...

随机推荐

  1. leetcode 1301. 最大得分的路径数目

    地址 https://leetcode-cn.com/problems/number-of-paths-with-max-score/ 给你一个正方形字符数组 board ,你从数组最右下方的字符 ' ...

  2. 0013 CSS复合选择器:后代、子代、交集、并集、超链接伪类

    重点: 复合选择器 后代选择器 并集选择器 标签显示模式 CSS背景 背景位置 CSS三大特性 优先级 1. CSS复合选择器 目标 理解 理解css复合选择器分别的应用场景 应用 使用后代选择器给元 ...

  3. Java线程的生命周期与状态流转

    上图是一个线程的生命周期状态流转图,很清楚的描绘了一个线程从创建到终止的过程. 这些状态的枚举值都定义在java.lang.Thread.State下 NEW:毫无疑问表示的是刚创建的线程,还没有开始 ...

  4. 深度兴趣网络DIN-SIEN-DSIN

    看看阿里如何在淘宝做推荐,实现"一人千物千面"的用户多样化兴趣推荐,首先总结下DIN.DIEN.DSIN: 传统深度学习在推荐就是稀疏到embedding编码,变成稠密向量,喂给N ...

  5. JDBC 详解笔记

    # JDBC ## 1:What? 通过Java代码来操作数据库的. 数据库的种类很多,导致不同的数据库的操作方式是不同. 通过JDBC的标准完成.通过java语言完成对于数据库的CRUD. ## 2 ...

  6. IDEA启动报错Internal error. Please report to http://jb.gg/ide/critical-startup-errors java.lang.NoClassDefFoundError: org/eclipse/xtext/xbase/lib/Exceptions

    报错内容: IDEA 启动报错 Internal error. Please report to http://jb.gg/ide/critical-startup-errors 报错图为: 我尝试找 ...

  7. EF 学习系列二 数据库表的创建和表关系配置(Fluent API、Data Annotations、约定)

    上一篇写了<Entity Farmework领域建模方式 3种编程方式>,现在就Code First 继续学习 1.数据库表的创建 新建一个MVC的项目,在引用右击管理NuGet程序包,点 ...

  8. spring boot集成jsp

    我们在使用spring boot进行web项目开发的时候,可能会选择页面用jsp.spring boot默认使用的html的,现在我们来看下如何集成jsp页面进行开发. 1.pom.xml文件引入所需 ...

  9. C#实现文件Move操作和文件的Copy操作

    文件移动(Move)操作和文件的复制(Copy)是C#程式开发经常遇到的方法,根据传入的源文件地址和目标文件地址参数,实现对文件的操作.实现代码如下: Move操作代码: public static ...

  10. # 曹工说Spring Boot源码(10)-- Spring解析xml文件,到底从中得到了什么(context:annotation-config 解析)

    写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...