网站首页学无止境LINUX

linux 搭建svn服务器并更新到web目录完整版教程

发布时间:2015-09-21 12:56:18编辑:songlin阅读(515)

    首先要在服务器搭建 SVN 服务

      1、yum install subversion

      2、使用rpm -ql subversion可以查看到安装位置则安装成功。

      3、创建svn版本库目录

      mkdir -p /var/svn/svnrepos 目录自己指定

      4、创建版本库

      svnadmin create /var/svn/svnrepos 执行完之后生成conf、db、format、hooks、locks、readme.txt 这几个文件

      5、进入conf目录

      authz文件是权限控制文件

      password是帐号密码文件

      svnserve.conf 是svn服务配置文件

      6、设置帐号密码

      vi password

      在[users]块中添加用户和密码,格式:帐号=密码,如 myname=123

      7、设置权限

      vi authz

      在末尾添加如下代码:

      [/]

      myname=rw

      意思是版本库的根目录刚才的用户名myname对其有读写权限。

      8、修改svnserve.conf文件

      vi svnserve.conf

      打开这几个注释:

      anon-access = read

      auth-access = write

      password-db = passwd

      authz-db=authz

      realm=/var/svn/svnrepos 这个修改成刚才创建的版本库

    注:以上修改的地方前面不能留有空壳

      9、启动svn版本库

      svnserve -d -r /var/svn/svnrepos

    下面就是我们要把代码提交到我们网站的目录的操作了

      原理就是利用svn的post-commit将svn服务器的文件同步到固定的目录

    1. cd /var/svn/svnrepos/hooks 
    2.  
    3. cp post-commit.tmpl post-commit 
    4.  
    5. chmod a+x post-commit 

      编辑post-commit钩子脚本

    1. vi post-commit #修改里面的如下内容 
    2.  
    3. export LANG=zh_CN.UTF-8 
    4.  
    5. SVN=/usr/bin/svn#这个是安装好的时候查看成功与否看到的那个目录 
    6.  
    7. WEB=/home/myweb#这个就是你每次完成提交svn自动提交到的那个目录 
    8.  
    9.   ${SVN} update ${WEB} --username myname( 你刚才设置的用户名 ) --password 123( 你刚才设置的密码) 

      需要说明一下的就是你需要切换到/home/web (你指定svn自动提交的那个目录)下面手动进行一次checkout: svn co svn://localhost(会在刚才的/home/web生成一个localhost文件夹)

      用ftp工具到/home/myweb/localhost 下面把里面的.svn放到你的/home/myweb里面这样以后只要从客户端提交代码就会自动同步到你的指定的目录了。