linux安装svn服务及查错(安装完用小乌龟连不上svn)

以下安装步骤摘抄至菜鸟教程svn

小乌龟下载地址

检查svn是否已经安装 如果没有安装,命令将报告svn命令找不到的错误。

image.png

如果没有安装可以使用yum install subversion 命令进行安装。


image.png

安装成功之后,执行 svn --version 命令。


image.png

至此,SVN安装完成。

搭建svn服务

  • 创建文件夹用于存放svn文件
mkdir /opt/svn
  • 利用svn命令创建版本库
svnadmin create /opt/svn/runoob
  • 使用命令svnserve启动服务
svnserve -d -r 目录 --listen-port 端口号
  • -r: 配置方式决定了版本库访问方式。
  • --listen-port: 指定SVN监听端口,不加此参数,SVN默认监听3690
由于-r 配置方式的不一样,SVN启动就可以有两种不同的访问方式

方式一:-r直接指定到版本库(称之为单库svnserve方式)

svnserve -d -r /opt/svn/runoob

在这种情况下,一个svnserve只能为一个版本库工作。
authz配置文件中对版本库权限的配置应这样写:

[groups]
admin=user1
dev=user2
[/]
@admin=rw
user2=r

使用类似这样的URL:svn://192.168.0.1/ 即可访问runoob版本库
方式二:指定到版本库的上级目录(称之为多库svnserve方式)

[groups]
admin=user1
dev=user2
[runoob:/]
@admin=rw
user2=r

[runoob01:/]
@admin=rw
user2=r

如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录。
使用类似这样的URL:svn:// 192.168.0.1/runoob  即可访问runoob版本库。

配置svn

  • 进入/opt/svn/runoob/conf目录 修改默认配置文件配置,包括svnserve.conf、passwd、authz 配置相关用户和权限。
  1. svn服务配置文件svnserve.conf
    svn服务配置文件为版本库目录中的文件conf/svnserve.conf。该文件仅由一个[general]配置段组成。
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = tiku 
  • anon-access: 控制非鉴权用户访问版本库的权限,取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 默认值:read
  • auth-access: 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 默认值:write
  • authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径。 默认值:authz
  • realm: 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的 认证域相同,建议使用相同的用户名口令数据文件。 默认值:一个UUID(Universal Unique IDentifier,全局唯一标示)。
进入svnserve.conf 去除单#号注释 realm可以填svn存储路径如:/opt/svn
  1. 用户名口令文件passwd
    用户名口令文件由svnserve.conf的配置项password-db指定,默认为conf目录中的passwd。该文件仅由一个[users]配置段组成。
    [users]配置段的配置行格式如下:
<用户名> = <口令>
[users]
admin = admin
thinker = 123456
  1. 权限配置文件
    权限配置文件由svnserve.conf的配置项authz-db指定,默认为conf目录中的authz。该配置文件由一个[groups]配置段和若干个版本库路径权限段组成。
    [groups]配置段中配置行格式如下:
<用户组> = <用户列表>

版本库路径权限段的段名格式如下:

[<版本库名>:<路径>] 
[groups]
g_admin = admin,thinker

[admintools:/]
@g_admin = rw      //表示admin账号与thinker账号对admintools版本库拥有读写权限
* =                //表示其他用户对admintools版本库无任何权限

[test:/home/thinker]
thinker = rw   //表示thinker账号对test版本库下/home/thinker文件夹拥有读写权限
* = r          //表示其他用户对test版本库下/home/thinker拥有读权限

查错(小乌龟连不上)

  1. 检查网络是否正常


    image.png

    ping得通用外网地址说明网络正常

  2. 确认svn服务是否已启动
    在终端输入以下命令 显示所有进程信息

ps -ef

如下检查svn进程是否存在


image.png

或在终端输入如下命令 显示指定进程信息

ps -aux | grep svnserve
image.png

进程存在说明svn服务已正常启动

3.查看端口是否开放
在终端输入以下命令 查看当前所有tcp端口·

netstat -ntlp
image.png

可以看到当前svn服务占用的端口号为3690
知道端口号就可以查看下此端口号是否可以让外界访问到方式2种:

  1. 在电脑打开cmd命令行窗口 使用telnet命令查看端口是否开放按此方法需要安装telnet客户端可通过控制面板-程序-启用或关闭windows功能中添加


    image.png

    按回车键能进入此窗口说明端口是开放的


    image.png
  2. 在终端下输入如下命令 列出对外开放的端口
firewall-cmd --list-ports 

查看svn服务端口是否在列表中


image.png

如果端口不在列表中 在终端输入如下命令

firewall-cmd --add-port=3690/tcp --permanent      ##永久添加3690端口
  1. 检查小乌龟上填写路径是否正确
  2. svn配置修改是否有重启服务

你可能感兴趣的:(linux安装svn服务及查错(安装完用小乌龟连不上svn))