服务器端 安装svn

  趁着这波比较闲的时候来划一波水,想起自己那都快生会的腾讯云服务器 到现在还不能通过版本控制系统上传文件,于是趁这波功夫在服务器上安装个svn来管理代码。

    首先就简单的介绍一波 svn :

      首先svn不同于GIT它是集中式的,即只有一条主线并没有分支,Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。(来自百度)

       他的常用命令有

          Commit(提交): 当你已经修改了代码,你就需要Commit到线上仓库

          Update (更新): 当你很久没更新代码后,使用update更新下 你的打码就会与线上同步

    哦豁,差点跑题了,这里我要写的是在服务器上安装svn,好吧 ,下面我们就进入正题了 ,下面的步骤我就当我们已经配置好服务器环境了 (在这里我是基于 CentOS 6.8 64位 php + apache搭建的服务器环境)

        你可以用xshell  操作linux系统  这里我是用腾讯云自带linux登录,登录linux实例操作的

                                 

      

       1.   首先我们在全局输入 yum -y install subversion (安装svn)

       2.   安装成功后我们就开始配置svn

         2.1 首先建立一个线上的版本库

           使用 mkdir /svn   (这里我在根目录上建立一个svn目录)

         2.2 使用 svnserve -d -r /svn (启动svn服务 其中svn是目录位置)

            svnserve -d -r 目录 --listen-port 端口号  其中端口号可以省略(不填默认3690)

         2.3  然后在建立一个版本库   svnadmin create /svn/www

         2.4 配置允许用户rsync访问
           使用  cd /svn/www/conf 找到conf文件

          通过 vi  svnserve.conf 进入配置编辑(将箭头指向的位置注释解了,且修改的文件前面不能有空格,否则启动svn server出错)

          

          

        2.5  保存完上面步骤后  再使用vi authz配置用户权限以及那些用户可以使用

            

         2.6  保存完上面步骤后  再使用vi passwd配置用户上传下载密码

          

        2.7  使用  svn checkout svn://IP地址/svn所在的文件夹例如上面的www --username=配置的用户名

           

          2019/08/13-----------------补充----------------------------

          checkout的时候出现  svn: Can't connect to host '123.x'x'x'x.xxxx.180': Connection timed out  无法响应 可能原因有

            1.检查各项配置文件是否有空格存在  ------这个问题出现的可能比较少

            2.服务器防火墙拦截了3690端口这是需要配置

              进入 vi /etc/sysconfig/iptables 编辑

              在文件内加上一条允许3690端口通过的代码

              

              最后使用  service iptables restart  重启防火墙

            3.云服务器设置了上安全组  这事需要在阿里/腾讯云平台安全组面板出口处添加规则  让TCP:3690通过即可(最好入口处也添加相同规则)

                                       

           -------------------------------补充----------------------------

        2.8  现在你可以试试下载文件到桌面(这里还没用 将svn 与web项目挂起钩子 所有拉下来的文件是空的,这里我使用svn小乌龟下拉的 svn://ipdi地址/文件目录例如www)
          

        

        2.9  将svn 与web项目关联起来就是钩子(首先需要进入svn 库下的 hooks文件夹)

          例如我的svn库是在  ---  /svn/www/hooks
           hooks文件夹下有现成的配置模板我们使用如下语句 copy一份至配置文件即可

             cp post-commit.tmpl post-commit

            复制创建文件夹后开启  755权限(可自行找度娘)

             sudo chmod -R 755 post-commit  (授权语句)

          之后vim  post-commit进入文件如下配置

          

  以上就是svn的配置以及挂钩过程  ,之后你可以测试下 使用  svn co svn://IP/www --username jzq --password 密码  查看到有些什么文件上传了上来

原文地址:https://www.cnblogs.com/jjq-exchange/p/10683998.html