CentOS下 SVN版本控制的安装(包括yum与非yum)的步骤记录。
一、yum安装
rpm -qa subversion //检查是否安装了低版本的SVN
yum remove subversion //如果存储旧版本,卸载旧版本SVN
开始安装
yum -y install subversion
svnserve --version //查看版本
创建版本仓库
mkdir -p /data/svn/project
svnadmin create /data/svn/project/
查看/data/svn/project 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
配置权限
cd /data/svn/project/conf/ //进入配置目录
vim svnserve.conf //编辑配置文件
在客户端访问subversion版本库时出现这个错误:
svnserve.conf:12: Option expected
为什么会出现这个错误呢,就是因为subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件,如
### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository. (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)
### Visit http://subversion.tigris.org/ for more information.
[general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write", "read",
### and "none". The sample settings below are the defaults.
anon-access = read
auth-access = write
像上面的配置文件中,anon-access是顶行的,没问题,而auth-access就存在前置空格,会导致这个错误。
要避免出现这个错误,应该在去掉这些行前的#时,也要顺手去掉前面的空格
vim passwd //编辑密码文件
vim authz
举例:
[groups]
project_p = pm
project_s = server1,server2,server3
project_c = client1,client2,client3
project_t = test1,test1,test1
[project:/]
@project_p = rw
* =
[project:/server]
@project_p = rw
@project_s = rw
* =
[project:/client]
@project_p = rw
@project_c = rw
* =
[project:/doc]
@project_p = rw
@project_s = r
@project_c = r
@project_t = r
* =
说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,
rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。
这个很重要,一定要加上!
配置防火墙
vi /etc/sysconfig/iptables //配置防火墙
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -dport 3690 -j ACCEPT //加入此行代码
service iptables restart //重启防火墙
另,有开启3690端口的命令,在终端输入以下命令:
1>iptables -I INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT
2>iptables -I OUTPUT -o eth0 -p tcp --sport 3690 -j ACCEPT
然后保存:/etc/rc.d/init.d/iptables save
在看看是否已经有了3690端口的开放权限:/etc/init.d/iptables status
svnserve -d -r /data/svn/ //启动SVN
netstat -ln | grep 3690 //查看端口状态
打开本地Windows客户端检出
客户端提交文件测试
然后新创建一个WEB目录,实现修改WEB程序文件。 在这里把/data/www/作为指定WEB目录
svn co svn://127.0.0.1/project /data/www/
客户端提交了版本修改之后,在之前的公司每次都是需要执行svn update命令,而且不小心会出现开发冲突。
下面来配置SVN钩子,来实现自动更新服务器WEB目录文件
cd /data/svn/project/hooks/
vim post-commit
#!/bin/sh
export LANG=zh_CN.UTF-8
SVN=/usr/bin/svn #这里填写你的svn程序目录
WEB=/data/www/ #这里填写你的web程序目录
$SVN update $WEB --username user1 --password password123456 #客户端的用户名和密码,在svn配置文件里配置的信息
chmod 777 post-commit
最后重启svn!客户端提交测试,查看WEB目录文件自动更新成功!
二、非yum安装
wget http://subversion.tigris.org/downloads/subversion-1.6.9.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.9.tar.gz
#解压
tar zxvf subversion-1.6.9.tar.gz
tar zxvf subversion-deps-1.6.9.tar.gz
#编译
cd subversion-1.6.9
./configure --prefix=/usr/local/svn --without-berkeley-db
make
make install
安装过程中可能遇到的问题:
1、提示OpenSSL缺失
configure: error: We require OpenSSL; try --with-openssl
解决方法:编译前先安装了一个openssl即可
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.0a.tar.gz
tar -zxvf openssl-1.0.0a.tar.gz
cd openssl-1.0.0a
./config
./config -t
make depend
make
make test
make install
make test 的时候本人出现过以下错误,本人没有去理会,继续make install。
yum -y install openssl #为了放心,抱着试一试的态度,执行了yum安装命令
安装之后会在/usr/local下生成一个ssl目录,编译SVN时加上openssl路径即可
./configure --prefix=/usr/local/svn --without-berkely-db --with-openssl=/usr/local/ssl/
2、 zlib依赖缺失
configure配置SVN时可能提示如下错误信息:
configure: error: subversion requires zlib
解决办法:安装zlib
------------------------------------------分割线------------------------------------------
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2017年资料/10月/21日/CentOS下 SVN版本控制的安装(包括yum与非yum)/
下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm
------------------------------------------分割线------------------------------------------
cd /usr/local/src
这里我上传Linux公社了 。也可以直接Google下 zlib-1.2.8.tar.gz ,下载上传至指定目录即可
tar -xvzf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install
3、expat依赖缺失
configure: error: no XML parser was found: expat or libxml 2.x required
解决办法:安装expat
cd /usr/local/src
wget http://nchc.dl.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz
tar -zxvf expat-2.1.0.tar.gz
cd expat-2.1.0
./configure
make
make install
再次执行
./configure --prefix=/usr/local/svn --without-berkely-db --with-openssl=/usr/local/ssl/
4、在make && make install 时出现报错
make[1]: Leaving directory `/usr/local/src/subversion-1.6.9/serf'
解决办法:添加 --without-serf 参数重新编译subversion即可:
./configure --prefix=/usr/local/svn --without-berkely-db --with-openssl=/usr/local/ssl/ --without-serf
make && make install
如果 make install 出现下面错误:
/home/upload/subversion-1.6.6/subversion/svnversion/.libs/lt-svnversion: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
make: *** [revision-install] Error 127
解决办法:
1、编辑/etc/ld.so.conf文件
vi /etc/ld.so.conf
添加下面一行代码
/usr/local/lib
2、保存后运行ldconfig:
/sbin/ldconfig
注:ld.so.conf和ldconfig用于维护系统动态链接库。
3、然后再安装
make && make install
测试是否安装成功
1
|
/usr/local/svn/bin/svnserve --version |
安装完毕之后查看一下SVN版本
/usr/local/svn/bin/svnserve --version
OK!咱的SVN都可以看到版本了,证明没问题,可以创建仓库之类的操作了。和yum配置的方式差不多,只不过有时候命令行要有所改动了,
比如yum安装之后是这样创建仓库:svnadmin create /data/svn/project/
但是在编译安装的需要指定目录了:/usr/local/svn/bin/svnadmin create /data/svn/project/
mkdir -p /data/svn/project
/usr/local/svn/bin/svnadmin create /data/svn/project/
cd /data/svn/project/
接下来的配置步骤就略了,可以参考上面yum安装的配置方式,最后启动SVN服务还是需要注意的
/usr/local/svn/bin/svnserve -d -r /data/svn/
完毕~!
Ubuntu 14.04 下搭建SVN服务器 SVN:// http://www.linuxidc.com/Linux/2015-01/111956.htm
CentOS 7下安装iF.svnadmin实现Web方式管理SVN(源码安装) http://www.linuxidc.com/Linux/2016-08/134214.htm
CentOS7.2 编译安装SVN1.9.5客户端 http://www.linuxidc.com/Linux/2017-03/141387.htm
SVN 服务器搭建步骤及使用实战 http://www.linuxidc.com/Linux/2017-01/139282.htm
CentOS 7下搭建配置SVN服务器 http://www.linuxidc.com/Linux/2017-05/144254.htm
CentOS 7.2下Nginx+MySQL+PHP-FPM+SVN配置Walle自动化部署系统详解 http://www.linuxidc.com/Linux/2016-11/137703.htm
基于腾讯CentOS 7云服务器搭建SVN版本控制库 http://www.linuxidc.com/Linux/2017-05/144244.htm
CentOS 7.1 下SVN安装与配置 http://www.linuxidc.com/Linux/2016-12/138637.htm
CentOS 6.8 搭建SVN(版本控制系统)及SVN的使用 http://www.linuxidc.com/Linux/2017-04/143093.htm
Subversion (SVN) 的详细介绍:请点这里
Subversion (SVN) 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/147871.htm
CentOS下 SVN版本控制的安装(包括yum与非yum)的步骤记录。的更多相关文章
- CentOs下 SVN版本控制的安装(包括yum与非yum)
一.yum安装 rpm -qa subversion //检查是否安装了低版本的SVN yum remove subversion //如果存储旧版本,卸载旧版本SVN 开始安装 yum -y ins ...
- CentOS下Samba文件服务器的安装与配置
CentOS下Samba文件服务器的安装与配置 http://blog.csdn.net/limingzhong198/article/details/22064801 一.安装配置 1. 安装sam ...
- CentOS下redis集群安装
环境: 一台CentOS虚拟机上部署六个节点,创建3个master,3个slave节点 1.下载并解压 cd /root wget http://download.redis.io/releases/ ...
- centos下卸载OpenJDK 并安装sun的jdk
centos下卸载OpenJDK 并安装sun的jdk 第一步:查看并卸载CentOS自带的OpenJDK 安装好的CentOS会自带OpenJdk,用命令 java -version ,我这里显示下 ...
- centos下svn的主要常用命令(解决商城系统添加的文件无法自动更新至svn服务器)
问题描述: 在商城中通过网页上传的png文件无法自动添加到版本库中. 查找过程: 通过程序分析,增加的主要是数据文件,主要分布在data目录中. svn list /home/ggg --depth= ...
- Centos下MongoDB数据库的安装以及配置开机自启动(三)
最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. 在服务器上完全可以用yum来安装管 ...
- centos 下 Qt Creator 的安装使用
centos 下 Qt Creator 的安装使用 Qt 以其开源,免费,完全面向对象(很容易扩展),允许真正的组件编程以及可移植跨平台等诸多优势得到越来越多的开发人员的青睐.Qt Creator 是 ...
- CentOS下SVN服务的启动与关闭
CentOS下SVN服务的启动与关闭 操作系统:CentOS 6.5 SVN版本:1.8.11 启动SVN服务: svnserve -d -r /home/svn /home/svn 为版本库的根 ...
- Centos下SVN环境部署记录
大多数情况下,我们日常工作中用的版本控制系统都会选择分布式的Git,它相比于集中式的SVN有很多优势.但是有些项目软件基于自身限制,可能只支持SVN做工程同步.废话就不多说了,下面记录下SVN的部署和 ...
随机推荐
- IDEA打印gc日志,设置JVM参数方法
打印gc日志 1.对指定运行程序输出GC日志: 点击edit configurations... 在vm options处加入-XX:+PrintGCDetails 测试:代码调用system.gc后 ...
- JavaScript 基础六 'use strict'严格模式下的规则
why 严格模式 [1] 消除js语法的一些不合理.不严谨.不安全问题,减少怪异行为并保证代码运行安全 [2] 提高编译器效率,增加运行速度 使用 [1]整个脚本启用严格模式,在顶部执行:" ...
- 常见RPC开源框架
什么是rpc框架先回答第一个问题:什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call) 那什么是远程调用?通常我们调用一个php中的方法,比如这样 ...
- phpcms V9首页、列表页以及内容页调用标签
1.页面标题:{$title} 2.发表时间:{$inputtime} 3.内容来源:{$copyfrom} 4.文章内容:{$content} 5.缩略图地址:{$thumb} 6.组图列表: {l ...
- (三)微信小程序首页的分类功能和搜索功能的实现笔记
就在昨天,微信宣布了微信小程序开发者工具新增“云开发”功能 下载最新的开发者工具,现在无需服务器即可实现小程序的快速迭代! 分类功能和搜索功能的效果图 1.首页分类功能的实现 boxtwo方法(.js ...
- mapState
store.js import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = new Vuex.Store({ ...
- A Boring Problem UVALive - 7676 (二项式定理+前缀和)
题目链接: I - A Boring Problem UVALive - 7676 题目大意:就是求给定的式子. 学习的网址:https://blog.csdn.net/weixin_37517391 ...
- 帆软报表(finereport) 复选框多值查询
定义数据集 SELECT * FROM 库存 设计模板 设置控件:控件名称 XX 要与 单元格中 取值公式 =$XX 对应,控件值可更改 下拉复选框控件: 设置控件名称(与模板中=$选仓库 ...
- Mysql -- 数据类型(2)
掌握char类型和varchar类型 掌握枚举类型和集合类型 字符类型 #官网:https://dev.mysql.com/doc/refman/5.7/en/char.html #注意:char和v ...
- Spring MVC详解
Spring MVC 教程,快速入门,深入分析 资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf SpringMVC核心配置文件示例.rar 目录 一.前言二.spring ...