Linux 源码编译SVN

一、下载安装包

SVN源码包下载(我这里下载的是1.14.2版本)

https://subversion.apache.org/download.cgi

apr源码包(我这里下载的是1.7.2版本)

https://dist.apache.org/repos/dist/release/apr/

apr-util源码包(我这里下载的是1.6.3版本)

https://dist.apache.org/repos/dist/release/apr/

expat源码包(我这里下载的是2.5.0版本)

https://github.com/libexpat/libexpat/releases

SCons源码包(我这里下载的是2.4.1版本,高版本的需要用Python3编译,编译成功了还会有其他问题,所以没用最新的版本)

https://sourceforge.net/projects/scons/files/scons/2.4.1/scons-2.4.1.tar.gz/download

Python的setuptools源码包版本(使用Python安装SCons时需要的模块,如果安装过了就不需要再安装)

http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz

serf源码包(我这里下载的是1.3.9版本)

http://archive.apache.org/dist/serf/

sqlite-amalgamation源码包(我这里下载的是3.40.1版本)

http://www.sqlite.org


二、安装必要依赖

yum -y install zlib zlib-devel openssl openssl-devel


三、编译安装源码

1.安装apr

[root@SVNSAPP1]# tar -xvf apr-1.7.2.tar.gz
[root@SVNSAPP1 apr-1.7.2]#cd apr-1.7.2 
[root@SVNSAPP1 apr-1.7.2]#./configure --prefix=/data/apr
[root@SVNSAPP1 apr-1.7.2]#make && make instlal

