Linux下源码编译安装配置SVN服务器的步骤分享

说明:

SVN(subversion)的运行方式有两种:

一种是基于Apache的http、https网页访问形式;

还有一种是基于svnserve的独立服务器模式。

SVN的数据存储方式也有两种:一种是在Berkeley DB数据库中存储数据;另一种是使用普通的文件FSFS存储数据。

由于Berkeley DB方式在使用中有可能锁住数据,一般建议使用FSFS方式更安全。

实现目的:

以svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器。

具体操作:

操作系统:CentOS 6.x

服务器IP:192.168.21.134

一、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

二、开启防火墙端口

基于svnserve的独立服务器模式,默认端口为3690

vi /etc/sysconfig/iptables #编辑防火墙配置文件

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

service iptables restart #最后重启防火墙使配置生效

三、安装编译工具包

yum install apr* autoconf automake bison cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng* libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* libX* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1lib* nasm nasm* wget zlib-devel zlib unzip perl-ExtUtils-Embed

yum remove apr apr-util subversion subversion-libs #删除系统中原有的svn及依赖包

四、下载svn需要的依赖软件包

说明:安装svn需要的软件包:apr apr-util serf scons openssl

软件包存放目录:/usr/local/src

1、下载apr

https://dist.apache.org/repos/dist/release/apr/apr-1.5.2.tar.gz

2、下载apr-util

https://dist.apache.org/repos/dist/release/apr/apr-util-1.5.4.tar.gz

3、下载scons

http://prdownloads.sourceforge.net/scons/scons-2.3.5.tar.gz

4、下载openssl

http://www.openssl.org/source/openssl-1.0.1o.tar.gz

5、下载serf

http://fossies.org/linux/www/serf-1.3.8.tar.gz

6、下载svn

http://www.apache.org/dist/subversion/subversion-1.8.13.tar.gz

7、下载sqlite-amalgamation

http://www.sqlite.org/snapshot/sqlite-amalgamation-201506201411.zip

五、安装SVN

1、安装apr

cd /usr/local/src #进入软件包存放目录

tar zxvf apr-1.5.2.tar.gz #解压

cd apr-1.5.2 #进入安装目录

./configure --prefix=/usr/local/apr #配置

make #编译

make install #安装

2、安装apr-util

cd /usr/local/src

tar zxvf apr-util-1.5.4.tar.gz

cd apr-util-1.5.4

./configure --with-apr=/usr/local/apr/bin/apr-1-config

make

make install

3、安装scons

cd /usr/local/src

tar zxvf scons-2.3.5.tar.gz

cd scons-2.3.5

python setup.py #配置

install #安装

4、安装openssl

cd /usr/local/src

tar zxvf openssl-1.0.1o.tar.gz

cd openssl-1.0.1o

CFLAGS=-fPIC ./config --prefix=/usr/local/openssl enable-shared

make

make install

vi /etc/profile #添加系统环境变量

export PATH=$PATH:/usr/local/openssl/bin

:wq! #保存退出

source /etc/profile #使配置生效

ln -s /usr/local/openssl/include/openssl /usr/include/openssl #添加系统软连接

5、安装serf

cd /usr/local/src

tar zxvf serf-1.3.8.tar.gz

cd serf-1.3.8

scons PREFIX=/usr/local/serf APR=/usr/local/apr/bin/apr-1-config APU=/usr/local/apr/bin/apu-1-config OPENSSL=/usr/local/openssl

scons install

cd /usr/local/serf/lib

cp libserf-1.so* /usr/local/lib/ #拷贝文件到系统目录

6、安装svn

cd /usr/local/src

tar zxvf subversion-1.8.13.tar.gz

cd subversion-1.8.13

mkdir /usr/local/src/subversion-1.8.13/sqlite-amalgamation #创建sqlite-amalgamation目录

cd /usr/local/src

unzip sqlite-amalgamation-201506201411.zip -d /usr/local/src/subversion-1.8.13/sqlite-amalgamation

#解压sqlite-amalgamation软件包到sqlite-amalgamation目录

./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-serf=/usr/local/serf --with-openssl=/usr/local/openssl --enable-mod-activation #配置

make #编译

make install #安装

vi /etc/profile #添加系统环境变量,添加到最后一行

