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位操作系统,并且提供中文汉化包。

如下图所示:

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

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

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

如下:

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

URL输入:svn://192.168.21.134/

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

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

输入用户名:osyunwei

密码:123456

勾选:保存认证

确定

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

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

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

时间: 2015-07-08

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

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

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

在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

删除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的搭建与使用(图文详解)

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

vmware 实现linux目录映射window本地目录图文详解

---恢复内容开始--- 背景: 1,使用lnmp环境 2,代码可以在windows上面写,直接映射到linux的lnmp环境下面 第一步: vmware 新建一个linux虚拟机 一路下一步到完成 第二步: 安装镜像(自己去下载一个linux的镜像) 然后确认 ,然后重新客户机 然后一路next(语言可以选中文) 直到这一步 给linux设置密码 然后一路next,确认所有修改 第三步: 进入linux系统配置网络 修改下图路径中的文档(onboot改成yes) 修改完保存 重启网络 第四步:

Linux上的文件搜索命令实例详解

locate 基础了解 在centos7上默认没有locate命令,需要先手动安装.安装步骤:http://www.cnblogs.com/feanmy/p/7676717.html locate命令搜索的后台数据库路径:/var/lib/mlocate/mlocate.db ls -hl /var/lib/mlocate total 1.2M -rw-r----- 1 root slocate 1.2M Oct 16 14:36 mlocate.db 更新数据库使用updatedb,配置文件为

Mysql5.7.18的安装与主从复制图文详解

CentOS6.7安装mysql5.7.18 1.  解压到/usr/local目录 # tar -zxvf mysql-5.7.18-linux-glibc2.5-i686.tar.gz -C /usr/local 2.  mysql-5.7.18-linux-glibc2.5-i686文件夹重命名为mysql # cd /usr/local # mv mysql-5.7.18-linux-glibc2.5-i686/ mysql 3.  新建mysql用户组和mysql用户 # groupa

vue-cli + sass 的正确打开方式图文详解

关于在vue-cli搭建的项目中怎么配置sass,网上搜到的基本是这种答案: 但是我认为,直接将样式写在每个单文件的<style>里,是十分不明智的做法.且不说node-sass安装过程的各种坑,内嵌的<style>也让组件显得十分混乱.想象一下你在修改某个methods时必须拖动滚轮穿越几十上百行的css代码,又或者为了修改一组样式,却找不到对应的css文件,因为它们散布在vue文件里... 在我看来,正确的做法应该是单独管理sass文件,然后在main.js中直接引入编译好的c

JavaScript中浅讲ajax图文详解

1.ajax入门案例 1.1 搭建Web环境 ajax对于各位来说,应该都不陌生,正因为ajax的产生,导致前台页面和服务器之间的数据传输变得非常容易,同时还可以实现页面的局部刷新.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 对于JavaWeb项目而言,ajax主要用于浏览器和服务器之间数据的传输. 如果是单单地堆砌知识点,会显得比较无聊,那么根据惯例,我先不继续介绍ajax,而是来写一个案例吧. 打开

windows系统下node.js环境配置与安装教程图文详解(详细版)

国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网https://nodejs.org/en/download/ 这里用的是 第二步:安装nodejs 下载完成之后,双击 node-v6.9.1-x64.msi,开始安装nodejs,默认是安装在C:\Program Files\nodejs下面 第三步:安装相关环境 打开C:\Program Files\

Mac OS系统下mysql 5.7.20安装教程图文详解

Mac OS X 下 TAR.GZ 方式安装 MySQL 5.7 与 MySQL 5.6 相比, 5.7 版本在安装时有两处不同: 1:初始化方式改变, 从scripts/mysql_install_db --user=mysql初始化方式变成了bin/mysqld --initialize --user=mysql方式; 2: 初始密码生成改变, 5.6 的版本在 tar gz 方式初始化完成后默认 root 密码为空, 5.7 版本在初始化完成后会生成一个临时的 root 密码: 一.在浏览

Microsoft Sql server2005的安装步骤图文详解及常见问题解决方案

一:安装sql server 2005过程中出现如下问题:"选择的功能中没有任何功能可以安装或升级": 解决方案:Microsoft SQL Server 2005→配置工具→SQL配置管理器→SQL Server 2005服务→右边的两个服务启动SQL Server FullTest Search() 和服务SQl Sever(计算机名) 二:无法将数CLSID写入\Software\Classes\PROTOCOLS\Handler\ms-help. 解决办法:退出电脑安全软件 三

redhat7.1 安装mysql 5.7.10步骤详解(图文详解)

在redhat下安装MySQL,步骤如下 Mysql目录安装位置:/usr/local/mysql 数据库保存位置:/data/mysql 日志保存位置:/data/log/mysql 下载安装包 http://downloads.mysql.com/archives/community/ 1. 获取mysql安装包,mysql-5.7.10-Linux-glibc2.5-x86_64.tar解压后目录如下. 2. 解压mysql-5.7.10-linux-glibc2.5-x86_64.tar

Linux 中常用的Rpm命令实例详解

rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采用.RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度. 语法 rpm(选项)(参数) 选项 -a:查询所有套件: -b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称: -c:只列出