Linux下编译安装查看端口,Linux下编译安装SVN
发布日期:2021-06-24 13:36:47 浏览次数:2 分类:技术文章

本文共 5385 字,大约阅读时间需要 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: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 "/home/admin/project/svn/bin/svnserve" ]

then

echo "svnserver startup: cannot start"

exit

fi

case "$1" in

start)

echo "Starting svnserve..."

/home/admin/project/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://127.0.0.1/ --username=test --password=123456 #将文件下载到本地目录

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

转载地址:https://blog.csdn.net/weixin_33218612/article/details/116653915 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:linux 信号 进程死锁,用信号进行进程通信好像出现了死锁
下一篇:linux telnet 密码设置,Linux telnet用户名密码怎么设

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月11日 20时01分10秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章