0


[软件部署] Linux部署SVN

CentOS部署SVN

一、前言

  服务器厂商:华为云;
  Linux版本 : CentOS 8.2 64bit ;
  SVN版本 :1.10.2;
  闲谈:搭建的过程,主要是对端口的开发和配置文件的处理修改。看了很多篇文章,有头无尾,到后面就推不下去,连续的失败使我痛苦不已,基本流程如下图所示。
流程

二、安装svnserve

1、查看svn版本

  “rpm -qa subversion” 命令用于在 Linux 系统中查询已安装的 subversion 。

    rpm -qa subversion

  如果你安装了subversion,会显示如下信息。
在这里插入图片描述

2、卸载旧版本

  “yum -y remove subversion” 命令卸载在 Linux 系统中已安装的 subversion 。

    yum -y  remove subversion

  显示“Complete”,卸载已成功;
在这里插入图片描述

3、 下载安装

  显示“Complete”,安装成功;

    yum -y install subversion

在这里插入图片描述
在这里插入图片描述

三、创建版本库目录

  版本库目录根据你的需要,创建一个文件夹进行管理你的SVN库。这个目录位置是可以自定义的,如下图所示,是我在“/var/”路径下创建svn文件夹的过程。
在这里插入图片描述

四、创建svn版本库

  在版本库目录可能存在多个版本库,现在我们创建一个版本库“Note”。

#svnadmincreate  <版本库名称>
    svnadmin create   Note

  如下图所示,创建完成后,“cd /路径”进入到我们的svn版本库位置,“ls”查看版本库。(这个位置实在版本库路径下的,下图仅作为本章节效果演示)。
在这里插入图片描述
在这里插入图片描述

五、配置文件修改

  在“conf”路径下,有三个文件需要配置修改;通过服务器远程访问、宝塔、WinSCR访问文件进行修改,通过vim指令进行配置修改;

  • conf:是这个仓库配置文件(仓库用户访问账户,权限) ;
  • format:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号;
  • hooks:放置hook脚步文件的目录;
  • locks:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端。

在这里插入图片描述

1、 authz

  在“conf”路径下,打开"authz"文件;
在这里插入图片描述
  vim打开文件后,按一下”i“,开始对文件修改,可以设置组等操作,如图所示,对用户”admin“和”note“赋予读写权限,其他为空;
  vim修改完成后,摁一下”Esc“键,输入”:wq“保存退出。
在这里插入图片描述
在这里插入图片描述

2、 passwd

  在“conf”路径下,打开"passwd"文件;对用户进行密码设置;

    #例如”admin = admin123“
    
    #注意事项一个用户对应一个密码,在”=“左右各一个空格;

在这里插入图片描述

3、 svnserve.conf

  在“conf”路径下,打开"svnserve.conf"文件;

  • anon-access 控制非鉴权用户访问版本库的权限。
  取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:read
  • auth-access 控制鉴权用户访问版本库的权限。
    取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:write
  • password-db 指定用户名口令文件名。
   除非指定绝对路径,否则文件位置为相对conf目录的相对路径。缺省值:passwd
  • authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
除非指定绝对路径,否则文件位置为相对conf目录的相对路径。缺省值:authz
  • realm 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件。
缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。

  这个文件的配置的主要问题在:
(1)#authz-db = authz,按照教程来说,它应该是放开的,但在放开之后就会存在检出失败的问题。在这里我是给注掉了。
(2)“realm = /svn”改为了版本库目录路径,就是你上文创建的那个文件夹所在路径。这个也可不用修改。
(3)为了安全考虑,”anon-access = none“,只有用户方可访问。

   PS:这个文件配置无误的话,我们就已经成功了70%。

在这里插入图片描述

六、防火墙配置

   subversion 的默认端口为3690,可在服务器进行配置,或者使用命令进行端口开放。
在这里插入图片描述

1、关闭防火墙

service iptables stop

2、开启3690端口

/sbin/iptables -A INPUT -p tcp --dport 3690-j ACCEPT

   验证

/sbin/iptables -L -n -v

在这里插入图片描述

   保存

service iptables save

七、重启svn服务器

svnserve -d -r /版本库目录地址

   查看3690是否启动。

netstat -apn | grep 3690

在这里插入图片描述

八、版本库检出

   在linux服务器输入命令测试:

svn co svn://ip地址:3690/xxxx

在这里插入图片描述

八、结语

   我们详细探讨了在 Linux 系统上安装和配置 Subversion(SVN)的过程。从基础的安装命令到仓库的创建,再到 防火墙 的配置,我们希望这些步骤能够帮助你顺利搭建自己的版本控制系统。SVN 是一个强大的工具,不仅能帮助开发者管理代码版本,还能促进团队协作和项目管理。
   如果你在安装或使用过程中遇到问题,欢迎共同探讨,本文中的不当之处,也欢迎指正。

附录

如果你的svn检出失败,很有可能由以下原因引起的:
1、防火墙端口、宝塔端口未开启;
2、建议使用配置无误的conf文件进行比对,是否conf配置导致检出失败。

标签: linux svn 运维

本文转载自: https://blog.csdn.net/qq_45689003/article/details/142995062
版权归原作者 山河梧念 所有, 如有侵权,请联系我们删除。

“[软件部署] Linux部署SVN”的评论:

还没有评论