zoukankan      html  css  js  c++  java
  • Centos 6.3安装Subversion搭建SVN服务器

    Subversion有两种运行方式,一种是基于Apache Http Server,另外一种是Subversion Standalone Server。

    基于Apache Http Server的Subversion 的好处:
    A.能使用WebDAV协议。
    B.能使用浏览器作为客户端工具浏览源码仓库。
    C.可以很容易的支持到SSPI(Windows域认证)和LDAP,这些都是Apache本身就支持的。
    D.能得到比较完善的Apache安全认证系统,比如SSL加密连接。

    我采用的是 Subversion Standalone Server 方式。

    以前我使用的基于Apache Http Server的过程中,遇到一些问题。提交的代码,会导致锁定,这很让人头疼。所以,今天我要换一种方式。

    OK!进入安装配置。

    一、安装subversion
    执行如下 shell 命令进行安装:

     yum -y install subversion

    如果,你不确定自己系统中是否已经安装过svn,执行如下 shell 命令检测:

    rpm -qa | grep subversion

    如果输出类似如下结果,则说明已经安装:

    subversion-1.6.11-7.el6.x86_64

    安装之后,使用如下命令可以查看版本信息:

    svn --version

    二、建立代码仓库
    1、常规情况下,我们一个仓库里面会有多少个项目。所以,第一步得创建所有项目的仓库中心,如下命令:

    mkdir /opt/svn/

    2、现在假定我们有一个项目叫 svntest ,现在我们为这个项目在仓库中心中分配一个仓库。如下命令:

    svnadmin create /opt/svn/svntest/

    三、修改配置文件
    1、进入 svntest 项目仓库配置目录中,如下命令:

    cd /opt/svn/svntest/conf/

    2、查看配置目录中有哪些文件,如下命令:

    ll

    结果如下:

    -rw-r--r--1 root root 1105101111:55 authz
    -rw-r--r--1 root root  326101111:55 passwd
    -rw-r--r--1 root root 2271101111:54 svnserve.conf

    3、执行如下命令修改svnserve.conf:

    vi svnserve.conf

    找到以下的内容,并在行首注释符号#删掉。

    [general]
    anon-access = none
    auth-access = write
    password-db = passwd
    authz-db = authz

    4、为 svntest 项目增加svn用户,并且赋予权限值:

    vi authz

    在文件中添加如下代码:

    [svntest:/]
    svn001 = rw

    代码的意思是:为 svntest 项目添加一个svn001的用户,并且,这个用户对于 svntest 项目拥有读写权限。

    关于方框号里面的写法有以下几种:
    [/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/opt/svntest,[/]就是表示对全部版本库设置权限。
    [svntest:/] 表示对版本库svntest设置权限
    [svntest:/abc] 表示对版本库svntest中的abc项目设置权限
    [svntest:/abc/aaa] 表示对版本库svntest中的abc项目的aaa目录设置权限

    5、给用户分配密码,执行如下命令:

    vi passwd

    输入如下内容:

    svn001 =123456

    四、启动svn服务和测试

    1、启动svn服务,并指定 svn 的根目录:

    svnserve -d -r /opt/svn/

    2、查看svn服务是否正常启动,执行如下命令:

    netstat -tunlp | grep svn

    会输出如下结果:

    tcp  000.0.0.0:36900.0.0.0:*  LISTEN  1737/svnserve

    顺便提一下,svn的默认端口是3690。

    3、在windows系统上测试是否成功:

    1)首先保证你的系统中已经安装了 subversion 客户端程序。如果没有安装马上下载安装,并重启windows系统。

    2)在windows任意的目录中,创建一个文件夹,文件夹的名字任意,最好是英文名。如我的:svn_test。

    3)右键点击该文件夹,选择”Checkout…”,填写如下信息,如图:

    4)点击“确定”按钮之后,会弹出一个对话框,让你输入账号密码,我们的账号是:svn001,密码是:123456.填写完之后,可以公告保存账号密码的选项。再点击“确定”就OK了。

    5)开启自启动SVN服务器。现在我们已经配置好了svn服务器。但是,我们是通过手工通过命令启动的。如果,想每次centos 系统开启就启动这个服务的话,有以下方式可以实现。打开/etc/rc.local文件,shell命令如下:

    vi /etc/rc.local

    在文件末尾添加如下代码:

    svnserve -d -r /opt/svn/

    这样开机的时候就会自动启动svn服务器了。

  • 相关阅读:
    Spring中 @PathVariable
    消息队列中点对点与发布订阅区别
    rabbitMQ下载地址
    当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
    String和StringBuilder、StringBuffer的区别?
    char 型变量中能不能存贮一个中文汉字,为什么?
    抽象类(abstract class)和接口(interface)有什么异同?
    静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
    抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native),是否可同时被synchronized修饰?
    阐述静态变量和实例变量的区别。
  • 原文地址:https://www.cnblogs.com/ninelands/p/3166581.html
Copyright © 2011-2022 走看看