如果报错:rm: cannot remove `libtoolT’: No such file or directory

处理:将configure文件中的R M " RM "RM"cfgfile"这行代码注释掉就可以了

2.安装apr-util

[root@SVNSAPP1]# tar -xvf apr-util-1.6.3.tar.gz 
[root@SVNSAPP1]# cd apr-util-1.6.3
[root@SVNSAPP1 apr-util-1.6.3]#./configure --prefix=/data/apr-util --with-apr=/data/apr
[root@SVNSAPP1 apr-util-1.6.3]# make && make install

如果报错:错误:xml/apr_xml.c:35:19: 错误:expat.h:没有那个文件或目录

没有expat头文件,需要编译安装expat,解压上面下载的expat:

[root@SVNSAPP1 expat-2.5.0]# ./configure
[root@SVNSAPP1 expat-2.5.0]# make && make install

3.安装SCons

[root@SVNSAPP1]# tar -xzf scons-2.4.1.tar.gz 
[root@SVNSAPP1]# cd scons-2.4.1
[root@SVNSAPP1 scons-2.4.1]# python setup.py install
[root@SVNSAPP1 scons-2.4.1]# scons

安装完成后在当前目录下运行scons时,如果显示scons:*** No SConstruct file found. 说明安装成功。

从Subversion-1.8开始需要使用serf软件包支持访问http协议的版本库,如果不安装serf的话,在使用SVN时路径中有http的话,就会报错svn: E170000: Unrecognized URL scheme for ${url}。

安装serf必须要通过SCons来安装,所以这里要安装SCons。在执行Python setup.py install命令时,如果报错:ImportError: No module named setuptools,需要安装Python的setuptools模块,安装命令如下:

[root@SVNSAPP1]# tar zxvf setuptools-0.6c11.tar.gz
[root@SVNSAPP1]# cd setuptools-0.6c11
// 编译setuptools
[root@SVNSAPP1 setuptools-0.6c11]# python setup.py build
// 开始执行setuptools安装
[root@SVNSAPP1 setuptools-0.6c11]# python setup.py install

4.安装serf

解压下载的serf安装包,然后执行下面的命令:

[root@SVNSAPP1]# tar -jxvf serf-1.3.9.tar.bz2
[root@SVNSAPP1]# cd serf-1.3.9
[root@SVNSAPP1 serf-1.3.9]# scons PREFIX=/usr/local/serf APR=/data/apr APU=/data/apr-util
[root@SVNSAPP1 serf-1.3.9]# scons PREFIX=/usr/local/serf LIBDIR=/usr/local/serf/lib
[root@SVNSAPP1 serf-1.3.9]# scons install
[root@SVNSAPP1 serf-1.3.9]# cp /usr/local/serf/lib/libserf-1.so* /usr/lib/

5.安装svn

首先需要把上面下载的sqlite-amalgamation源码包解压,里面有四个头文件,然后在要安装SVN的目录下创建sqlite-amalgamation文件夹,把刚才解压后得到的四个头文件移到创建的目录下,这里我SVN的安装目录是/usr/local/SVN

[root@SVNSAPP1]# tar -xvf sqlite-amalgamation-3400100.tar.gz
[root@SVNSAPP1]# mkdir -p /usr/local/SVN/sqlite-amalgamation
[root@SVNSAPP1]# mv sqlite-amalgamation-3400100/* /usr/local/SVN/sqlite-amalgamation
[root@SVNSAPP1]# tar -xvf subversion-1.14.2.tar.gz
[root@SVNSAPP1]# cd subversion-1.14.2
[root@SVNSAPP1 subversion-1.14.2]# ./configure --prefix=/usr/local/SVN --with-apr=/data/apr --with-apr-util=/data/apr-util --with-serf=/usr/local/serf --with-lz4=internal --with-utf8proc=internal
[root@SVNSAPP1 subversion-1.14.2]# make
[root@SVNSAPP1 subversion-1.14.2]# make install

如果报错:configure:error:subversion requires zlib

需要安装zlib,zlib源码包(我这里下载的是1.2.13版本)

http://www.zlib.net/

如果报错:configure: error: Subversion requires LZ4 >= r129, or use --with-lz4=internal

解决:./configure命令添加 --with-lz4=internal

如果报错:configure: error: Subversion requires UTF8PROC

解决:./configure命令添加 --with-utf8proc=internal


四、添加环境变量

[root@SVNSAPP1]# echo "export PATH=/data/svn/bin:$PATH" >> /etc/profile
[root@SVNSAPP1]# source /etc/profile


五、查看安装信息

[root@SVNSAPP1]# svnserve --version
svnserve,版本 1.14.2 (r1899510)
   编译于 Feb  28 2023,14:44:58 在 aarch64-unknown-linux-gnu

Copyright (C) 2022 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

下列版本库后端(FS) 模块可用: 

* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
* fs_x : Module for working with an experimental (FSX) repository.
[root@SVNSAPP1]# svn --version
svn,版本 1.14.2 (r1899510)
   编译于 Feb 28 2023,14:44:58 在 aarch64-unknown-linux-gnu

Copyright (C) 2022 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

可使用以下的版本库访问模块: 

* ra_svn : 使用 svn 网络协议访问版本库的模块。
  - 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
  - 处理“file”方案
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.9 (compiled with 1.3.9)
  - 处理“http”方案
  - 处理“https”方案

The following authentication credential caches are available:

* GPG-Agent

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在Linux下安装SVN,可以按照以下步骤进行: 1. 安装SVN客户端:在终端中输入以下命令: sudo apt-get install subversion 2. 创建SVN仓库:在终端中输入以下命令: sudo svnadmin create /path/to/repository 其中,/path/to/repository是你要创建的SVN仓库的路径。 3. 配置SVN仓库:在SVN仓库的conf目录下,有三个重要的配置文件:authz、passwd和svnserve.conf。你可以根据需要进行配置。 4. 启动SVN服务:在终端中输入以下命令: sudo svnserve -d -r /path/to/repository 其中,/path/to/repository是你创建的SVN仓库的路径。 5. 测试SVN服务:在终端中输入以下命令: svn co svn://localhost/path/to/repository 其中,/path/to/repository是你创建的SVN仓库的路径。 如果一切正常,你应该能够成功连接到SVN仓库,并且可以开始使用SVN了。 ### 回答2: 在Linux系统中,安装Subversion(简称SVN)非常简单,这里我们以Ubuntu系统为例,介绍一下SVN的安装过程: 1. 打开终端,输入以下命令更新系统软件包索引: sudo apt-get update 2. 安装Subversion和Apache服务器: sudo apt-get install subversion apache2 libapache2-svn 3. 配置Apache,将SVN模块加入到Apache中: sudo a2enmod dav_svn sudo service apache2 restart 4. 创建SVN版本库,可以在任意目录下创建版本库,例如在/var/svn/下创建test仓库: sudo svnadmin create /var/svn/test 5. 编辑SVN配置文件,将下面的内容加入到/etc/apache2/mods-enabled/dav_svn.conf文件中: <Location /svn> DAV svn SVNPath /var/svn/test AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/subversion/passwd Require valid-user </Location> 其中,/var/svn/test是版本库的路径,/etc/subversion/passwd是存储用户名和密码的文件。 6. 设置访问SVN的用户名和密码: sudo htpasswd -cm /etc/subversion/passwd username 其中,username是你自己设置的用户名。 7. 重新启动Apache服务器: sudo service apache2 restart 至此,你已经成功安装并配置好了Subversion,可以使用SVN客户端工具来访问SVN版本库了。如果你要在Linux系统中搭建SVN服务器,以上步骤就是基本操作,有了这些基础,你就可以进一步深入SVN的学习与实践。 ### 回答3: 在Linux下安装Subversion(svn)可以帮助您管理软件项目的版本控制。本文将介绍如何在Linux系统上安装Subversion版本控制系统。 Subversion服务端安装 1.安装Apache Subversion是在Apache的基础上构建的,因此需要在服务器上安装Apache。 Ubuntu用户可以使用以下命令安装Apache: sudo apt-get update sudo apt-get install apache2 如果您使用的是CentOS,请使用以下命令安装Apache: sudo yum update sudo yum install httpd 2.安装Subversion 使用以下命令在您的Linux机器上安装Subversion: Ubuntu用户: sudo apt-get update sudo apt-get install subversion libapache2-svn CentOS用户: sudo yum update sudo yum install subversion mod_dav_svn 3.创建svn存储库 使用以下命令创建svn存储库(在如下命令中 repo 目录名是为了说明,您可以更换,默认的存储仓库名称为repo): mkdir -p /var/www/repo sudo svnadmin create /var/www/repo 4.配置Apache访问svn存储库 在配置Apache访问svn存储库前,需要加载mod_dav_svn 模块,您可以使用以下命令启用该模块: sudo a2enmod dav_svn 在启用mod_dav_svn 模块后,需要使用以下命令编辑 Apache 配置文件: sudo nano /etc/apache2/mods-enabled/dav_svn.conf 在文件的末尾添加以下内容(您需要根据您自己的SVN存储库文件路径来设置以下路径): <Location /svn> DAV svn SVNPath /var/www/repo AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </Location> 5.创建Apache认证用户 为svn存储库设置启用 Basic 模式的身份验证,编辑认证文件创建用户和密码: sudo htpasswd -cm /etc/apache2/dav_svn.passwd svnuser 其中“svnuser”是用户名,它将显示在Apache的身份验证窗口中。 6.重启Apache 在完成上述所有步骤后,使用以下命令重启Apache: sudo service apache2 restart 7.使用svn客户端访问svn存储库 现在,您可以使用任何基于svn客户端的版本控制工具来访问svn存储库。 使用以下命令检出仓库: svn co http://<域名或IP>/svn/ Linux上安装svn服务端的步骤大致介绍完毕,如果您发现无法启动Apache服务或其他错误,可以通过搜索错误代码或相关错误解决方案来解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值