Linux下搭建svn服务器

本文是在CentOS中采用yum安装方式。优点:简单,一键安装,不用手动配置环境变量等。缺点:安装位置为yum默认,比如我们公司服务器上安装软件有自己的规定,一般会采用压缩包安装。

以下是我在CentOS7.2(阿里云服务器)下部署方式,安装步骤如下:

(注 : 红色标记为shell 命令)

一、yum安装subversion

    1. 安装subversion yum install subversion

  2. 查看安装版本,检查安装是否成功 svnserve --version  ,我装的版本为  1.7.14

  3. 查看安装位置  rpm -ql subversion

二、创建版本库

  1.创建用于存放版本库的目录,比如我准备在/usr/local/blue/svn/Code下创建版本库  mkdir -p /usr/local/blue/svn/Code

  2.创建svn版本库,指定为刚才创建的目录 svnadmin create /usr/local/blue/svn/Code

  3.创建完后,版本库目录下会生成一些文件,进入conf目录下。conf目录中authz文件是权限控制文件,passwd是帐号密码文件,svnserve.conf是SVN服务配置文件

  4.修改passwd文件,加入用户,格式就是“用户名=密码”,如:  admin = 123

  5.修改authz文件,加入用户权限:

    [/] 

    admin = rw

   这就表示admin用户对版本库根目录有读写权限(即最高权限了),权限配置方式在authz文件注释中有详细说明

  6.svnserve.conf里面常用的配置有设置匿名用户(默认可读)、授权用户(默认读写)的读写权限,以及指定账号文件(默认passwd)、权限文件(默认authz)的路径等。看起来应该默认值就够了,但实际使用发现还是得手动把相关注释打开,不知道是什么原因。

  7.启动svn版本库 svnserve -d -r  /usr/local/blue/svn/

   其中,-r的作用是设置根目录路径,比如我这样设置后在访问时输入svn://x.x.x.x/就会直接到我的svn目录下(当然在svn目录下是找不到版本库的),如果想访问版本库则输入svn://x.x.x.x/Code即可。

   换句说话,如果启动版本库时命令为svnserve -d -r  /usr/local/blue/svn/Code,则访问svn://x.x.x.x/就能直接到版本库内。

三、常见问题

  1.注意打开端口的访问权限。svn服务的默认端口为3690,比如我部署在阿里云服务器上,必须先在阿里云控制台打开3690端口的外部访问权限。

  2.关闭svn服务的方式是杀掉进程,kill pid或者pkill svnserve

    

  

  

  

原文地址:https://www.cnblogs.com/k-blog/p/7852923.html