SVN服务器安装 - Linux系统


前言

Linux系统下SVN服务器搭建及遇到相关问题和处理方法记录


1 在线安装

a. 在线安装方式相对简单,根据不同系统类型安装指令之下如下
Centos系统:yum -y install subversion
Ubuntu系统:apt-get install subversion

b. 检查版本是否安装成功
指令: svnserve --version

c. 查看安装路径
指令:which svnserverpm -ql subversion


2 离线安装

2.1 下载安装包

根据实际需要自行下载对应的安装包版本即可。我这边使用的安装包为subversion-1.14.2.tar.gz。

最新版本https://subversion.apache.org/download
历史版本https://archive.apache.org/dist/subversion/

注:在版本迁移中要避免出现类似“expected fs format between 1 and 4 found format 6”的问题,尽量选择1.7.2以上版本。

2.2 软件安装

a. 将安装包上传到系统某一路径,该路径可根据情况自行设置,这边路径为 /usr/local

b. 解压压缩包
指令:tar -zxf subversion-1.14.2.tar.gz

c 将解压后文件名更名为svn(此步骤可不操作,个人习惯)
指令:mv subversion-1.14.2 svn

e. 进入svn路径
指令:cd svn

f. 执行配置文件,测试编译是否可行。若出现异常,根据 2.3 异常处理 中各异常情况处理后,再次执行本步骤,直至测试可行为止。
正常指令:./configure 或者 ./configure --prefix=/opt/subversion
异常2/3/6处理后指令如下:
异常2:./configure --with-apr=/usr/local/apr
异常3: ./configure --with-apr-util=/usr/local/apr
异常6 lz4: ./configure --with-lz4=internal
异常6 utf8proc: ./configure --with-utf8proc=internal
所有异常均有:./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --with-lz4=internal --with-utf8proc=internal

注:
a. 第二种指令是主动设置安装路径,第一种为默认设置在/usr/local/bin中。个人使用了默认设置。
b. 出现异常后执行指令,with模块根据实际异常模块添加
c. 若有不在这6个异常外的其他异常,可参考https://blog.csdn.net/qq_23167527/article/details/80182317

2.3 异常处理

异常情况1 :缺少C编译器

A. 异常提示
在这里插入图片描述
B. 解决方案

a. 在线安装C编译器
指令:yum -y install gcc

b. 离线安装
下载指令: yum install --downloadonly --downloaddir=./gcc gcc

注:可使用其他方式下载,所需文件如下所示
cpp-4.8.5-44.el7.x86_64.rpm
gcc-4.8.5-44.el7.x86_64.rpm
gcc-c+±4.8.5-44.el7.x86_64.rpm
libgcc-4.8.5-44.el7.x86_64.rpm
libgomp-4.8.5-44.el7.x86_64.rpm
libstdc+±4.8.5-44.el7.x86_64.rpm
libstdc+±devel-4.8.5-44.el7.x86_64.rpm

安装指令:rpm -ivh *.rpm --nodeps --force
执行结果:
在这里插入图片描述

注:因rpm安装依赖问题,直接所有文件统一安装比较方便。也可单个文件逐个安装,安装顺序如上图所示即可。

异常情况2 :缺少apr模块

A. 异常提示
在这里插入图片描述
B. 解决方案

a. 下载安装包
根据需要下载对应版本,个人使用版本为 apr-1.5.1.tar.gz

最新版本https://apr.apache.org/download.cgi
历史版本https://archive.apache.org/dist/apr/

b. 将安装包上传到服务器指定路径/usr/local(路径可执行设置),解压并进入解压后文件夹
指令:
tar –zxf apr-1.5.1.tar.gz
cd apr-1.5.1/

c. 配置执行,--with-apr 后为安装路径,可自行设置
指令:./configure --with-apr=/usr/local/apr

d. 安装apr模块
指令: make && make install

异常情况3 :缺少apr-util模块

A. 异常提示 在这里插入图片描述
B. 解决方案

a. 下载安装包
根据需要下载对应版本,个人使用版本为 apr-util-1.6.1.tar.gz

最新版本https://apr.apache.org/download.cgi
历史版本https://archive.apache.org/dist/apr/

b. 将安装包上传到服务器指定路径/usr/local(路径可执行设置),解压并进入解压后文件夹
指令:
tar -zxf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1/

c. 配置执行,--with-apr后为安装路径,可自行设置,最好与apr模块为同一个
指令:./configure --with-apr=/usr/local/apr

