ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SVN服务器安装设置

2022-09-05 08:30:09  阅读:195  来源: 互联网

标签:SVN 文件 sudo 用户 服务器 权限 安装


一、安装SVN
  安装前可以更新下源,使用sudo apt update命令,如果有新的安装包使用sudo apt upgrade命令安装。然后就是安装我们的SVN服务器了,使用命令:

sudo apt install subversion

安装完成之后通过svnserve --version命令查看是否安装成功,正常会显示如下图所示的版本信息

表示安装成功了,我这里安装的SVN版本为1.13.0。

创建SVN版本库
终端中依次输入如下命令:

$ cd /opt

$ sudo mkdir svn

$ cd svn

$ sudo mkdir repository

$ sudo svnadmin create /opt/svn/repository //创建SVN仓库

这样一来会在repository下面建立以下文件:

其中conf文件夹下是存放的配置文件,包括SVN用户名的权限、密码这些,db里面的包含我们上传到SVN服务器上面的文档、代码等数据的不同版本。这里需要注意的是要对db文件夹释放权限,否则客户端可能无法连接SVN服务器。
在终端中输入如下命令:

sudo chmod -R 777 db

正常情况会变成如下图所示:

db文件夹变绿,代表着它此时拥有执行权限了。

修改配置文件

  这一步主要是在repository文件夹下的conf这个文件夹里面的文件进行配置。总共有3个文件需要设置,下面依次说明:

1. 修改svnserve.conf文件

这个文件里面主要设置我们的SVN访问方式,如下图所示,主要修改其中3个地方即可:

这里主要有4个地方需要注意,具体作用已经在图片中写出了,其中需要重点说明的是authz和passwd这两个文件,为了后续多仓库管理的便捷性,这里的路径加了…/…/authz和…/…/passwd两个,代表着我们可以将权限设置文件和密码设置文件单独放置,这样后续需要使用SVN的人员多了,作为SVN服务器维护人员就可以很方便的添加用户的权限和密码了,团队大了或者是工程越来越多的时候可以极大的提高维护人员的工作效率。

2. 修改passwd文件

这个文件中主要是设置SVN用户的密码的,如下图所示:

设置了4个用户和对应的密码,格式为 “ 用户名 = 密码 ”,此文件主要管理SVN用户的密码

3. 修改authz文件

这个文件相当重要,我们可以在这个文件中设置用户的读写权限,做到不同用户、不同项目组成员之间权限不互通,起到信息安全的目的。如下图所示:

具体意义及说明已经在图中标注写明了,图中的授权方式为对用户组进行授权,这里再提下

[/]

@admin = rw

@normal = r

这个部分的说明,上面的 [/] 表示对根目录进行授权,即用户组成员对所有项目都具有权限共通性,我们如果要针对不同项目去设置不同权限,可以如下操作

[JAVA:/]

Heath = rw //表示用户 Heath 对项目 JAVA 的所有内容具有读写权限

Liu = r //表示用户 Liu 对项目 JAVA 的所有内容仅具有读权限

[Python:/]

Ming = rw //表示用户 Ming 对项目 Python 的所有内容具有读写权限

Tao = r //表示用户 Tao 对项目 Python 的所有内容仅具有读权限

上面这种做法可以保证Heath仅拥有JAVA项目的读写权限,没有Python项目的权限,保证项目组成员之间的信息安全和项目安全,也便于项目组成员之间的管理。

启动SVN服务器
在终端中输入

sudo svnserve -d -r /opt/svn/

启动SVN服务器,这里说明下:

-d:表示在后台运行
-r:指定服务器的根目录
顺便给出停止服务器的命令:

killall svnserve

启动完成后通过ps aux | grep svnserve命令查看是否启动成功,正常会有如下图所示结果:

表示SVN服务器启动成功了,这里为了保护服务器主机安全,建议开启防火墙,开启防火墙的操作见上一篇文章:Ubuntu20.04防火墙设置(简易教程) 。开启防火墙之后要给予SVN端口访问权限,SVN服务的默认端口为3690,必须先在服务器主机上打开3690端口的外部访问权限,如下图:

到这里,Linux系统上面的SVN服务器就搭建成功了。

标签:SVN,文件,sudo,用户,服务器,权限,安装
来源: https://www.cnblogs.com/linux-learn/p/16656784.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有