CentOS 5.5下搭建部署独立SVN服务器全程详解
SVN服务器有2种运行方式:
1、独立服务器 (例如:svn://xxx.com/xxx);
2、借助apache (例如:http://svn.xxx.com/xxx);
为了不依赖apache,我选择第一种方式:独立的svn服务器。
SVN存储版本数据也有2种方式:
1、bdb;
2、fsfs。
由于bdb方式在服务器中断时,有可能锁住数据,所以还是fsfs方式更安全一点,我也选择这种方式。
具体部署:
1.下载subversion安装包
|
[root@server ~]# cd /usr/local/src |
2.编译SVN
首先检测系统有没有安装SSL:
| [root@server subversion-1.6.6]# find / -name opensslv.h [root@server subversion-1.6.6]# |
找不到,就执行如下命令进行安装:
| [root@server subversion-1.6.6]# yum install openssl [root@server subversion-1.6.6]# yum install openssl-devel |
安装之后用find / -name opensslv.h命令找到opensslv.h所在的目录,即下列--with-openssl=后面的路径,编译:
| [root@server subversion-1.6.6]# find / -name opensslv.h /usr/include/openssl/opensslv.h [root@server subversion-1.6.6]# ./configure --prefix=/usr/local/svn --with-openssl=/usr/include/openssl --without-berkeley-db |
注:以svnserve方式运行,不加apache编译参数。以fsfs格式存储版本库,不编译berkeley-db。
此时编译报如下错误:
| configure: WARNING: unrecognized options: --with-openssl configure: Configuring Subversion 1.6.6 configure: creating config.nice checking for gcc... no checking for cc... no checking for cl.exe... no configure: error: in `/usr/local/src/subversion-1.6.6': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details. |
说明没有安装gcc相关库,使用如下命令安装gcc后再编译:
| [root@server subversion-1.6.6]# yum -y install gcc [root@server subversion-1.6.6]# ./configure --prefix=/usr/local/svn --with-openssl=/usr/include/openssl --without-berkeley-db |
最后出现下面WARNING,直接忽略即可,因为不使用BDB存储。
| configure: WARNING: we have configured without BDB filesystem support You don't seem to have Berkeley DB version 4.0.14 or newer installed and linked to APR-UTIL. We have created Makefiles which will build without the Berkeley DB back-end; your repositories will use FSFS as the default back-end. You can find the latest version of Berkeley DB here: http://www.sleepycat.com/download/index.shtml |
3.安装SVN
为避免出现以下错误
| error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory |
先执行以下操作:
1)、编辑/etc/ld.so.conf文件,添加下面一行:
| /usr/local/lib |
2)、保存后运行ldconfig:
| /sbin/ldconfig |
注:ld.so.conf和ldconfig用于维护系统动态链接库。
安装
| [root@server subversion-1.6.6]# make && make install |
安装完成,执行以下命令测试:
|
[root@server subversion-1.6.6]# /usr/local/svn/bin/svnserve --version svnserve,版本 1.6.6 (r40053) 版权所有 (C) 2000-2009 CollabNet。 下列版本库后端(FS) 模块可用: * fs_fs : 模块与文本文件(FSFS)版本库一起工作。 |
为了方便下操作,下面将SVN的BIN添加到PATH,编辑/etc/profile,添加:
| PATH=/usr/local/svn/bin:$PATH |
保存后,使其立即生效:
| source /etc/profile |
4.配置SVN
建立版本库目录,可建多个:
|
[root@server ~]# mkdir -p /home/svndata/repos #建立版本库 |
编辑/home/svndata/repos/conf/svnserve.conf,内容修改为:
| [general] anon-access = none auth-access = write password-db = /usr/local/svn/conf/passwd.conf authz-db = /usr/local/svn/conf/authz.conf realm = repos |
注意:对用户配置文件的修改立即生效,不必重启svn。
在/usr/local/svn/下面新建conf目录,并在/usr/local/svn/conf内新建passwd.conf和authz.conf文件:
|
mkdir conf |
添加用户及密码:
|
[root@server ~]# useradd wll |
编辑/usr/local/svn/conf/passwd.conf,添加如下代码并保存:
| [users] wll = 123456 |
配置svn用户访问权限,编辑usr/local/svn/conf/authz.conf,添加如下代码并保存:
|
[groups] 注意: |
建立启动svn的用户:
| [root@server ~]# useradd svn [root@server ~]# passwd svn |
允许用户svn访问版本库:
| [root@server ~]# chown -R svn:svn /home/svndata |
启动svn:
|
[root@server ~]# su - svn -c "svnserve -d --listen-port 9999 -r /home/svndata" 其中: |
5.将svn加入到开机启动
编辑/etc/rc.d/rc.local文件,加入如下启动命令:
| /usr/local/svn/bin/svnserve -d --listen-port 9999 -r /home/svndata |
如果想停止svn,则使用如下命令:
| killall svnserve |
如果想将svn作为服务,在/etc/rc.d/init.d/目录下新建名为svn的文件并设置权限为755,并添加如下代码:
| #!/bin/bash # build this file in /etc/rc.d/init.d/svn # chmod 755 /etc/rc.d/init.d/svn # centos下可以用如下命令管理svn: service svn start(restart/stop) SVN_HOME=/home/svndata if [ ! -f "/usr/local/svn/bin/svnserve" ] then echo "svnserver startup: cannot start" exit fi case "$1" in start) echo "Starting svnserve..." /usr/local/svn/bin/svnserve -d --listen-port 9999 -r $SVN_HOME echo "Finished!" ;; stop) echo "Stoping svnserve..." killall svnserve echo "Finished!" ;; restart) $0 stop $0 start ;; *) echo "Usage: svn { start | stop | restart } " exit 1 esac |
6.连接SVN
安装TortoiseSVN,重启系统。启动TortoiseSVN并在地址栏中输入
|
svn://192.168.1.87:9999/repos 根据提示输入用户名与密码后就可以 |

本文出自 “300second的运维小站” 博客,请务必保留此出处http://300second.blog.51cto.com/7582/780348
CentOS 5.5下搭建部署独立SVN服务器全程详解的更多相关文章
- CentOS 下搭建部署独立SVN服务器全程详解(5.5)
SVN服务器有2种运行方式: 1.独立服务器(例如:svn://xxx.com/xxx): 2.借助apache (例如:http://svn.xxx.com/xxx): 为了不依赖apache, ...
- centos下搭建多项目svn服务器
svn是多人协作开发中的利器,是一个开放源代码的版本控制系统. 相比与git,他的操作更加简单,windows下有优秀的图形界面,并且支持的文件类型比较多. 本文讲述如何在linux下搭建一个svn服 ...
- CentOS6.X下安装配置独立SVN服务器Subversion server
Subversion(简称SVN,svn),一个开放源码的版本号控制系统.相较于RCS.CVS,它採用了分支管理系统,它的设计目标就是代替CVS.互联网上非常多版本号控***务已从CVS转移到Subv ...
- CentOS 6.2下搭建Web服务器
1Centos 6.2下搭建web服务器 如今,Linux在Web应用越来越广,许多企业都采用Linux来搭建Web服务器,这样即节省了购买正版软件的费用,而且还能够提高服务器的安全性. 之前我们介绍 ...
- CentOS 6.3下搭建Web服务器
准备前的工作: 1.修改selinux配置文件(/etc/sysconfig/selinux) 关闭防火墙 (1)把SELINUX=enforcing注释掉 (2)并添加SELINUX=disable ...
- 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,
第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...
- Solr系列二:solr-部署详解(solr两种部署模式介绍、独立服务器模式详解、SolrCloud分布式集群模式详解)
一.solr两种部署模式介绍 Standalone Server 独立服务器模式:适用于数据规模不大的场景 SolrCloud 分布式集群模式:适用于数据规模大,高可靠.高可用.高并发的场景 二.独 ...
- 本地windows下搭建git的本地服务器
本地windows下搭建git的本地服务器 准备工作: 本地安装java环境,配置环境变量(略) 下载gitblit文件,百度一大堆 开始第一步: 减压gitblit压缩包到某个目录下,比如我在:H: ...
- Linux中用postfix搭建邮件服务器实战详解
Linux中用postfix搭建邮件服务器实战详解 postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.Postfix试图更快.更容易管理.更安全,同时 ...
随机推荐
- LeetCode(99) Recover Binary Search Tree
题目 Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without chang ...
- stm32开发套件选择——LL SPL HAL Snippets的应用范围
- 【转载】CentOS 7安装Python3.5,并与Python2.7兼容并存
CentOS 7下安装Python3.5 CentOS7默认安装了python2.7.5,当需要使用python3的时候,可以手动下载Python源码后编译安装. 1.安装python3.5可能使用的 ...
- 【JavaScript 13—应用总结】:锁屏遮罩
导读:上次说了,当弹出登录框时,由于背景色和弹出框时一样的,这样子,其实比较难聚焦到底该操作哪一块.所以,如果,有了颜色的区分,那么通过屏幕遮罩的效果,就可以将我们希望要被处理的东西突出显示.也就达到 ...
- 【bzoj4200】[Noi2015]小园丁与老司机 STL-map+dp+有上下界最小流
题目描述 小园丁 Mr. S 负责看管一片田野,田野可以看作一个二维平面.田野上有 nn 棵许愿树,编号 1,2,3,…,n1,2,3,…,n,每棵树可以看作平面上的一个点,其中第 ii 棵树 (1≤ ...
- [Vijos1308]埃及分数(迭代加深搜索 + 剪枝)
传送门 迭代加深搜索是必须的,先枚举加数个数 然后搜索分母 这里有一个强大的剪枝,就是确定分母的范围 #include <cstdio> #include <cstring> ...
- [BZOJ3054] Rainbow的信号(考虑位运算 + DP?)
传送门 BZOJ没数据范围... 其实数据范围是这样的.. 前20%可以直接n^3暴力枚举每个区间 前40%可以考虑每一位,因为所有数每一位都是独立的,而和的期望=期望的和,那么可以枚举每一位,再枚举 ...
- [BZOJ4776] [Usaco2017 Open]Modern Art(差分 + 思维?)
传送门 可以预处理出每种颜色的上下左右的位置,这样就框出来了一个个矩形,代表每种颜色分别涂了哪里. 然后用二维的差分. 就可以求出来每个位置至少涂了几次,如果 > 1 的话,就肯定不是先涂的, ...
- Win7开启SNMP服务
通过SNMP监控Windows主机需要在被监控的服务器上安装简单网络管理协议(SNMP)的Windows组件,以Windows 7系统为例: 首先,在控制面板中找到“卸载程序”: 在弹出的窗口中单击“ ...
- 【leetcode dp】Dungeon Game
https://leetcode.com/problems/dungeon-game/description/ [题意] 给定m*n的地牢,王子初始位置在左上角,公主在右下角不动,王子要去救公主,每步 ...