SVN安裝及配置 SVN註冊windows服務

1、安裝驗證是否安裝成功 
   
安裝完成svn1.4.0版本,和客戶端工具TortoiseSVN(相當於windows資源管理器的一個插件),之後進入dos命令提示窗口下輸入svn help(在任何目錄下都可以),查看svn是否看裝成功。如果有svndos命令介紹說明安裝成功。

2、創建版本庫  
  
安裝成功之後,要創建版本庫(版本庫可以看作是服務器上集中存放和管理數據的地方)。 
  
可在命令提示符窗口下輸入命令 svnadmin create D:\svn\repository , 就是在目錄D:\svn\repository下創建一個版本庫。如果在命令行中不識別svnadmin命令,可以查看系統環境變量path中有無subversion/bin的條目,沒有就手動加上。我們也可以使用工具TortoiseSVN創建版本庫。先建立空目錄 D:\svn\repository,注意一定是要空的。然後在 Repository 文件夾上右鍵->TortoiseSVN->Create Repository here...”,就創建了一系列文件夾和文件。 
說明:一個服務器上建一個版本庫就可以了,不同的項目可以同時用該版本庫。 
3
、配置服務器 
  
打開D:\svndemo\repository\conf\svnserve.conf 
  
將以下三個行的註釋#去掉 
     anon-access=none        //
未驗證用戶無任何權限 
     auth-access=write      //
已驗證用戶給予寫權限 
     password-db=passwd    //
密碼數據存放到passwd文件中 

authz-db = authz          //權限驗證,即管理員和普通用戶
realm = svnhome
(注意,以上面爲例子,則爲repository 

然後修改同目錄的passwd文件,增加和修改帳號信息。 
說明:anon-access=none這條必須顯示寫出來,否則會有一個默認權限,別人可能不用登陸就能看到你的項目!

以上 realm svn 庫的名稱,同一個 realm名稱會共享使用此SVN的用戶名和密碼 

4、修改passwd文件,建立用戶名與密碼,在[users]下面添加形如:username = password格式的行,一行代表一個用戶。 
admin = admin 
chwencong = 123 

 

5、修改authz文件,分配角色、權限 
[groups] 
manage = admin 
user = chwencong 
[/] 
@manage = rw 
@user = r 
以上的 manage=admin user=chwencong 如果有多個用戶屬於此用戶組,則需用 逗號分隔用戶名,
manage=admin,root 
user=aa,cc,rr 
@manage 表示 manage 用戶組所擁有的權限,rw 代表可讀可寫, r 表示只可讀 


4、啓動服務器 
    
一般啓動SVN服務器是通過dos下命令提示符的方式啓動的
示例:運行對話框下輸入 cmd 然後回車,再dos命令提示符窗口下,任意目錄都可,輸入命令:svnserve –d –r D:\svn\repository  即可啓動服務器。 
說明:有些windows因爲安全性的設置會提示是否阻止運行svnserve.exe,一定要選擇解除阻止,才能啓動服務。 
這句命令的含義是:啓動Subversion服務器的存儲庫,在D盤的svn目錄下。這樣服務器啓動成功。要注意輸入命令時的空格和大小寫區分。 
每次從dos啓動是有些麻煩,當然你可以到安裝目錄bin下直接雙擊svnserve.exe啓動服務,但是這樣畢竟麻煩。所以想着是否可以開機啓動。


設置開機啓動:
1.
開機運行啓動命令:
在系統的這個目錄下C:\Documents and Settings\Administrator\「開始」菜單\所有程序\啓動,放置的可執行文件會開機啓動,再者,啓動服務時一句dos命令,所以我們可以將其做成bat批處理文件放在啓動路徑下,每次開機就可以啓動。 
示例:新建批處理文件,名稱爲svnserve.bat,代碼行svnserve –d –r D:\svn\repository,將這個文件放到啓動目錄下面,然後重新啓動電腦,啓動完成之後,桌面會彈出一個svnserve dos窗口,此時我們的Subversion服務器已經啓動,現在可以進行訪問了。 
    
這個方法免於手動啓動,但是有個dos黑窗,要是不小心關掉了,服務就又停止了,所以就誕生了一種更好的方法:將svn服務做成windows系統服務。

2.svn服務做成windows系統服務,設置開機啓動:
Subversion服務添加到windows服務中需要在dos下創建一個windows服務。命令如下: 
sc create svnserver binPath=<
空格>"D:\Program Files\Subversion\bin\svnserve.exe --service -r E:\svn\repository" displayname=<空格>"Subversion Server" depend=<空格>Tcpip start=<空格>auto

 

這樣定義了一個新的windows服務,叫做" svnserver ",會在啓動時(這裏根目錄是D:\svn)執行特定的svnserve.exe 
說明:D:\Program Files\Subversion\bin\svnserve.exe  這個目錄是你安裝svn服務器的目錄。 
寫創建服務命令的時候,要注意svnserve.exe必須使用--service選項啓動。svnserve的其它選項必須在同一行上指定,但是你不能使用衝突的選項,而選項-r--listen-port 都沒有問題。調用SC.EXE時必須注意空格:key= value的模式中key=之間必須沒有空格,而且在與value之間只能有一個空格。必須注意執行的命令行中的空格,如果目錄名中包含了空格,爲了避免這些字符,將整個binpath值放在雙引號中。按照上面的命令行輸入就沒有問題。 
定義好了服務,就可以使用服務管理控制面板進行停止、啓動和查詢,或者通過命令行:C:\> net stop svnserver C:\> net stat svnserver
刪除這個windows服務,輸入命令C:\>sc delete svnserver
創建服務成功之後,要到服務管理控制面啓動服務,啓動完成之後,就可以訪問我們的Subversion服務器了。

 

關於SVN註冊爲windows系統服務

Subversion 1.4版本開始,可以以windows系統服務的形式在開機時自動運行。但Subversion安裝程序還不能把自己安裝成windows服務,需要我 們自己進行手動安裝,

方法如下: 打開一個DOS命令窗口,執行如下命令:  

sc create svnserve binPath= "/"C:/Program Files/Subversion/bin/svnserve.exe/" --service --root e:/svn" displayname= "Subversion Repository" depend= Tcpip start= auto   

其中,scwindows自帶的服務配置程序,參數binPath表示svnserve可執行文件的安裝路徑,由於路徑中的"Program Files"帶有空格,因此整個路徑需要用雙引號引起來。而雙引號本身是個特殊字符,需要進行轉移,因此在路徑前後的兩個雙引號都需要寫成/"

--service參數表示以windows服務的形式運行,--root指明svn repository的位置,service參數與root參數都作爲binPath的一部分,因此與svnserve.exe的路徑一起被包含在一對雙 引號當中,而這對雙引號不需要進行轉義。

displayname表示在windows服務列表中顯示的名字, depend =Tcpip 表示svnserve服務的運行需要tcpip服務,start=auto表示開機後自動運行。 

安裝服務後,svnserve要等下次開機時纔會自動運行。  

若要卸載svn服務,則執行 sc delete svnserve 即可。

sc create SVNService binpath= "C:/Program Files (x86)/Subversion/bin/svnserve.exe --service -r E:/SVN/jmr" displayname= "SVNService" depend= Tcpip start= auto

 

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