這兩天整了一下SVN的服務器,網上資料的確挺多的,多少都有些遺漏,以至於我配置的時候找了好多資料來參考。廢話少說,將這兩天使用的資料整理一下。
一、首先準備好軟件:這些官網上都是可以找到的。
1、APACHE(httpd-2.2.17-win32-x86-no_ssl.msi)
2、SVN服務器(Setup-Subversion-1.6.16.msi http://subversion.tigris.org)官網上可以下載的
3、SVN客戶端(TortoiseSVN-1.6.15.21042-win32-svn-1.6.16.msi http://tortoisesvn.net/downloads)
這個最好選擇與服務器相對應的,下載時有提示
4、語言包(LanguagePack_1.6.6.17493-win32-zh_CN.msi )
5、SVNService.zip 用於建立windows服務
二、安裝
1、安裝APACHE(參考的是http://tech.163.com/06/0206/11/299AMBLT0009159K.html圖文並茂寫的很詳細)
和裝普通的軟件一樣,只是安裝完了需要配置一下。
查找關鍵字“DocumentRoot”,主要是一般文件地址的“/”在Apache裏要改成“/”。
DirectoryIndex(目錄索引),比如有些網站的首頁是index.htm,就在光標那裏加上“index.htm ”文件名是任意的。
把“# DefaultLanguage nl”前面的“# ”去掉,把“nl”改成你要強制輸出的語言,中文是“zh-cn”,保存,關閉。
2、安裝SVN的服務器和客戶端。(參考http://lionsadness.iteye.com/blog/744412)
安裝完了之後會重啓一下,之後安裝語言包。將 5 SVN服務 解壓到 2 中安裝目錄下的 bin 目錄中。
找到 Subversion 安裝目錄下的以下文件:
bin/mod_authz_svn.so
bin/mod_dav_svn.so
複製到 Apache 安裝目錄下 modules 目錄中
bin/intl3_svn.dll
bin/libdb*.dll
複製到 Apache 安裝目錄下 bin 目錄中(這裏似乎並不是必須的)
三、創建版本倉庫 (參考http://blog.163.com/air-blue55/blog/static/9708657020105612454398/)
1、新建一空文件夾 E:/svn,作爲所有版本庫的根目錄。
然後,進入命令行並切換到subversion的bin目錄。輸入如下命令:svnadmin create E:/svn/repos1
此命令在 E:/svn 下建立一個版本庫 repos1 。repos1 下面會自動生成一些文件夾和文件。
我們也可以使用 TortoiseSVN 圖形化的完成這一步:
先建立空目錄 E:/svn/repos1 ,注意一定是要空的。然後在 repos1 文件夾上“右鍵->TortoiseSVN->Create Repository here...”,然後可以選擇版本庫模式,這裏使用默認的FSFS即可,然後就創建了一系列文件夾和文件,同命令行建立的一樣。
這兩種方式我都用過了,似乎圖形化的方式創建的時候,不用選擇版本庫模式。
2、修改配置文件
對三個文件進行配置,在svn/conf目錄下,分別爲svnserve.conf,passwd,authz。
<1> 文件svnserve.conf中把下面前面的#號去掉,修改如下:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
<2> 文件passwd增加用戶,修改如下:
[users]
yao = 123(隨用戶自己命名和取的密碼)
<3> 文件authz修改如下:
[groups]
admin = yao
[/]
@admin = rw
*= r
當然還有開發者、測試者的配置,權限不一樣。詳細參考Windows下Subversion配置管理員指南(http://www.uml.org.cn/pzgl/200611151.htm)
四、創建SVN服務和啓動服務
1.創建服務
DOS窗口下
D:/Subversion/bin>SVNService -install -d -r E:/svn
或者D:/Subversion/bin>svnserve -d -r E:/svn(和上面差不多)
2.啓動服務
直接進入服務 啓動“SVNService”服務。
五、APACHE配置
修改Apache的配置文件 httpd.conf ,使用LoadModule來加載mod_dav_svn模塊。
去掉#LoadModule dav_module modules/mod_dav.so前面的“#”號。
添加:
LoadModule dav_svn_module modules/mod_dav_svn.so
一定確定它在 mod_dav 之後。
現在你已經設置了Apache和Subversion,但是Apache不知道如何處理Subversion客戶端,例如TortoiseSVN。爲了讓Apache知道哪個目錄是用來作爲Subversion版本庫,在httpd.conf 配置文件最後添加如下幾行:
<Location /repository>
DAV svn
SVNParentPath E:/svn
</Location>
這個配置告訴Apache首先需要啓用 dav_module,然後加載 dav_svn_module 。版本庫對外的URL是:
http://服務器IP/repository 所有的Subversion版本庫在物理上位於D:/SVN/svnAllproject。
配置完畢後重新啓動 Apache,打開瀏覽器,輸入 http://服務器IP/ repository +"具體的版本倉庫" 如
http://服務器IP/ repository/repos1
六、權限
使用 Apache 安裝目錄下的 bin/htpasswd.exe 可執行文件生成授權文件
第一次生成,使用 -cb 參數:
htpasswd -cb [filename] [username] [password]
例如:
htpasswd -cb passwd.apache islee 123
添加新用戶,使用 -b 參數:
htpasswd -b passwd.apache another 456
將生成的 passwd.apache 文件移動到 D:/svn/repos1/conf目錄下
我使用的時候這個命令不是完全對的,根據命令提示操作即可。當時做的時候沒有完全記下來。
還要將這些信息加入到 Apache配置文件裏,conf/httpd.conf
<Location /repository>
DAV svn
SVNParentPath E:/svn
AuthType Basic
AuthName "enterprisesys"
#AuthzSVNAccessFile "E:/svn/repos1/conf/authz"
AuthUserFile "E:/svn/repos1/conf/passwd.apache"
Require valid-user
</Location>
七、插件Myeclipse與SVN整合
插件地址:http://subclipse.tigris.org/update
方法一:(我用的是這種方法,而且沒有問題)
<1>若沒有該選項,則採用以下方法,點擊Help—Software Updates---And / Remove Software…在出現的對話框中選擇 Add---Add Site---輸入name爲SVN,URL爲http://subclipse.tigris.org/update 點擊確定 安裝完成即可。
打開MyEclipse菜單---Window---Show View---Other….選擇SVN---SVN資源庫在Myeclipse中出現SVN透視圖
<2> 在空白處右擊---新建---資源庫位置,在URL選項中寫入:svn://localhost/repository/repos1/,確定即可
在彈出的對話框中輸入用戶名和密碼(爲之前在文件修改的用戶名和密碼),確定 (路徑一定要正確,不然會出錯)。
<3> 右擊建立的資源庫位置,新建一個遠程文件夾,填入文件夾名,Next—Finish
<4>右擊新建的遠程文件夾,選 導入 選項,選擇導入目標文件的目錄,點擊確定即可
<5>打開file菜單---New---Others….---SVN---從SVN中出去項目---next---選定資源庫位置---Next---選擇目標遠程文件夾---Next---爲項目命名---Finish
方法二:(這種方法安裝的subclipse會比較麻煩,這種方法沒有試)
<1>subclipse.tigris.org 下載subclipse , site-1.0.6
<2>解壓文件,在Myeclipse菜單--help--Software Update--Add/Remove Software --- Add --Add Local ---選中site-1.6.10.zip---選中 Personal Sites--完成安裝。
以上是參考了很多網上的資料,以及自己配置服務器的過程的情況,總結的。以後配置的時候就方便了,留着以後看。