『壹』 如何設置 SVN
(一)安裝
Windows環境下面分了CollabNet / Tigris.org(Apache2.2和Apache2.0) / SlikSVN / VisualSVN 5個鏈接,我選的是Tigris Apache2.2,下載一個目前最新的Setup-Subversion-1.6.6.msi,點擊,一路安裝即可,很簡單。
開始菜單-》運行-》輸入Cmd回車,敲「svn --version --quiet」,會得到SVN的版本號。
(二)配置
1、創建repository
Rrepository是存儲數據的地方。
例如要在F:\svnroot下創建repository,就使用命令行svnadmin create f:\svnroot。如果執行正確的話,會在F盤下多一個SVNROOT的目錄,目錄下有4個目錄和2個文件。
2、啟動SVN服務
使用命令行 svnserve -d -r f:/svnroot,這樣外部就可以它能夠過客戶端來訪問了。
我運行完才發現,這樣cmd窗口還不得不一直開著,很難看,當然一般大公司的代碼伺服器是24小時開著的。
上網搜了一下,也可以作為一個服務自動啟動的。執行腳本 sc create svn binpath= "\"d:\Program Files\Subversion\bin\svnserve.exe\" --service -r\"f:/svnroot\"" displayname= "Subversion Server" depend= Tcpip start= auto 就可以將svnserve程序作為服務載入。安裝路徑和存儲數據的目錄要根據自己的情況修改。
執行完這個腳本,可以去管理工具-》控制面板-》服務那裡找找Subversion Server,如果沒啟動就啟動
3、基本設置
修改f:|svnroot\repos\conf\svnserve.conf,注釋很詳細。
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256
期中,anon-access = none表示要用戶名和密碼,password-db = passwd表示passwd是存身份驗證的用戶名和密碼。sasl,就是加密訪問用的,一般也可以不用。
4、用戶管理
在f:|svnroot\repos\conf\passwd里添加有許可權的用戶名和密碼。例如添加用戶yobin,密碼123456,就這樣:
[users]
# harry = harryssecret
yobin = 123456
hh = 111
ss = 222
5、分組管理和許可權設置
如果是所有文件對用戶都可見的話,上面幾步也足夠用了。但要想對一些人可見,一些人不可見的話,就要去修改authz文件了。
&別名:別名的引用
@用戶組名:某組用戶
$authenticated:所有已授權用戶
$anonymous:匿名用戶
* : 任何人
r:寫許可權
rw:讀寫許可權
:不能訪問(空,什麼都不寫)
設置用戶許可權的時候,'='左側代表用戶名稱,可以是實際用戶名,也可以是定義的用戶組名,也可以是別名,但要用'@'作為前綴,或者是所有用戶'*'。'='右側代表設置的許可權'r'、'rw'或者為空即代表用戶對於該目錄無任何許可權。
authz文件中對版本庫路徑的表示方法。用'[/]'來表示版本庫的根目錄,如果有子目錄foo,設置該目錄許可權時用'[/foo]'即可,其他任何目錄都以'/'為版本根目錄進行表示。注意了,別用」\「!!!
用戶某個目錄的許可權是向子目錄遞歸的。如果用戶對於/foo目錄有讀寫許可權,則該用戶對於foo目錄下的所有子目錄都有讀寫許可權。如果不設置最上層的目錄沒有設置許可權,那麼就相當於不設置,禁止訪問。
許可權分配,只可以分配到某個目錄,而不能到某個文件。
『貳』 怎樣在windows上設置svn伺服器
方法/步驟
一、准備工作
1、SVN伺服器:解壓縮包,可以從官方網站下載最新版本。
2、SVN客戶端:TortoiseSVN,即常說的小烏龜,是一個客戶端程序,用來與伺服器端通訊。
二、安裝伺服器和客戶端程序
1、SVN伺服器:直接解壓縮到某個文件夾下即可。示例路徑:c:\svn\
備註:如果下載的是msi程序,直接運行按提示安裝即可。
2、SVN客戶端:直接運行按提示安裝即可。示例路徑:C:\Program Files\Subversion
三、建立版本庫(Repository):示例路徑:e:\svnroot。建立版本庫有兩種方法:
方法一,建立空目錄e:\svnroot\repos1,進入repos1文件夾,在空白處點擊右鍵,選擇「TortoiseSVN->Create Repositoryhere...」,
方法二,建立空目錄e:\svnroot\repos2,進入DOS命令行,輸入如下命令:
svnadmincreate e:\svnroot\repos2
四、運行SVN伺服器,啟動服務。啟動服務有兩種方法:
方法一,臨時啟動服務,在DOS下輸入如下命令:
svnserve -d -r e:\svnroot\repos1 --listen-host ip地址 --listen-port=埠號
說明:「listen-host」和「listen-port」可選。默認埠是3690,如果埠已經被佔用,可以通過選項listen-port指定埠號。
注意:請不要關閉命令行窗口,關閉窗口會把 svn服務就停止了。
方法二,啟動SVN服務為後台運行程序:
sc create svnserve binPath= "c:\svn\bin\svnserve.exe --service -r e:\svnroot\repos1" displayname= "Subversion" depend=Tcpip start= auto
說明一:
(1)sc是windows自帶的服務配置程序。svnserve是服務的名稱,可根據需求取名。
(2)參數binPath表示svnserve可執行文件的安裝路徑。
(3)--service表示以windows服務的形式運行,--r指明svnrepository的位置,service參數與r參數都作為binPath的一部分,因此與svnserve.exe的路徑一起被包含在一對雙引號當中。
(4)displayname表示在windows服務列表中顯示的名字,depend=Tcpip表示svnserve服務的運行需要tcpip服務,start=auto表示開機後自動運行。安裝服務後,svnserve要等下次開機時才會自動運行。
說明二:
(1)binPath的等號前面無空格,等號後面有空格。displayname、depend、start也一樣,service前面是--,不是- ,而r前面是-。
(2)若要卸載svn服務,則執行 sc delete svnserve 即可。
(3)從「sc」到「auto」是在同一個命令sc,必須寫在同一行。
(4)啟動服務命令:netstart svnserve,停止服務命令:net start svnserve,也可以進入Windows提供的界面操作SVNService服務了,即控制面板—>服務。
(5)如果路徑中包括空格,一定要用「\」處理「"」號,例如上面的例子中如果svnserve.exe在「c:\programfiles\svn\」中,則命令應該寫為「binpath="\"c:\programfiles\svn\bin\svnserve.exe\"
五、配置用戶和許可權
(1)修改svnserve.conf,在e:\svn\repos1\conf目錄下,用文本編輯器打開svnserve.conf:
將:
# anon-access = read
# auth-access = write
# password-db = passwd
改為
anon-access = read
auth-access = write
password-db = passwd
注意說明:
anon-access等列前面是沒有空格的。
anon-access = read表示沒通過用戶名密碼登錄的訪問只有讀的許可權,如果改為none則沒有用戶名密碼不能訪問
auth-access = write表示通過用戶名密碼登錄的有寫的許可權(當然讀的許可權也就有了)
password-db = passwd表示可以通過 用戶名 = 密碼 的方式在passwd文件中添加用戶
(2)修改同目錄的passwd文件,增加用戶帳號:
將:
[users]
# harry = harryssecret
# sally = sallyssecret
添加帳號:
[users]
# harry = harryssecret
# sally = sallyssecret
admin = admin
添加一個admin賬戶,密碼是admin。
六、初始化SVN,導入數據
選中要上傳SVN的文件夾,「右鍵 ->TortoiseSVN -> Import...」 ,在彈出對話框的「URL of repository」輸入「svn://localhost/project1/」。在「Importmessage」輸入注釋,點擊OK,要求輸入帳號,輸入賬戶admin和密碼admin。
七,測試SVN
本地測試:新建一空文件夾test1,單擊右鍵,選擇「SVN Checkout」,在「URL of repository」中輸入「svn://localhost/project1」。
其他機器測試:如果運行svnserve的主機IP地址是1.2.3.4,則URL輸入的內容就是「svn://1.2.3.4/project1」。