背景
公司要組建一個版本控制伺服器,選定了serv-u,初始目的是應用於war級的一些標準元件的版本控制/測試交付/統一對外發布渠道。
專案過程圖:
如果不使用版本控制會出現什麼問題?
War標準元件級
-
備份多個版本,費空間,費時間
-
不同版本的元件隨意流動,無法進行控制
- 難於恢復至以前正確版本 容易引發BUG
-
不同元件衝突,管理混亂
-
難於追溯問題元件的提交人和提交時間
- 無法進行許可權控制 ,本釋出困難
為什麼選擇Serv-u
- 1.流量控制 頻寬限制,支援對上傳、下載流量,磁碟空間,網路頻寬設定限制,從而能夠保證使用者有限的資源不被大量的FTP 訪問使用者所消耗。
- 2.支援檔案上傳和下載過程中的斷點續傳。斷點續傳能有效地降低重複下載。
- 3.遠端管理方便使用者從任何地方管理FTP Server,提供工作效率。
- 4.安全效能出眾。安全機制通過嚴格的許可權控制,提供系統安全性和穩定性。在目錄和檔案層次都可以設定安全防範措施。
- 5.支援"多宿主"IP站點對需單個伺服器支援多IP地址的站點尤為適用。
- 6.支援匿名使用者接入。
- 7.作為系統服務執行。
- 8.符合windows 標準的使用者介面友好親切,易於掌握。
- 9.支援實時的多使用者連線,支援匿名使用者的訪問;
- 10.通過限制同一時間最大的使用者訪問人數確保PC 的正常運轉。
- 11.能夠為不同使用者提供不同設定,支援分組管理數量眾多的使用者。
- 12.可自用設定在使用者登入或退出時的顯示資訊,支援具有UNIX 風格的外部連結。
- 13.可以基於IP 對使用者授予或拒絕訪問許可權。
- 14.可以監控每個使用者的行為日誌,變更可追溯
使用互動圖
基本思路:在一臺伺服器上建立一個倉庫,倉庫裡可以存放許多不同產品的標準元件。由倉庫管理員統一管理這些源程式.這樣就好象只有一個人在修改檔案一樣.
搭建FTP版本控制伺服器
建立倉庫/目錄
倉庫及目錄建立按照以下規則進行建立
安裝Serv-U 配置“域”即FTP根目錄,對應整個公司對外發布目錄,由FTP伺服器管理員進行管理
FTP根目錄下按照部門,分別建立目錄,由部門Leader進行管理
部門目錄下按照部門所涵蓋產品,分別建立標準元件目錄,由部門元件釋出負責人進行管理
最下級使用者,無目錄管理許可權,可讀取下載整個FTP伺服器指定可檢視目錄內容
配置Serv-u使用者賬號
Serv-U可使用Mysql資料庫進行使用者管理。 通過Mysql資料庫管理使用者賬號密碼,賬號密碼同公司SVN賬戶同步,使用SVN同一套賬號密碼。(賬號,姓名,密碼,郵箱)。限定了訪問來源,同時賬戶可支援自管理(自己找回密碼)。
客戶端登入
Serv-u支援多種登入方式,可以按需進行調整開放
配置使用者許可權規範
配置目錄規範需要了解Serv-U的賬號管理規則:
Serv-U有伺服器——域——組——使用者四級賬號管理規則,每一級都有相應的根目錄,目錄訪問規則和虛擬路徑的設定。
Serv-U中所有地方的許可權都是由小到大,由上到下。具體到上邊的問題就是設定規則的優先順序為使用者,群組,域,伺服器。假如有一個賬號在多個地方對某一目錄設定了不同的許可權,那麼首先看使用者屬性中設定的目錄許可權,如果其他地方設定於此處有衝突,則以此處為準;如果使用者屬性沒有設定,則看上一級群組中如何設定的,依此類推。
首先建立一個“域“,並確認FTP根目錄
(可以配置多個域配置同一個FTP根目錄區別內外管理,"關於多域的配置可看前面我寫的部落格)
使用者:所有擁有公司SVN賬戶人員
目錄:FTP根目錄指定可檢視子目錄及檔案
許可權:只讀(檢視,下載)
具體操作:建立一個群組--”外網釋出只讀群組“,公司所有人員許可權設定為空,群組涵蓋公司所有人員。設定群組根目錄及目錄只讀許可權覆蓋所有人員許可權!則所有擁有公司SVN賬戶人員可登入看見FTP伺服器釋出的內容!
網上搜尋資料發現有朋友碰到一個問題:弄好後發現把使用者加進群組裡只能繼承根目錄和限制的那些設定,群組目錄和虛擬目錄都不能繼承
實際測試:弄好後把使用者加進群組裡只能繼承根目錄、群組目錄訪問、限制的那些設定,虛擬目錄都不能繼承
在建立使用者的時候,需要在目錄訪問裡新增一個目錄許可權,路徑輸入“%HOME%”,路徑名沒有雙引號,然後許可權提供只讀許可權,點確定後群組目錄和全域性目錄還有虛擬路徑的資料夾都能顯示出來,因為手動新增使用者的時候軟體不會給你新增這個預設根目錄,所以自己沒新增的話就能看不到任何目錄,如果用嚮導建立的話就沒這個問題。
注意:如果你想通過群組“目錄訪問”限制使用者只能訪問根目錄中的哪些目錄,那麼需要移除使用者目錄許可權中的“%HOME%”,因為使用者繼承所有目錄後因為使用者許可權會高於群組許可權,使用者就可直接看到包含在群組根目錄中的所有目錄和檔案。
關於對目錄規範配置的一個列子
需求:有A.B.C.D.四個資料夾,其中D資料夾下有資料夾D1.D2.D3.D4;有使用者組1.2.3.4,其中所有使用者組能訪問A.B.C,但對D資料夾使用者組1只能訪問D1,使用者組2只能訪問D2,使用者組3只能說D3,使用者組4只能訪問D4
實施:
在使用者組的許可權設定裡面操作。
以使用者組1為例。
首先定位路徑為A,許可權為“只讀”。
然後分別定位B和C,許可權也是“只讀”。
最後選擇路徑為D1資料夾,許可權為“只讀”。
OK了。
這時候使用者組1一共有4條規則。
其他使用者組依照同樣的方法,只是最後一步換個資料夾。
PS:所有使用者組的根目錄均設定為A、B、C、D資料夾的根目錄。
日誌配置
Serv-u支援實時日誌監控,選擇某個已經建立好的具體域後,除了在Activity——“Domain log”下看到部分日誌外,還可以在Settings——Messages選顯示卡下設定登入資訊記錄到檔案。
其他配置
磁碟配額
為了保證FTP伺服器的正常穩定執行,對於開放上傳許可權的使用者有時候有必要開啟上傳檔案大小限制。選中某個群組後,目錄訪問規則,雙擊需限制目錄,然後在”目錄內容的最大尺寸“欄里根據需要填寫允許該使用者最大使用的磁碟空間即可。
限制上傳、下載速度和最大使用者連線數
1、可以在本地伺服器——限制和設定——限制選項卡下設定一個全域性的引數。
2、可以在某個域下的限制和設定——限制選項卡中設定登入該域的最大使用者連線數。
3、針對某個具體使用者進行具體設定:可以設定最大上傳、下載速度;設定該使用者的最大連線數;設定執行緒數(同一IP的連線數)。
IP訪問策略
Deny Access(拒絕訪問):選中此項則下面列出的IP地址被拒絕訪問此FTP伺服器。
Allow Access(允許訪問):選中此項則只有下面列出的IP地址被允許訪問此FTP伺服器