一、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 //编辑配置文件

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://pan.baidu.com/s/1qYfM7Ha

cd /usr/local/src
这里我上传百度网盘了 。也可以直接百度 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

安装完毕之后查看一下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/

完毕~!

CentOs下 SVN版本控制的安装(包括yum与非yum)的更多相关文章

  1. CentOS下 SVN版本控制的安装(包括yum与非yum)的步骤记录。

    一.yum安装 rpm -qa subversion //检查是否安装了低版本的SVN yum remove subversion //如果存储旧版本,卸载旧版本SVN 开始安装 yum -y ins ...

  2. CentOS下Samba文件服务器的安装与配置

    CentOS下Samba文件服务器的安装与配置 http://blog.csdn.net/limingzhong198/article/details/22064801 一.安装配置 1. 安装sam ...

  3. CentOS下redis集群安装

    环境: 一台CentOS虚拟机上部署六个节点,创建3个master,3个slave节点 1.下载并解压 cd /root wget http://download.redis.io/releases/ ...

  4. centos下卸载OpenJDK 并安装sun的jdk

    centos下卸载OpenJDK 并安装sun的jdk 第一步:查看并卸载CentOS自带的OpenJDK 安装好的CentOS会自带OpenJdk,用命令 java -version ,我这里显示下 ...

  5. centos下svn的主要常用命令(解决商城系统添加的文件无法自动更新至svn服务器)

    问题描述: 在商城中通过网页上传的png文件无法自动添加到版本库中. 查找过程: 通过程序分析,增加的主要是数据文件,主要分布在data目录中. svn list /home/ggg --depth= ...

  6. Centos下MongoDB数据库的安装以及配置开机自启动(三)

    最近写了一个用node来操作MongoDB完成增.删.改.查.排序.分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333. 在服务器上完全可以用yum来安装管 ...

  7. centos 下 Qt Creator 的安装使用

    centos 下 Qt Creator 的安装使用 Qt 以其开源,免费,完全面向对象(很容易扩展),允许真正的组件编程以及可移植跨平台等诸多优势得到越来越多的开发人员的青睐.Qt Creator 是 ...

  8. CentOS下SVN服务的启动与关闭

    CentOS下SVN服务的启动与关闭 操作系统:CentOS 6.5  SVN版本:1.8.11 启动SVN服务:  svnserve -d -r /home/svn /home/svn 为版本库的根 ...

  9. Centos下SVN环境部署记录

    大多数情况下,我们日常工作中用的版本控制系统都会选择分布式的Git,它相比于集中式的SVN有很多优势.但是有些项目软件基于自身限制,可能只支持SVN做工程同步.废话就不多说了,下面记录下SVN的部署和 ...

随机推荐

  1. cookie sessionStorage localStorage 之间的关系

    先说一个cookie 因为HTTP是无状态的 所以cookie诞生 用于保存会话信息 大小 4096b 一般在4095b以内 数量限制 20 -50 根据浏览器不同 操作的是一个字符串 可以设置参数 ...

  2. awk匹配某一段内容,打印第一段

    要求: awk 文本在文本中搜索abc搜到后再从搜到的那一行开始一直输出后面的行,直到某一行含有bcd就停止 测试文本: [root@localhost]# cat awktest sadfj sdj ...

  3. Jetson TX2安装固态硬盘(原创)

    SSD on Jetson TX2 注意事项:在断电情况下,将固态硬盘的接线与Jetson TX2进行连接 步骤: 一.jetson tx2开机,打开搜索栏中的Disks 二.Disks显示画面 三. ...

  4. VS 2017 发布:由于构建错误,发布失败

    用17写AspNetCore 也一年了,最近出现了这个问题 : 在点击发布的时候 报错了,构建失败的问题,刚开始还排查日子,删除以往的发布遗留痕迹,后来发现不行, 但是项目在本地运行的时候是好使的,生 ...

  5. Spring常用注解简析

    1. Autowired 自动装配,其作用是为了消除代码Java代码里面的getter/setter与bean属性中的property.当然,getter看个人需求,如果私有属性需要对外提供的话,应当 ...

  6. OpenStack和Hadoop的区别

    其实,OpenStack和Hadoop不是同一个层次的东西,无法比较,非要说出个区别,那就是:OpenStack是云计算管理平台,应该是属于系统级别的软件,它的主体思想是把资源进行分离,给不同的用户提 ...

  7. 给php加速安装APC

    说明:APC-3.1.13 适应于 php-5.4.27 下载: wget http://blog.xinfilm.com/softdir/APC-3.1.13.tgz tar -zxvf APC-3 ...

  8. linux下网卡相关查看设置

    查整机硬件信息命令dmesg 查看网卡设备相关dmesg | grep eth 查看网卡eth0信息dmesg | grep eth0 使用ethtool命令查看指定网卡信息ethtool eth0 ...

  9. 好用的开源库(二)——uCrop 图片裁剪

    最近想要实现图片裁剪的功能,在Github上找到了这个uCrop,star的人挺多的,便是决定入坑,结果长达一个小时的看资料+摸索,终于是在项目中实现了图片裁剪的功能,今天便是来介绍一下uCrop的使 ...

  10. 使用json文件给es中导入数据

    使用json文件可以给es中导入数据,10万条左右的数据可以一次导入,数量太大时导入就会报错.大数量的到导入还是需要用bulk方式. accounts.json文件格式如下: {"index ...