SVN服務器的搭建與配置

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/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章