如何部署 svn 服务

Subversion是一个开源版本控制系统。它可以帮助您跟踪文件和文件夹的集合。每次更改,添加或删除使用Subversion管理的文件或文件夹时,都会将这些更改提交到Subversion存储库,从而在存储库中创建反映这些更改的新修订。您可以随时返回,查看并获取以前版本的内容。

本文将帮助您在Ubuntu 18.04 LTS和16.04 LTS系统上逐步设置Subversion(svn)服务器。首先您需要有一台云服务器。如果您还没有腾讯云的服务器,可以先点击这里进行免费套餐的试用。免费套餐包含企业版和个人版,超过11款热门产品和42款长期免费的云产品可以供您选择。如果您有长期搭建服务器的需求的话,可以点击这里进行服务器的购买,现在的促销力度很大哦。

安装Apache

首先,您需要安装Apache Web服务器以使用HTTP URL访问svn服务器。如果您的系统上已有Apache Web服务器,请跳过此步骤。

sudo apt-get update
sudo apt-get install apache2

安装SVN服务器

使用以下命令安装Subversion包及其依赖项。另外,在系统上为Apache libapache2-mod-svn软件包安装svn模块。

sudo apt-get install subversion libapache2-mod-svn libapache2-svn libsvn-dev

安装后,启用所需的Apache模块并重新启动Apache服务。

sudo a2enmod dav
sudo a2enmod dav_svn
sudo service apache2 restart

使用Subversion配置Apache

Subversion Apache模块包创建一个配置文件/etc/apache2/mods-enabled/dav_svn.conf。您只需要对其进行必要的更改。

Alias /svn /var/lib/svn
<Location /svn>
​
   DAV svn
   SVNParentPath /var/lib/svn
​
   AuthType Basic
   AuthName "Subversion Repository"
   AuthUserFile /etc/apache2/dav_svn.passwd
   Require valid-user
     
</Location>

创建第一个SVN存储库

使用以下命令创建名为myrepo的第一个svn存储库。此外,在新创建的目录上设置所需的权限。

sudo mkdir -p /var/lib/svn/
sudo svnadmin create /var/lib/svn/myrepo
​
sudo chown -R www-data:www-data /var/lib/svn
sudo chmod -R 775 /var/lib/svn

为Subversion创建用户

现在在/etc/apache2/dav_svn.passwd文件中创建第一个svn用户。这些用户将用于对svn存储库进行身份验证以进行签出,提交过程。

sudo htpasswd -cm /etc/apache2/dav_svn.passwd admin

要创建其他用户,请使用以下命令。

sudo htpasswd -m /etc/apache2/dav_svn.passwd user1
sudo htpasswd -m /etc/apache2/dav_svn.passwd user2

在浏览器中访问存储库

使用HTTP URL在浏览器中访问您的存储库。它将提示进行身份验证。使用在步骤5中创建的登录凭据。使用您的系统主机名,域名或IP地址更改example.com。

 http://example.com/svn/myrepo/

结论

您现在已经完成了SVN服务器的部署。若您想在实验室环境抢先体验SVN部署迁移,我推荐您到腾讯云实验室页面进行选择,不仅有步骤指导,还可以免费上机,帮助您快速掌握开发知识!

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

10 个迅速提升你 Git 水平的提示

在这篇文章中,我们试图探索怎样有效的管理你的时间和充分的使用Git提供的功能。 注:本文中,一些命令包含了方括号中的部分内容(例如:git add -p [fi...

2834
来自专栏全华班

springcloud学习手册-实现Config server的高可用

一、GIT是什么 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds ...

3555
来自专栏DevOps时代的专栏

认识高性能Web缓存体系,你需要知道这些

前言 我们再看知识体系的时候,我们学一个东西的时候,每次我们都回过头去看一看,这就是所谓的不忘初心。这个说着容易做起来难,当一个人慢慢在成长,在进步的时候,是很...

2847
来自专栏python3

thinkphp3关闭日志

862
来自专栏嵌入式程序猿

有图有真相

自从上次简单讲解了飞思卡尔MQX RTOS系统后,不断有猿友留言,要求在讲讲启动流程,在一步步学习MQX系统的文章已经提到过,通过一步步跟踪可以清...

3706
来自专栏杨建荣的学习笔记

关于几个MySQL环境问题的对比 (r7笔记第66天)

有时候出现了环境问题,对比是一种很好的方式,如果对比得当,可以避免反复的出现问题,可以根据对比的情况推理出一些可能出现的情况或者问题。 如果对比不当,很可能得出...

3716
来自专栏地方网络工作室的专栏

打造前端MAC工作站(五)让我们熟悉一下 MAC 命令行吧!

打造前端MAC工作站(五)让我们熟悉一下 MAC 命令行吧! 前言 对于初次基础mac或者linux的朋友来说,接收和使用命令行是一个比较困难的事情。但是,正如...

25510
来自专栏FreeBuf

硬盘数据恢复的神器有哪些?

在一切工作进行之前,请先判断硬盘是否有损坏,以及缺损类型,而往往硬盘出现问题主要集中下以下两个方面: 物理(驱动器故障或者组件故障); 逻辑(文件系统出错或是数...

1918
来自专栏腾讯技术工程官方号的专栏

解决多进程模式下引起的“惊群”效应

容我详细道来这个是什么形式的“惊群”效应并如何解决。

43910
来自专栏FreeBuf

Optionsbleed 漏洞泄露 Apache Server 的内存信息

本周一安全研究员 Hanno Böck 发现,部分 Apache 服务器可能因 Optionsbleed 漏洞(CVE-2017-9798)泄漏服务器内存信息。...

30310

扫码关注云+社区

领取腾讯云代金券