文章目录
前言
Linux系统下SVN服务器搭建及遇到相关问题和处理方法记录
1 在线安装
a. 在线安装方式相对简单,根据不同系统类型安装指令之下如下
Centos系统:yum -y install subversion
Ubuntu系统:apt-get install subversion
b. 检查版本是否安装成功
指令: svnserve --version
c. 查看安装路径
指令:which svnserve
或 rpm -ql subversion
2 离线安装
2.1 下载安装包
根据实际需要自行下载对应的安装包版本即可。我这边使用的安装包为subversion-1.14.2.tar.gz。
最新版本:https://subversion.apache.org/download
历史版本:https://archive.apache.org/dist/subversion/
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
2.3 异常处理
异常情况1 :缺少C编译器
A. 异常提示
B. 解决方案
a. 在线安装C编译器
指令:yum -y install gcc
b. 离线安装
下载指令: yum install --downloadonly --downloaddir=./gcc gcc
安装指令:rpm -ivh *.rpm --nodeps --force
执行结果:
异常情况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
编辑内容:
e. 编辑用户管理配置文件 passwd
指令:vi passwd
编辑内容:
f. 编辑权限管理配置文件 authz
指令:vi authz
编辑内容:
4 启动和关闭
a. 启动
指令: svnserve -d -r /svn/store
或svnserve -d -r /svn/store --listen-port=3690
b. 关闭
指令:killall svnserve
c. 卸载
离线:直接删除安装目录及相关路径配置
在线:yum remove subversion
d. 开机自启动
i. 建立自动启动脚本running.sh
指令:vi /svn/running.sh
编辑内容:
ii 给予启动脚本执行权限
指令:chmod 777 running.sh
iii. 编辑启动文件/etc/rc.d/rc.local
指令:vi /etc/rc.d/rc.local
编辑内容:
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