linux下安装svn1.14.0

按需卸载旧版本和旧依赖

apt purge subversion -y
mv /usr/sbin/svn /usr/sbin/svn.bak
mv /usr/bin/svn /usr/bin/svn.bak
mv /usr/local/bin/svn /usr/local/bin/svn.bak
rm -rf /usr/local/svn -rf
rm -rf /tmp/svn/src/*
rm /usr/local/lib/libserf-*

安装步骤

# 1. 创建临时文件夹用于存放安装时下载的文件和依赖
mkdir -p /tmp/svn/src

# 2. 安装相关依赖
apt install gcc g++ make zlib* unzip openssl libssl-dev python python-dev python-openssl -y

# 3. 下载相关源文件
wget -P /tmp/svn/src/ https://mirrors.tuna.tsinghua.edu.cn/apache/subversion/subversion-1.14.0.tar.gz
wget -P /tmp/svn/src/ https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
wget -P /tmp/svn/src/ https://mirrors.bfsu.edu.cn/apache//apr/apr-1.7.0.tar.gz
wget -P /tmp/svn/src/ https://mirrors.bfsu.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
wget -P /tmp/svn/src/ https://www.sqlite.org/2020/sqlite-amalgamation-3340000.zip
wget -P /tmp/svn/src/ http://prdownloads.sourceforge.net/scons/scons-3.0.1.tar.gz
wget -P /tmp/svn/src/ https://www.apache.org/dist/serf/serf-1.3.9.tar.bz2
wget -P /tmp/svn/src/ https://www.openssl.org/source/openssl-1.1.1i.tar.gz
wget -P /tmp/svn/src/ https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.46.tar.gz

# 4. 安装apr
tar zxf /tmp/svn/src/apr-1.7.0.tar.gz -C /tmp/svn/src/
cd /tmp/svn/src/apr-1.7.0
./configure --prefix=/usr/local/apr
make -j 4 && make install

# 5. 安装apr-util
tar zxf /tmp/svn/src/apr-util-1.6.1.tar.gz -C /tmp/svn/src/
cd /tmp/svn/src/apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
make -j 4 && make install

# 6. 安装pcre
tar zxf /tmp/svn/src/pcre-8.44.tar.gz -C /tmp/svn/src/
cd /tmp/svn/src/pcre-8.44
./configure --prefix=/usr/local/pcre
make -j 4 && make install

# 7. 安装serf
# 7.1  安装scons (serf需要scons来编译安装)
tar zxf /tmp/svn/src/scons-3.0.1.tar.gz -C /tmp/svn/src/
cd /tmp/svn/src/scons-3.0.1
python setup.py install --prefix=/usr/local/scons
# 这里试过用最新版的4.0.1, 但安装时会报错,具体原因没有深究,有清楚的小伙伴也可以留言给我科普一下
# 有小伙伴科普了4.0.1需要python的版本为3.+

# 7.2. 安装serf
tar xf /tmp/svn/src/serf-1.3.9.tar.bz2 -C /tmp/svn/src/
cd /tmp/svn/src/serf-1.3.9
/usr/local/scons/bin/scons PREFIX=/usr/local/serf APR=/usr/local/apr APU=/usr/local/apr-util
/usr/local/scons/bin/scons install
cp /usr/local/serf/lib/libserf-1.so* /usr/local/lib/

# 8. 安装openssl
tar xf /tmp/svn/src/openssl-1.1.1i.tar.gz -C /tmp/svn/src/
cd /tmp/svn/src/openssl-1.1.1i
./config --prefix=/usr/local/openssl
make -j 4 && make install

# 9. 安装httpd
tar xf /tmp/svn/src/httpd-2.4.46.tar.gz -C /tmp/svn/src/
cd /tmp/svn/src/httpd-2.4.46
./configure --prefix=/usr/local/apache2 --with-apr-util=/usr/local/apr-util --with-apr=/usr/local/apr/ --with-openssl=/usr/local/openssl --with-pcre=/usr/local/pcre
make -j 4 && make install


# 10. 安装svn
tar zxf /tmp/svn/src/subversion-1.14.0.tar.gz -C /tmp/svn/src/
unzip /tmp/svn/src/sqlite-amalgamation-3340000.zip -d /tmp/svn/src/
cd /tmp/svn/src/subversion-1.14.0
/tmp/svn/src/subversion-1.14.0/get-deps.sh
mkdir -p /tmp/svn/src/subversion-1.14.0/sqlite-amalgamation
cp /tmp/svn/src/sqlite-amalgamation-3340000/* /tmp/svn/src/subversion-1.14.0/sqlite-amalgamation/
./configure --prefix=/usr/local/svn --without-berkeley-db --with-utf8proc=internal --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-serf=/usr/local/serf --with-lz4=internal --with-apxs=/usr/local/apache2/bin/apxs
# --with-apxs=/usr/local/apache2/bin/apxs 会在/usr/local/svn/libexec生成mod_dav_svn.so文件,以及mod_authz_svn.so文件
make -j 4 && make install
ln -s /usr/local/svn/bin/svn /usr/bin/svn

# 11. 查看svn版本
svn --version

# 12. 安装成功后删除之前下载和解压的临时文件
rm -rf /tmp/svn/src/*

其他问题

  1. svnadmin: command not found
    svn成功安装后, 输入svn --help, 控制台有对应输出, 但输入svnadmin --help无对应输出
    ln -s /usr/local/svn/bin/svnadmin /usr/bin/svnamdin

  2. 如果执行报以下错误, 需要手动把libserf-1.so.1拷贝到svn安装目录下的lib文件夹内
    在这里插入图片描述
    cp /tmp/svn/src/serf-1.3.9/libserf-1.so.1 /usr/local/svn/lib

  3. scons版本过高会出现下面这个问题,这里没有深究为什么会报错,只是简单地把scons的版本降到了3.0.1
    在这里插入图片描述

相关链接

subversion下载页
pcre下载页
apr和apr-util下载页
sqlite-amalgamation下载页
scons下载页
serf下载页
openssl下载页
httpd下载页

附件

svn1.14.0_install.sh

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答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服务或其他错误,可以通过搜索错误代码或相关错误解决方案来解决问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值