SubVersion服务器Windows安装过程
1.環境和軟件準備
操作系統: windows 7
Window-Subvsersion?: http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
Windows?常用客戶端 TortoiseSVN?:http://tortoisesvn.net/downloads
下載 subversion?服務器軟件和客戶端,并默認安裝。
我下載到了Setup-Subversion-1.5.5.msi,安裝路徑 d:/software/Subversion/
常用客戶端 TortoiseSVN原來就安裝了
2.配置管理
2.1.?創建倉庫 (svnadmin)?
在硬盤上創建個空目錄,作為 SVN?的倉庫目錄。如: d:/svnroot/repository?。
下面使用兩種方式創建倉庫的初時文件結構和存儲方式。命令方式和 TortoiseSVN?客戶端方式,后面所有文檔都采用兩種方式說明,其功能完全相同。請根據實際情況選擇使用。
命令方式( DOS?下):
#?默認方式,采用 FSFS?方式存儲數據,這是推薦方式,管理和遷移相對 bdb?方式簡單
svnadmin create d:/svnroot/repository
或
svnadmin create –fs-type bdbd:/svnroot/repository
上為bdb的文件系統方式,?一般默認是native的FS即 NTFS
TortoiseSVN?客戶端
版本的 SVN1.5.5?
1.?使用 window exporer?或我的電腦,定位到 d:/svnroot/repository,并確保本目錄為空。
2.?在本目錄下,右鍵菜單中選擇“ TortoiseSVN ”- > “ Create repository here… ”
3.?檢查本目錄下是否有生產的系統文件和文件夾,如果有,成功!
2.2.?配置服務
進入倉庫目錄下的 conf?文件夾。也就是 d:/svnroot/repository/conf
里面有 3?個默認的配置文件: authz?, passwd?, svnserve.conf
svnserve.conf?控制 svnserve?的啟動配置選項,可以配置認證和授權方式,典型的配置是設置由 authz?控制授權, passwd?控制認證的方式來控制訪問權限。也可以使用匿名方式,但不推薦。
使用 authz?和 passwd?的典型配置:
請特別注意:以下三個配置文件的配置,每行有效配置前不能有空格,不然配置會失敗。
服務配置文件 svnserve.conf
……
###?匿名方式不允許訪問
anon-access = none
……
### Uncomment the line below to use the default password file.
###?表示訪問倉庫的認證有文件 passwd?提供的賬戶確定
password-db = passwd
……
### Uncomment the line below to use the default authorization file.
###?表示認證后的賬戶訪問權限由文件 authz?定義
authz-db = authz
### This option specifies the authentication realm of the repository.
……
#realm = My First Repository
認證配置文件 passwd
passwd?文件實際提供訪問本倉庫的賬戶管理,文件格式就是 ini?方式的格式
[users]
# harry = harryssecret
# sally = sallyssecret
testuser1=testuser1
testuser2=testuser2?
這表示本倉庫配置了二個用戶及:其中一個用戶testuser1,?他的訪問密碼是 testuser1。
訪問密碼可以使用明文,也可以使用 htpasswd.exe?(apache?服務器提供的工具方法,安裝 apache?服務器后,在其 bin?目錄中有該程序文件)進行加密處理。
授權配置文件 authz?
該文件負責認證后的用戶的權限控制,配置稍微復雜,但其實也就是個 ini?配置文件而已。
典型配置:
# groups?段提供配置組的功能 ,?但組成員必須是passwd?文件中定義的用戶才有效。可以對組
#?進行權限控制,所有組成員具有組對應的訪問權限。
[groups]
#?表示定義了一個管理組叫 admin_group,?包括harry?和 sally?, admin_group?前千萬不能有空格
admin_group=testuser1
dev_group=testuser2
#?下面就是定義具體倉庫下目錄的訪問權限
#?一般對管理員來說都具有整個倉庫的讀寫權限,一般人員對整個敞開具有讀取權限,下面
#?就是這樣的配置 ,[/]?表示整個倉庫的根,組的引用使用@?,對應的權限可以是 r,w,rw?或空
[/]
@admin_group = rw
@dev_group = rw
* = r
[/test_project]
@admin_group = rw
@dev_group = rw
* = r
[repository:/]
@admin_group = rw
@dev_group = rw
* = r
以上的配置完成后,就可以啟動服務器了,下面說明服務器的啟動。
注意,以上 authz?和 passwd?文件在管理中因為具體項目的加入和人員的變動會經常的修改,這也是 SVN?管理主要的工作
2.3.?啟動服務 (svnserve)
Svn?服務器一般有三種方式, svnserve?,apache?和 SSH?。
其中常用的有 svnserve?和 apache?方式。本文只以 svnserve?方式講解。總的來說 svnserve?是最高效的方式,一般應用于內部開發網中使用。
Apache?方式因為可以很好的部署在 internet?上,所以公網使用最方便,但配置稍微相對復雜點點,呵呵~~。三種方式具體的優缺點,請參考本文后面的參考文檔。
命令方式( DOS?下):
svnserve –d –r d:/svnroot/repository
svnserve –d –r "d:/svnroot/repository"
-d?參數是以獨立服務的方式啟動
-r?是制訂要加載的倉庫的物理路徑
但這個方法我用就不行,?報 使用 "svnserve --help"?得到用法
Windows?系統服務
添加為系統服務
方法1(推薦):
在Windows NT中(包括Windows XP,Windows 2000, Windows 2003 Server, Windows vista)本身包含了一個安裝服務的工具,叫做"Service Control",也就是sc.exe。
1.安裝為服務:
例:我的Subversion安裝在"C:/Program Files/Subversion",版本庫在"d:/svnroot/repository",而我希望對應的Subversion服務名為svnservice,安裝這個svn服務的命令就可以這樣寫:
SC create svnservice binPath="/"C:/Program Files/Subversion/bin/svnserve.exe/" --service--root /"E:/svnroot/repository/"" displayname="SVNService" depend= Tcpip
請注意,因為便于察看,上面的命令分為多行,但在實際執行時應該在一行里。另外,在以前啟動svnserve時會使用"-d"選項,也就是守護進程模式,在這里不能使用,會導致服務無法啟動。同樣,"-i"和"-t"選項也不能使用。
另 外還有兩點需要小心處理。首先,如果路徑中包括空格,一定要用“/”處理“"”號,例如上面的例子中如果svnserve.exe在“C: /Program Files/Subversion/bin/svnserve.exe”中,則命令應該寫為“binpath= "/"C:/ProgramFiles/Subversion/bin/svnserve.exe/"”(“”中的內容):
SC create svnservice binPath= "/"C:/ProgramFiles/Subversion/bin/svnserve.exe/" --service --root/"E:/svnroot/repository/"" displayname= "SVNService"depend= Tcpip
其次,sc對選項的格式還有要求,例如“depend=Tcpip”不能寫為“depend = Tcpip”或“depend=Tcpip”,也就是“=”前不能有空各,而后面必須有空格。
2.啟動服務
在命令行窗口執行完這個命令之后,服務還沒有啟動,你可以繼續運行"net startsvnservice"啟動這個服務。
3.停止服務
然后使用"net stop svnservice"停止服務。
4.刪除服務
如果服務安裝的有問題,你可能需要刪除服務。要刪除前面添加的服務,只需要運行"sc deletesvnservice","svnservice"就是我們創建服務時使用的名字。
5.配置服務是自動啟動
默認情況下安裝的服務不會隨Windows的啟動而啟動,為了使svn服務能夠隨Windows啟動而啟動,需要修改一下"sc create"命令(首先要刪除),增加"start= auto"選項:
SC create svnservice binPath="/"C:/Program Files/Subversion/bin/svnserve.exe/" --service--root /"E:/svnroot/repository/"" displayname="SVNService" depend= Tcpip start= auto
SC create svnservice binPath= "/"C:/Program Files/Subversion/bin/svnserve.exe/"--service -r /"E:/svnroot/repository/"" displayname="SVNService" depend= Tcpip start= auto
當然你也可以使用圖形化的工具修改服務的屬性,你可以在“開始->運行...”中執行"services.msc",然后在界面中修改。
在vista下要以管理員的權限運行CMD,?否則會出現權限問題.
在 subversion1.4?后的版本,提供了安裝為服務的支持
可以參考本文安裝: .?
注意以下方法沒有實際做過
------
導入項目
在E:/projects/test_project下建 temp目錄 結構如下
temp
|--test_project
??? |--branches
??? |--tags
??? |--trunk
在temp目錄上點 TortoiseSVN -> Import
輸入 svn://192.168.3.213
和用戶名和密碼后ld項目導入成功
?
?
*******************************************************************
我照著上面得弄的,結果client訪問不了server。
后來在url中添加了根目錄就可以了。
svn://IP[:port]/svnrootname/projectname
總結
以上是生活随笔為你收集整理的SubVersion服务器Windows安装过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编译php5遇到iconv错误的解决方法
- 下一篇: 调用系统函数向进程发信号core