1. 程式人生 > >LINUX下SVN安裝 配置 web目錄同步

LINUX下SVN安裝 配置 web目錄同步

LINUX下SVN安裝,配置,web目錄同步

作者:幽靈
時間:2013年1月12日星期六
注:
各伺服器執行環境可能有所不同,操作過程中可能出現其他問題,自行查閱資料解決
SVN的具體使用方法很多,本文件只是使用了SVN最簡單的用法,感興趣的同學可以查閱相關資料。
如果各位同學有對SVN新的補充,請更新本文件!

一、 安裝subversion

1. 首先輸入rpm -qa | grep subversion 檢視SVN是否已經安裝過

這裡寫圖片描述

    如果輸出類似如下結果,則說明已經安裝:
    subversion-1.6.11-7.el6.x86_64

2. 執行 yum -y install subversion 安裝SVN

這裡寫圖片描述

3. 執行 svn –version 檢視安裝的SVN版本

這裡寫圖片描述

二、 建立程式碼倉庫

    常規情況下,我們一個倉庫裡面會有多少個專案。所以,第一步得建立所有專案的倉庫中心,如下命令:
mkdir /opt/svn/

這裡寫圖片描述

    現在假定我們有一個專案叫 imobile ,現在我們為這個專案在倉庫中心中分配一個倉庫。如下命令:
svnadmin create /opt/svn/imobile/

這裡寫圖片描述

    進入imobile目錄如下 /opt/svn/imobile/

這裡寫圖片描述

目錄說明
conf: 配置檔案
db: 儲存資料
hooks: 指令碼程式,SVN提交上來的檔案檢驗等操作

三、 修改配置檔案

1. 進入 svntest 專案倉庫配置目錄中

這裡寫圖片描述

2. 修改svnserve.conf檔案

這裡寫圖片描述

    找到以下的內容,並在行首註釋符號#刪掉。
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

3. 為 svntest 專案增加svn使用者,並且賦予許可權值:

這裡寫圖片描述

在檔案中新增如下程式碼:

這裡寫圖片描述

程式碼的意思是:為 svntest 專案新增一個imobile_001的使用者,並且,這個使用者對於 imobile 專案擁有讀寫許可權。
關於方框號裡面的寫法有以下幾種:
  • [/],表示根目錄及以下,根目錄是svnserve啟動時指定的,我們指定為/opt/svn,
  • [/]就是表示對全部版本庫設定許可權。
  • [imobile:/] 表示對版本庫svntest設定許可權
  • [imobile:/abc] 表示對版本庫svntest中的abc專案設定許可權
  • [imobile:/abc/aaa] 表示對版本庫svntest中的abc專案的aaa目錄設定許可權

4. 給使用者分配密碼,執行如下命令:

這裡寫圖片描述

這裡寫圖片描述

四、啟動svn服務和測試

1. 啟動svn服務,並指定 svn 的根目錄:

這裡寫圖片描述

2. 檢視svn服務是否正常啟動,執行如下命令:

這裡寫圖片描述

順便提一下,svn的預設埠是3690。

3. 在windows系統上測試是否成功:

  1. 首先保證你的系統中已經安裝了 subversion 客戶端程式。如果沒有安裝馬上下載安裝,並重啟windows系統。
  2. 在windows任意的目錄中,建立一個資料夾,資料夾的名字任意,最好是英文名。如我的:imobile_242。
  3. 右鍵點選該資料夾,選擇”Checkout…”,填寫如下資訊,點選“確定”按鈕之後,會彈出一個對話方塊,讓你輸入賬號密碼,我們的賬號是:imobile_001,密碼是:123456.填寫完之後,可以公告儲存賬號密碼的選項。再點選“確定”就OK了。如圖:
    這裡寫圖片描述
  4. 點選“確定”按鈕之後,會彈出一個對話方塊,讓你輸入賬號密碼,我們的賬號是:svn001,密碼是:123456.填寫完之後,可以公告儲存賬號密碼的選項。再點選“確定”就OK了。
  5. 開啟自啟動SVN伺服器。現在我們已經配置好了svn伺服器。但是,我們是通過手工通過命令啟動的。如果,想每次centos 系統開啟就啟動這個服務的話,有以下方式可以實現。開啟/etc/rc.local檔案,shell命令如下,這樣開機的時候就會自動啟動svn伺服器了。
    vi /etc/rc.local
    svnserve -d -r /opt/svn/

這裡寫圖片描述

這裡寫圖片描述

五、 SVN提交檔案自動更新到nginx的WEB目錄

1. 進入WEB根目錄:

這裡寫圖片描述

2. 建立SVN倉庫副本:

這裡寫圖片描述
3. 設定svn更新後自動更新nginx的讀取目錄:
這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

lc_ctype要設定的值可以使用locale檢視
更改檔案許可權為可執行:#chmod 777 post-commit

4. 同步測試:

檢視web目錄檔案
這裡寫圖片描述

這裡寫圖片描述

本地建立一個檔案test001.php
這裡寫圖片描述

SVN提交檔案test001.php
這裡寫圖片描述

進入web目錄檢視
這裡寫圖片描述
英文名檔案同步成功

本地建立一箇中文名檔案
這裡寫圖片描述

這裡寫圖片描述

檢視web目錄
這裡寫圖片描述

這裡寫圖片描述