zoukankan      html  css  js  c++  java
  • Linux(CentOS)系统下搭建svn服务器

    由于GitHub的私有项目需要收费,gitlab对服务器的要求必须是4GB内存以上。对于一些个人的小型项目,想要免费的版本控制工具来管理自己的代码,又不想代码公开,无疑SVN是比较好的选择。windows下的SVN搭建比较简单,但是一般购买服务器选择Linux的还是比较多。下面就介绍在Linux系统下如何搭建自己的SVN服务器。

    【安装步骤】

    1.使用yum在线安装

    $ yum install subversion

    $ rpm -ql subversion  #查看安装位置.

    2.创建svn版本库目录(此处演示创建多个)

    $ mkdir -p /root/svn/project1

    $ mkdir -p /root/svn/project2

    3.创建版本库

    $ svnadmin create /root/svn/project1

    $ svnadmin create /root/svn/project2

    【配置说明】

    1.进入其中一个版本库的配置文件目录(此处只讲解其中一个版本库的操作说明)

    $ cd /root/svn/project1/conf

    image.png

    authz 文件是权限控制文件

    passwd 是帐号密码文件

    svnserve.conf 是SVN服务配置文件

    2.设置帐号密码

    $ vim passwd

    在[users]块中添加用户和密码,格式:帐号=密码,如renxing=renxing

    image.png

    3.设置权限

    $ vim authz

    在末尾添加如下代码:(备注:Linux下快速到达vim末尾的命令是:Shift+G.更多关于vim操作的命令请 参考这里)

    [/]
    renxing=rw
    w=r

    image.png

    意思是版本库的根目录renxing对其有读写权限,w只有读权限

    4. 修改svnserve.conf文件

    $ vim svnserve.conf

    打开下面的几个注释:

    anon-access = none   #匿名用户可读 【参考:https://www.cnblogs.com/kccdzz/p/9414045.html】
    auth-access = write  #授权用户可写
    password-db = passwd #使用哪个文件作为账号文件
    authz-db = authz     #使用哪个文件作为权限文件
    realm = /root/svn/project1 #认证空间名,版本库所在目录

    image.png

    说明:project2的配置方法同上。

    【启动svn版本库】 

    启动当前svn版本库:

    $ svnserve -d -r /root/svn

    SVN默认的打开端口是3690,可以通过下面的命令查看:

    $ netstat -antp | grep svn

    image.png

    centos7 打开防火墙端口:

    $ sudo firewall-cmd --permanent --add-port=3690/tcp

    $ sudo firewall-cmd --reload

    如果是在阿里云购买的服务器,还要打开3690端口才能访问。

    找到服务器的“配置规则”,点击“添加安全组规则”

    image.png

    image.png

    在客户端测试:

    $ svn checkout svn://127.0.0.1  

    之后输入passwd中输入的账号和密码即可检出代码。

    备注:Linux下安装svn客户端的命令为: $ yum install svn

  • 相关阅读:
    第一个EJB示例
    Visual Studio/Eclipse调用 JBoss5中的WebService
    TomEE
    eclipse 启动时使用指定的jdk
    Haskell示例
    安装VS2010 SP1后,再安装mvc3
    Mysql报错为1366的错误的时候
    Java8-如何将List转变为逗号分隔的字符串
    IDEA连接mysql又报错!Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' prope
    he last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
  • 原文地址:https://www.cnblogs.com/rxbook/p/9106501.html
Copyright © 2011-2022 走看看