欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-06-06 17:25:31
说明: svn(subversion)的运行方式有两种: 一种是基于apache的http、https网页访问形式; 还有一种是基于svnserve的独立服务器模式。...

说明:

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服务器教程完成。