d. 安装apr-util模块
指令: make && make install

e. 若出现如下异常,表示缺少expat库
在这里插入图片描述
f. 在线安装expat库
指令: yum install expat-devel

g. 离线安装expat库,下载安装包expat_2.0.1.orig.tar.gz, 并上传到服务器指定路径
下载网址https://launchpad.net/ubuntu/+source/expat/2.0.1-7.2ubuntu1.4

h. 解压expat安装包并进入解压后文件夹
指令:
tar -zxf expat_2.0.1.orig.tar.gz
cd expat-2.0.1/

i 执行配置文件、编译及安装
指令:
./configure
make & make install

j 安装完成后,重复执行步骤 c、d

异常情况4 :缺少SQLite模块

A. 异常提示 在这里插入图片描述
B. 解决方案

a. 下载安装包
根据需要下载对应版本,个人使用版本为 sqlite-autoconf-3380200.tar.gz

最新版本:https://www.sqlite.org/download.html

b. 将安装包上传到服务器指定路径/usr/local(路径可执行设置),并解压
指令:tar –zxf sqlite-autoconf-3380200.tar.gz

c. 将解压后文件更名为sqlite-amalgamation,并放置到svn文件夹下
指令: mv sqlite-autoconf-3380200 svn/sqlite-amalgamation

异常情况5 :缺少zlib模块

A. 异常提示 在这里插入图片描述
B. 解决方案

a. 下载安装包
根据需要下载对应版本,个人使用版本为 zlib-1.2.12.tar.gz

最新版本:http://zlib.net/

b. 将安装包上传到服务器指定路径/usr/local(路径可执行设置),并解压并进入解压后文件夹
指令:
tar –zxf zlib-1.2.12.tar.gz
cd zlib-1.2.12/

c. 执行配置,并编译安装
指令:
./configure
make && make install

异常情况6 :lz4或者utf8proc异常

A. 异常提示

lz4异常:在这里插入图片描述
utf8proc异常:
在这里插入图片描述
B. 解决方案

在svn编译指令./configure最后添加--with-lz4=internal或者--with-utf8proc=internal


3 仓库创建及权限分配

a. 建立仓库根目录
选择其一路径作为SVN仓库根目录
指令: mkdir /svn/store

b. 创建仓库project
指令: svnadmin create /svn/store/project

c. 进入配置仓库配置路径
指令:cd /svn/store/project/conf/

d. 编辑仓库服务器配置文件svnserve.conf
指令:vi svnserve.conf
编辑内容:

[general]
anon-access = none #无权限的不给操作
auth-access = write #通过用户验证可读可写 read 则可读
password-db = passwd #用户密码配置文件路径
authz-db = authz #路径权限配置文件路径

e. 编辑用户管理配置文件 passwd
指令:vi passwd
编辑内容:

[users]
admin = admin #格式为:用户名 = 密码, 等号前后必须有空格

f. 编辑权限管理配置文件 authz
指令:vi authz
编辑内容:

[/] #仓库路径
admin = rw #格式为: 用户名 = rw, r只读, rw可读可写


4 启动和关闭

a. 启动
指令: svnserve -d -r /svn/storesvnserve -d -r /svn/store --listen-port=3690

注:第一个指令默认端口,第二个指令指定端口。 /svn/store为仓库根目录

b. 关闭
指令:killall svnserve

c. 卸载
离线:直接删除安装目录及相关路径配置
在线:yum remove subversion

d. 开机自启动
i. 建立自动启动脚本running.sh
指令:vi /svn/running.sh
编辑内容:

#!/bin/bash
#开机启动svn
svnserve -d -r /svn/store --listen-port=3690

ii 给予启动脚本执行权限
指令:chmod 777 running.sh

iii. 编辑启动文件/etc/rc.d/rc.local
指令:vi /etc/rc.d/rc.local
编辑内容:

#svn启动脚本绝对路径
/svn/running.sh

vi. 给予启动文件执行权限
指令:chmod 777 /etc/rc.d/rc.local


参考资料:
https://blog.csdn.net/qq_23167527/article/details/80182317
https://www.runoob.com/w3cnote/linux-subversion-yum.html
https://blog.csdn.net/tangchenchan/article/details/44018203
https://blog.csdn.net/gmaaa123/article/details/122764516
https://blog.csdn.net/weixin_41910427/article/details/82733265
https://blog.csdn.net/chd_sun/article/details/121724458

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值