H__D  

SVN

  SVN:SVN是Subversion的简称,是一种开放代码的版本控制系统,相比较RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制器服务已从CVS迁移到Subversion。

环境与原料

 操作系统:Linux(CentOS版)

 svn版本:subversion-1.9.3.tar.gz(下载地址:http://subversion.apache.org/download)

 arp软件:apr-1.5.2.tar.gz(下载地址:http://apache.fayea.com//apr/apr-1.5.2.tar.gz)

   arp-util软件:apr-util-1.5.4.tar.gz(下载地址:http://apache.fayea.com//apr/apr-util-1.5.4.tar.gz)

 SQLite数据库:sqlite-autoconf-3100200.tar.gz(下载地址:http://www.sqlite.org/download.html);

   zlib库:zlib-1.2.8.tar.gz(下载地址:http://www.zlib.net)

编译安装

  1.  解压压缩包到/usr/svn目录,命令:tar -zxvf subversion-1.9.3.tar.gz -C /usr/svn/

    2. 进入安装包下,执行检查环境操作,命令:./configure --prefix=/usr/svn/subversion

              

         执行检查环境命令的时候可能会报错:APR not found(apache的一个运行库未找到)

         

    下载apr-1.5.2.tar.gz(下载地址:http://apache.fayea.com//apr/apr-1.5.2.tar.gz);

    • 解压arp: tar xfvz apr-1.5.2.tar.gz -C /usr/svn/
    • 进入apr目录:cd /usr/svn/apr-1.5.2
    • 执行配置命令:./configure --prefix=/usr/svn/apr 
    • 执行命令:make
    • 安装命令:make install(安装错误可以使用make clean清空)

      下载apr-util-1.5.4.tar.gz(下载地址:http://apache.fayea.com//apr/apr-util-1.5.4.tar.gz);

    • 解压arp: tar xfvz apr-util-1.5.4.tar.gz -C /usr/svn/
    • 进入apr目录:cd /usr/svn/apr-util-1.5.4
    • 执行配置命令:./configure --prefix=/usr/svn/apr-util --with-apr=/usr/svn/apr
    • 执行命令:make
    • 安装命令:make install

      进入svn解压目录,再次执行检查环境操作,命令:./configure --prefix=/usr/svn/subversion --with-apr=/usr/svn/apr --with-apr-util=/usr/svn/apr-util

      可能报错:  Subversion requires SQLite(svn需要SQLite数据库)

          

    下载sqlite-autoconf-3100200.tar.gz(下载地址:http://www.sqlite.org/download.html);

    • 解压arp: tar xfvz sqlite-autoconf-3100200.tar.gz -C /usr/svn/
    • 进入apr目录:cd /usr/svn/sqlite-autoconf-3100200
    • 执行配置命令:./configure  --prefix=/usr/svn/sqlite
    • 执行命令:make
    • 安装命令:make install

      进入svn解压目录,再次执行检查环境操作,命令:./configure --prefix=/usr/svn/subversion --with-apr=/usr/svn/apr --with-apr-util=/usr/svn/apr-util

                                                                      --with-sqlite=/usr/svn/sqlite

    可能报错:  Subversion requires zlib(svn需要zlib)

    

      下载zlib-1.2.8.tar.gz(下载地址:http://www.zlib.net);

    • 解压arp: tar xfvz zlib-1.2.8.tar.gz -C /usr/svn/
    • 进入apr目录:cd /usr/svn/zlib-1.2.8
    • 执行配置命令:./configure  --prefix=/usr/svn/zlib
    • 执行命令:make
    • 安装命令:make install

      进入svn解压目录,再次执行检查环境操作,命令:./configure --prefix=/usr/svn/subversion --with-apr=/usr/svn/apr --with-apr-util=/usr/svn/apr-util

                                                                      --with-sqlite=/usr/svn/sqlite --with-zlib=/usr/svn/zlib

  3. 在svn解压目录下,执行命令:make

  4. 在svn解压目录下,执行安装命令:make install

  5. 将svn加入PATH中

      • 打开profile文件:vi /etc/profile 
      • 在文件最后面添加:  export PATH=/usr/svn/subversion/bin:$PATH
      •  退出保存并执行执行:. /etc/profile    

    6. 测试SVN是否安装成功,执行:    svnserve --version

    

  7. 创建代码库

    • 创建仓库文件夹,执行命令:mkdir /usr/svn/svn-repository
    • 创建代码库,执行命令: svnadmin create /usr/svn/svn-repository/

    执行上面的命令后,查看/usr/svn/svn-repository文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立

       、

      • conf目录:代码库的配置文件
      • db目录:数据文件
      • hooks(钩子)目录:钩子程序目录,可以放入触发器,放置hook脚本文件的目录
      • locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
      • format:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
      • README:读我文件

  8. 配置用户名和密码以及SVN服务配置

    进入代码库中的配置文件目录/usr/svn/svn-repository,修改文件passwd,在后面加上用户名和密码,格式:用户名=密码;

    • 进入配置文件目录,执行命令:cd  /usr/svn/svn-repository/conf/
    • 创建代码库,执行命令: vi passwd

    

    进入代码库中的配置文件目录/usr/svn/svn-repository,修改文件authz;

    • 进入配置文件目录,执行命令:cd  /usr/svn/svn-repository/conf/
    • 创建代码库,执行命令: vi authz
      • 创建用户组,在[groups]后面加上,组名 = 成员名1,成员名2
      • 给用户授权,在[/]某目录下授权,成员名 = 权限
      • 给用户组授权,在[respository:/]某目录下授权([<版本库>:/项目/目录] ),@组名 = 权限

    / 表示对根目录下的所有子目录范围设置权限;

    *=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。

    注意:对权限配置文件的修改立即生效,不必重启svn。

        

   进入代码库中的配置文件目录/usr/svn/svn-repository,修改文件svnserve.conf;

    • 进入配置文件目录,执行命令:cd  /usr/svn/svn-repository/conf/
    • 创建代码库,并进行一下修改,执行命令: vi svnserve.conf
    • 加入一下内容:

      [general]

      anon-access = none
      auth-access = write
      password-db = passwd
      authz-db = authz

      realm = my-svn-repository

       

  9. 启动SVN服务

    启动服务命令:svnserve -d --listen-port 3690 -r /usr/svn/svn-repository

云安装

  运行命令:yum -y install subversion

  

  检查版本,命令:svnserve --version

  

  更新版本,命令:yum update subversion

  

  建代码库同上,第8步骤

    

 

posted on 2016-02-04 00:38  H__D  阅读(1499)  评论(0编辑  收藏  举报