Linux 下安装svn 服务器,linuxsvn


前言

  自己负责项目,简单的搭建一个版本控制库,选用linux 搭建SVN版本控制器作为公司的项目版本控制库。废话不多少,直接进入主题:

 

  工具 yum

  yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下

载、安装。 yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。  --简单介绍一下,有兴趣的同学可以去学习、了解一下yum的命令,了解一下  传送门:http://man.linuxde.net/yum



 

安装步骤: 


    第①步:

      安装SVN        - subversion安装在/bin目录:

            yum install subversion       

        安装完成检测一下 是否安装成功    svnserve --version   

    第②步:

      创建SVN版本库目录 

          mkdir -p /var/svn/xxxxx   

      创建版本库 
        svnadmin create /var/svn/xxxxx     --xxxx 为你的项目版本

    第③步:

      进入版本目录      cd var/svn/project/xxxxx   下的文件

        authz文件是权限控制文件 
        passwd是帐号密码文件 
        svnserve.confSVN服务配置文件

    第④步:

      修改svnserve.conf文件 
        vi svnserve.conf打开下面的几个注释: 
            anon-access = none                  #匿名禁止访问 
            auth-access = write                   #授权用户可写 
            password-db = passwd             #使用哪个文件作为账号文件 
            authz-db = authz                       #使用哪个文件作为权限文件 
            realm = /var/svn/project             # 认证空间名,版本库所在目录

           PS:直接打开注释无需更改。

    第⑤步:

            设置帐号密码    
        vi passwd 
          在[users]块中添加用户和密码,格式:帐号=密码,如fancy= fancy。 
          [users] 
          fancy = fancy

    第⑥步:

    设置权限 
        vi authz 
          在末尾添加如下代码: 
            [groups] 
            [/] 
            fancy = rw 
        意思是版本库的根目录fancy对其有读写权限。

    第⑦步:

      启动svn版本库 
        svn命令: 
          netstat -tnl |grep :3690 查看svn是否启动 
          ps aux |grep ‘svn’ 查找所有svn启动的进程 
          kill -9 svn cid 杀死svn cid这个查找到的svn进程 
        svnserve -d -r /var/svn/                    --启动svn 服务  上述三条只需了解,一般用不到。 

    第⑧步:

           检出一份版本库到制定目录   
          svn checkout svn://10.3.30.243/project /home/wwwroot/default/blog //检出一份版本库文件到指定目录 
          svn up //更新文件

    第⑨步:

      开机自动启动

          vi /etc/rc.d/rc.local 编辑 
          svnserve -d -r /var/svn/project 添加

 

    特殊要求下svn 需要自动同步上去:

 

      在vi /usr/local/svn/xxxxx /hooks/post-commit中加入

      !/bin/sh #设置一些变量 
      SVN=/usr/bin/svn 
      WEB=  /home/wwwroot/becshop/   #要更新的目录 
      export LANG=en_US.UTF-8 
      SVNupdateWEB –username fancy–password fancy

      chmod 777 post-commit 更改权限.

 

    需要新建多个svn版本库

       mkdir -p /opt/svn//yyyy                      ##创建目录
      svnadmin create /opt/svn/yyyyy

      重复步骤②的配置方法

      killall svnserve #关闭svn服务
      svnserve -d -r /opt/svn/            #启动svn,注意目录,不包含yyyyy    PS:但版本库直接指向指定的下级目录!

 

相关内容