LINUX下SVN安裝 配置 web目錄同步
阿新 • • 發佈:2019-01-09
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系統上測試是否成功:
- 首先保證你的系統中已經安裝了 subversion 客戶端程式。如果沒有安裝馬上下載安裝,並重啟windows系統。
- 在windows任意的目錄中,建立一個資料夾,資料夾的名字任意,最好是英文名。如我的:imobile_242。
- 右鍵點選該資料夾,選擇”Checkout…”,填寫如下資訊,點選“確定”按鈕之後,會彈出一個對話方塊,讓你輸入賬號密碼,我們的賬號是:imobile_001,密碼是:123456.填寫完之後,可以公告儲存賬號密碼的選項。再點選“確定”就OK了。如圖:
- 點選“確定”按鈕之後,會彈出一個對話方塊,讓你輸入賬號密碼,我們的賬號是:svn001,密碼是:123456.填寫完之後,可以公告儲存賬號密碼的選項。再點選“確定”就OK了。
- 開啟自啟動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目錄