SVN服务器的搭建与配置

来源:互联网 发布:高中睡眠知乎 编辑:程序博客网 时间:2024/06/01 09:59

linux---SVN服务器的搭建与配置

一、svn简介

      Subversion(SVN) 是一个开源的版本控制系統也就是说 Subversion 管理着随时间改变的数据。这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本或是浏览文件的变动历史。

二、svn安装

     1.yum install subversion

        安装成功后,配置SVN服务器端的版本库

     2.一般在/usr/local下建立SVN文件夹并赋予权限777

         chmod -R 777 /usr/local/svn

     3.创建一个SVN版本仓库dudj(此名称可以任意定义)

        svnadmin create /usr/local/svn/dudj

三、svn配置

    (1)svnserve.conf(配置版本库信息和用户文件和用户密码文件的路径、版本库路径)

        //这四行,前面的#号和空格去掉(注意去掉#要顶格写,不要留有多余空格),变成

        anon-access = none      //匿名访问,改成none

        auth-access = write

        password-db = passwd

        realm = dudj          //改成自己的版本库名称

    (2)authz(创建SVN组和组用户的权限)

        [group]

        dudj=first,second//创建一个dudj的组,并指定两个用户firstsecond

        //制定根目录下的权限

        [/]

        @dudj= rw//dudj组用户权限为读写

        *=r  //其他用户只有读权限

    (3)passwd(给用户设置密码)

        [users]

        first=first

        second=second

四、svn启动与关闭

      启动svn

             

      设置开机自启

         vi /etc/rc.local

         /usr/bin/svnserve -d -r /usr/local/svn/

     关闭svn

        查找所有svn启动的进程

        ps aux |grep 3690

        kill -9  进程号

  五、svn自动更新到指定的 目录

有时候,svn的目录并不是虚拟主机的目录,当svn文件上传以后,只是svn目录的文件发生改变,而虚拟主机网站并不发生改变,svn早就考虑到了这个问题。

所以svn有一个hooks,也就是钩子的概念,当svn目录发生的时候他会触发。例如我的虚拟主机目录是/usr/local/nginx/html,svn的目录是/test/svn2/p1/.svn上传后,他会自动触发/test/svn2/p1/hooks/post-commit这个文件。

1.进入/test/svn2/p1/hooks

2.新建文件post-commit

3.写入代码如图


EPOS="$1"

REV="$2"

echo `date`,`whoami`,$REPOS,$REV >> /usr/local/svn/dudj/hooks/svn_hook.log  #记录时间


#!/bin/sh

export LANG=zh_CN.utf-8

cd /usr/local/nginx/html

svn checkout file:///usr/local/svn/dudj/


0 0
原创粉丝点击