export PATH=$PATH:/usr/local/svn/bin

:wq! #保存退出

source /etc/profile #使配置立刻生效

whereis libexpat.so.1 #查找文件安装目录,如下:

libexpat.so: /lib/libexpat.so.0 /usr/local/lib/libexpat.so /usr/local/lib/libexpat.so.1

vi /etc/ld.so.conf #编辑加入libexpat.so.1的目录

/usr/local/lib/

:wq! #保存退出

ldconfig #使配置生效

7、测试安装是否成功:

svn help #查看svn帮助信息

svnserve --version #查看svn版本信息

svn --version

六、配置svn

1、创建svn代码库

mkdir -p /home/svn #创建目录

svnadmin create /home/svn #创建svn代码库

#上面的命令执行完成之后,会自动建立svn库,在/home/svn文件夹含了conf,db,format,hooks,locks,README.txt等文件。

#说明svn代码库创建成功。

2、配置svn代码库

cd /home/svn/conf #进入配置文件存放目录

vi /home/svn/conf/svnserve.conf #配置全局文件,在最后添加以下代码

[general]

anon-access=none #禁止匿名访问,设置为none。默认为read,参数:read,write,none

auth-access=write #授权用户写权限

password-db=passwd #用户账号密码文件路径,可以写绝对路径

authz-db=authz #访问控制权限文件路径,可以写绝对路径

realm=svn #每个SVN项目的认证命,会在认证提示里显示,建议写项目名称。

:wq! #保存退出

vi /home/svn/conf/passwd #配置用户密码

[users]

# harry = harryssecret

# sally = sallyssecret

osyunwei=123456

test=123456

test2=123456

:wq! #保存退出

vi /home/svn/conf/authz #配置权限控制文件,设置用户可以访问的目录

[groups]

admin = osyunwei

users = test,test2

[/]

@admin = rw

* = r

:wq! #保存退出

#[/]代表根目录下所有的资源

3、启动svn

svnserve -d -r /home/svn --listen-port 3690

ps -ef|grep svn|grep -v grep #查看svn进程

root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /home/svn

netstat -ln |grep 3690 #检查svn端口

tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

killall svnserve #关闭svn服务

4、设置svn服务开机启动

vi /etc/init.d/svn #编辑,添加以下代码

#!/bin/sh
# chkconfig: 2345 85 85
# processname: svn
svn_port=3690
svn_home=/home/svn
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 -r $svn_home --listen-port $svn_port
echo "Successfully!"
;;
stop)
echo "Stoping svnserve..."
killall svnserve
echo "Successfully!"
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: svn { start | stop | restart } "
exit 1
esac

:wq! #保存退出

chmod +x /etc/init.d/svn #添加执行权限

chkconfig svn on #开启自启动

5、测试svn

svn checkout svn://192.168.21.134/ --username=osyunwei --password=123456 #将文件下载到本地目录

svn update --username=osyunwei --password=123456 #更新上次修改之后的版本库

七、使用客户端连接svn服务器

TortoiseSVN是Windows平台下SVN(subversion)的一个免费开源的客户端。

TortoiseSVN下载地址:http://tortoisesvn.net/downloads.html

目前最新版本为:TortoiseSVN 1.8.11,区分32位和64位操作系统,并且提供中文汉化包。

如下图所示:

安装完成之后,桌面-右键单击,选择TortoiseSVN-版本库浏览器

如下:

URL输入:svn://192.168.21.134/

输入用户名:osyunwei

密码:123456

勾选:保存认证

确定

可以看到svn服务器上的内容,右键单击之后,可以选择创建文件夹等操作。

至此,Linux下源码编译安装配置SVN服务器教程完成。

(0)

