(Linux系统)SVN的服务器搭建---安装与配置详解

本文详细介绍SVN的安装过程,包括使用yum进行快速安装、创建版本仓库、配置账号密码和权限,以及启动SVN服务并进行本地测试的方法。同时,讲解如何通过配置文件authz和passwd管理用户权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言



关于代码的管理一般来说是有两种方式:集中式与分布式。而关于这两种方式最常用的工具的代表分别是SVN与Git。
这两种工具,实际上它们是各有其优点和缺点的。至于一个项目所使用的哪种管理代码的方式,一般是与其开发人员的使用习惯有关。有人觉得Git更好,有人觉得SVN更方便。当然,我们认为存在就是有道理的,svn被使用了这么久,还没有被完全取代,就像是电子货币的出现还未能取代现金,其存在是有其必要性的。所以,我们认为凡是要与代码打交道的人,都要了解一下这两款工具。
由于以前写了一些Gitlab的相关文章,就不介绍它了。下面我们要介绍的是SVN的安装与配置。



svn的安装与配置



【1】svn安装


关于svn或者说软件的安装方式有多种。下面只介绍yum安装,由于其会自动安装svn服务器相关服务和依赖。关于源码包安装请去官网下载源码包,安装时注意版本、依赖及配置环境变量。
svn官网地址:http://subversion.tigris.org


<1>SVN安装

yum -y install subversion


<2>查看svn版本

svn --version

在这里插入图片描述




【2】创建svn版本仓库


创建的名称要根据需求


<1>创建版本库目录(为下面创建的版本库提供存放位置)

mkdir  /root/svn.com/


<2>创建svn版本库(此处repos为设定的版本库名称,可自定义)

svnadmin create /root/svn.com/repos  



【3】配置SVN


前一步创建版本库后,会在设定的版本库下生成文件,conf下为配置文件。

在这里插入图片描述

authz:账号及权限管理,控制账号分组及其是否可读写
passwd:负责账号及其密码管理
svnserve.conf:svn服务器配置文件



<1>配置账号及密码


[users]下为账号及对应密码
账号 = 密码


vim passwd

[users]
wangwu = qwe123asd
alis = @#FEX##

在这里插入图片描述

注意:要顶格写账号,等号两端空一格



<2>配置用户组及权限


[groups]
下方为创建用户组
某用户组 = 用户1,用户2,用户…

版本库目录格式:[版本库:项目目录]
下方为设定某用户或用户组可对某版本库的根目录执行的权限

@用户组 = 权限
用户 = 权限
r只读 rw可读写
* = r 意为其他用户只有读权限


vim authz

[groups]
admin = wangwu,alis


[repos:/]
@admin = rw
* = r

在这里插入图片描述


注意:
对此文件的修改会立即生效,不必重启svn

[/]:表示对全部版本库设置权限,根目录是svnserve启动时指定的
[repos:/]:表示对版本库repos设置权限
[repos:/XXX]:表示对版本库repos中的某项目设置权限
[repos:/XXX/XXX]:表示对版本库repos中的某项目的某目录设置权限



<3>配置svn

vim svnserve.conf

anon-access = read                                 允许匿名;可选择none,不允许匿名 
auth-access = write                                授权用户可写
password-db = passwd                               指定账号文件;可填写其他路径
authz-db = authz                                   指定权限文件;可填写其他路径
realm = /root/svn.com                              指定版本库所在目录

在这里插入图片描述



【4】启动SVN版本库


<1>启动svn版本库

 svnserve -d -r /root/svn.com/


<2>查看svn

ps aux |grep svn
netstat -lnput |grep svn

在这里插入图片描述

svn默认3690端口



<3>svn本地测试

svn co svn://ip/版本库名

[root@     conf]# svn co svn://127.0.0.1/repos       

Authentication realm: <svn://127.0.0.1:3690> 1cb25d65-b178-4af4-9d93-a73df5857558
Password for 'root':      
Authentication realm: <svn://127.0.0.1:3690> 1cb25d65-b178-4af4-9d93-a73df5857558
Username: wangwu                                              输入用户名
Password for 'wangwu':                                        输入密码                 

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <svn://127.0.0.1:3690> 1cb25d65-b178-4af4-9d93-a73df5857558

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes                      输入yes
A    repos/test.php                                                             
Checked out revision 1.

在这里插入图片描述

注意:由于SVN中无提交的代码,可拉下与版本库同名的目录即为成功。



【5】防火墙开放SVN


要使SVN可被拉取代码,需开放svn的端口及服务


<1>centos7端口放行

firewall-cmd --permanent --add-port=3690/tcp
firewall-cmd --reload
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漠效

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值