博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux svn编译安装,Linux下编译安装SVN
阅读量:5106 次
发布时间:2019-06-13

本文共 5348 字,大约阅读时间需要 17 分钟。

说明:

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

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

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

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

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

实现目的:

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

一、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

二、开启防火墙端口

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

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

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

:wq! #保存退出

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

三、安装编译工具包

yum install aprautoconf automake bison cloog-ppl compat cpp curl curl-devel fontconfig fontconfig-devel freetype freetypefreetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libjpeglibsepol-devel libselinux-devel libstdc++-devel libtool libtool libgomp libxml2 libxml2-devel libXpmlibtiff libtiff libXmake mpfr ncurses ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1libnasm nasm wget zlib-devel zlib unzip perl-ExtUtils-Embed

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

五、安装SVN

1、安装apr

cd /home/admin/software/svn #进入软件包存放目录

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

cd apr-1.6.3 #进入安装目录

./configure --prefix=/home/admin/project/apr #配置

make #编译

make install #安装

2、安装apr-util

cd /home/admin/software/svn

tar zxvf apr-util-1.6.tar.gz

cd apr-util-1.6.1

./configure --with-apr=/home/admin/project/apr/bin/apr-1-config

make

make install

3、安装scons

cd /home/admin/software/svn

tar zxvf scons-3.0.0.tar.gz

cd scons-3.0.0

python setup.py install #配置安装

4、安装openssl

cd /home/admin/software/svn

tar zxvf openssl-1.1.1.tar.gz

cd openssl-1.1.1

CFLAGS=-fPIC ./config --prefix=/home/admin/project/openssl enable-shared

make

make install

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

export PATH=$PATH:/home/admin/project/openssl/bin

:wq! #保存退出

source /etc/profile #使配置生效

ln -s /home/admin/project/openssl/include/openssl /usr/include/openssl #添加系统软连接

5、安装serf

cd /home/admin/software/svn

tar zxvf serf-1.3.9.tar.gz

cd serf-1.3.9

scons prefix=/home/admin/project/serf apr=/home/admin/projectapr/bin/apr-1-config apr-util=/home/admin/projectapr/bin/apu-1-config openssl=/home/admin/project/openssl

scons install

cd /home/admin/project/serf/lib

cp libserf-1.so* /home/admin/project/lib/ #拷贝文件到系统目录

6、安装svn

cd /home/admin/software/svn

tar zxvf subversion-1.10.0.tar.gz

cd subversion-1.10.0

mkdir /home/admin/software/svn/subversion-1.8.13/sqlite-amalgamation #创建sqlite-amalgamation目录

cd /home/admin/software/svn

unzip sqlite-amalgamation-3240000.zip -d /home/admin/software/svn/subversion-1.10.0/sqlite-amalgamation

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

./configure --prefix=/home/admin/project/svn --with-apr=/home/admin/project/apr/bin/apr-1-config --with-apr-util=/home/admin/project/apr/bin/apu-1-config --with-serf=/home/admin/project/serf --with-openssl=/home/admin/project/openssl --with-apxs=/home/admin/project/apache2/bin/apxs --with-lz4=internal --with-utf8proc=internal --with-expat=builtin --without-berkeley-db --enable-mod-activation #配置

make #编译

make install #安装

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

export PATH=$PATH:/home/admin/project/svn/bin

:wq! #保存退出

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

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

libexpat.so: /lib/libexpat.so.0 /home/admin/projectlib/libexpat.so /home/admin/projectlib/libexpat.so.1

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

/home/admin/project/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 = test

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:LISTENkillall svnserve #关闭svn服务4、设置svn服务开机启动vi /etc/init.d/svn #编辑,添加以下代码#!/bin/sh#chkconfig: 2345 85 85#processname: svnsvn_port=3690svn_home=/home/svnif [ ! -f "/home/admin/project/svn/bin/svnserve" ]thenecho "svnserver startup: cannot start"exitficase "$1" instart)echo "Starting svnserve..."/home/admin/project/svn/bin/svnserve -d -r $svn_home --listen-port $svn_portecho "Successfully!";;stop)echo "Stoping svnserve..."killall svnserveecho "Successfully!";;restart)$0 stop$0 start;;)echo "Usage: svn { start | stop | restart } "exit 1esac:wq! #保存退出chmod +x /etc/init.d/svn #添加执行权限chkconfig svn on #开启自启动5、测试svnsvn checkout svn://127.0.0.1/ --username=test --password=123456 #将文件下载到本地目录svn update --username=test --password=123456 #更新上次修改之后的版本库

转载地址:http://keudv.baihongyu.com/

你可能感兴趣的文章
java自学基础、项目实战网站推荐
查看>>
软件包的使用
查看>>
linux中启动与终止lnmp的脚本
查看>>
gdb中信号的处理[转]
查看>>
学习Javascript闭包(Closure)
查看>>
LeetCode【709. 转换成小写字母】
查看>>
如何在Access2007中使用日期类型查询数据
查看>>
Jzoj4757 树上摩托
查看>>
CF992E Nastya and King-Shamans(线段树二分+思维)
查看>>
基于docker的spark-hadoop分布式集群之一: 环境搭建
查看>>
oracle 几个时间函数探究
查看>>
第一个Java Web程序
查看>>
Atomic
查看>>
div 显示滚动条与div显示隐藏的CSS代码
查看>>
Redis-1-安装
查看>>
Access denied for user ''@'localhost' to database 'mysql'
查看>>
微信公众号里面使用地图导航
查看>>
部署支持 https 的 Nginx 服务
查看>>
‘Cordova/CDVPlugin.h’ file not found
查看>>
WebAssembly是什么?
查看>>