相关推荐

  • linux(centos)下SVN服务器如何搭建

    虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN. 安装步骤如下: 1.yum install subversion 2.输入rpm -ql subversion查看安装位置,如下图: 我们知道svn在bin目录下生成了几个二进制文件. 输入 svn --help可以查看svn的使用方法,如下图. 3.创建svn版本库目录 复制代码 代码如下: mkdir -

  • Linux下SVN服务器自动更新文件到Web目录的方法

    说明: 服务器操作系统:CentOS 服务器IP:192.168.21.134 SVN安装路径:/usr/local/svn SVN项目路径:/home/svn SVN登录账号:osyunwei SVN登录密码:123456 Web站点根目录:/home/web 实现目的: 当svn项目中有任何修改更新时,系统会自动实时从svn中检出文件并同步到Web站点根目录 具体操作: 一.使用SVN中post-commit实现自动实时从svn中检出文件并同步到Web站点根目录 cd /home/svn/h

  • 删除SVN三种方法delSvn(windows+linux)

    一.在linux下 删除这些目录是很简单的,命令如下 find . -type d -name ".svn"|xargs rm -rf 或者 find . -type d -iname ".svn" -exec rm -rf {} \; 二.在windows下用以下法子: 1.在项目平级的目录,执行dos命令: xcopy project_dir project_dir_1 /s /i 2.或者在项目根目录执行以下dos命令 for /r . %%a in (.)

  • 详解Linux上svn命令行批量操作

    详解Linux上svn命令行批量操作 虽然说git很好,大多数时候我也是使用git,但是有时候因为一些原因,不得不使用svn,而在linux上使用svn是没有像windows上的tortoisesvn的软件的(网上有说有类似的,但是折腾了很久仍然没有成功),所以直接来命令行吧. 我们直接安装svn就好,然后文件修改之后使用命令 svn status 查看文件的跟踪信息,这里会使用一些代号,对应的大概是 " " 无修改 "A" 新增 "C" 冲突

  • Linux svn的搭建与使用(图文详解)

    Linunx svn的搭建与使用........纯手打的..具体入下: 一.安装前的准备 1.1 配置yum 库 1)加载光盘 2)进入/etc/yum.repo.d目录 3)复制"rhel-debuginfo.repo"为"my.repo" 4)修改my.repo文件 5)修改红框标注部分 修改完毕保存退出:wq 1.2 安装telnet 远程连接工具 1)用yum命令安装远程工具. 2)安装成功. 3)用vi命令编辑位于/etc/xinetd.d下的telnet

  • 在Linux系统中将Redmine和SVN整合入Nginx的方法

    Redmine:是一个基于web的项目管理软件,用Ruby开发的.是基于ROR框架开发的一套跨平台项目管理系统,是项目管理系统的后起之秀,据说是源于Basecamp的ror版而来,支持多种数据库,除了和DotProject的功能大致相当外,还有不少自己独特的功能,例如提供wiki.新闻台.时间跟踪.feed聚合.导出pdf等等,还可以集成其他版本管理系统和BUG跟踪系统,例如SVN.CVS.TD等等.配置功能强大而且方便,自定义属性和更新通知也很实用.下面我们来部署redmine+svn项目管理

  • linux下安装配置svn独立服务器的步骤分享

    file:/// 直接版本库访问(本地磁盘). http:// 通过配置Subversion的Apache服务器的WebDAV协议. https:// 与http://相似,但是包括SSL加密. svn:// 通过svnserve服务自定义的协议. svn+ssh:// 与svn://相似,但通过SSH封装 svn存储版本数据也有2种方式:BDB和FSFS.因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点.1. svn服务器安装操作系统: Redhat Linux A

  • Linux下源码编译安装配置SVN服务器的步骤分享

    说明: SVN(subversion)的运行方式有两种: 一种是基于Apache的http.https网页访问形式: 还有一种是基于svnserve的独立服务器模式. SVN的数据存储方式也有两种:一种是在Berkeley DB数据库中存储数据:另一种是使用普通的文件FSFS存储数据. 由于Berkeley DB方式在使用中有可能锁住数据,一般建议使用FSFS方式更安全. 实现目的: 以svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器. 具体操作: 操作系统

  • Linux下源码包安装Swoole及基本使用操作图文详解

    本文实例讲述了Linux下源码包安装Swoole及基本使用操作.分享给大家供大家参考,具体如下: 下载Swoole PECL扩展源码包:http://pecl.php.net/package/swoole 关于PHP版本依赖选择: 下载好放到/usr/local/src下,解压缩: tar -zxvf swoole-2.2.0.tgz 准备扩展安装编译环境: phpize 查看php-config位置: find / -name php-config 配置:(--with-php-config=

  • Mac系统下源码编译安装MySQL 5.7.17的教程

    1.下载并解压到:/Users/xiechunping/Softwares/mysql-5.7.17 下载地址:http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.7/mysql-boost-5.7.17.tar.gz 2.进入mysql-5.7.17,执行cmake cd ../mysql-5.7.17 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mys

  • linux下源码包安装的服务管理

    目录 1.源码包服务的启动管理 2.源码包服务的自启动管理 3.让源码包服务被服务管理命令识别 (1)让通过源码包安装的服务能被service命令管理启动 (2)让通过源码包安装的服务能被chkconfig命令管理自启动 (3)让ntsysv命令可以管理通过源码包安装的服务 (4)总结 1.源码包服务的启动管理 # 通过源码包的安装路径,找到该服务的启动脚本, # 也就是获得该服务的启动脚本的绝对路径, # 最后加上启动选项. [root@localhost ~]# /usr/local/apa

  • MySQL 5.7.13 源码编译安装配置方法图文教程

    安装环境:CentOS7 64位 MINI版 官网源码编译安装文档:http://dev.mysql.com/doc/refman/5.7/en/source-installation.html 一.系统安装条件 官方文档说明:http://dev.mysql.com/doc/refman/5.7/en/source-installation.html 1> cmake MySQL使用cmake跨平台工具预编译源码,用于设置mysql的编译参数.如:安装目录.数据存放目录.字符编码.排序规则等.

  • Ubuntu 17.04系统下源码编译安装opencv的步骤详解

    前言 本文主要针对Ubuntu 17.04版本下,opencv进行源码编译安装.开发环境主要针对python 对 openCV库的调用.下面话不多说了,来一起看看详细的介绍: 一.安装 gcc cmake 编译环境 sudo apt-get install build-essential pkg-config cmake cmake-gui 本文提供两种源码编译方式,一种是cmake命令,另一种是通过图形界面的cmake-gui进行编译 该版本系统ubuntu已经自带python 2.7 和 p

  • SUSE Linux下源码编译方式安装MySQL 5.6过程分享

    MySQL为开源数据库,因此可以基于源码实现安装.基于源码安装有更多的灵活性.也就是说我们可以针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码,根据不同的软件平台环境调整相关的编译参数,选择自身需要选择不同的安装组件,设定需要的字符集等等一些可以根据特定应用场景所作的各种调整.本文描述了如何在源码方式下安装MySQL. 1.安装环境及介质 复制代码 代码如下: #安装环境 SZDB:~ # cat /etc/issue Welcome to SUSE Linux Enterprise

  • Linux+php+apache+oracle环境搭建之CentOS下源码编译安装PHP

    首先需要安装下面几个安装包,可以在CD-ROM数据源里找到以下安装包yum安装 yum install perl* freetype libpng* libxm2 libxm2-devel curl curl-devel libjpeg* 手动下载安装 jpegsrc.v8c.tar libmcrypt-2.5.8.tar.gz 安装 jpegsrc # tar -xvzf jpegsrc.v8c.tar # cd jpeg-8c # ./configure --prefix=/usr/loca

  • Linux CentOS 7源码编译安装PostgreSQL9.5

    之前的博客记录了通过rpm包的形式安装PostgreSQL 9.3(Linux CentOS 7 安装PostgreSQL 9.3(发行版本) ),本篇blog将记录一下通过源码编译的形式安装PostgreSQL 9.5. 下载 在postgresql的官方即可找到源码文件目录,地址如下:https://www.postgresql.org/ftp/source/,在下载列表中根据需求选择版本,如下图: 进入子目录后,可以看到文件列表: 如上图,可以看到提供了两种压缩格式,此处我们选择postg

  • CentOS 6.3 安装配置Apache2.2.6的方法(源码编译安装)

    安装说明 安装环境:CentOS-6.3 安装方式:源码编译安装 软件:httpd-2.2.6.tar.gz | pcre-8.32.tar.gz | apr-1.4.6.tar.gz | apr-util-1.5.1.tar.gz 下载地址:http://mirror.bjtu.edu.cn/apache/httpd/ http://apr.apache.org/download.cgi http://jaist.dl.sourceforge.net/project/pcre/pcre 安装位

随机推荐