簡單剖析Subversion1.4.4在Apache2.2系列中配置
Subversion經過長期的發(fā)展已經更新多個版本,同時它的新特性也越來越多,本文就來簡單介紹一下在Windows系統(tǒng)中如何在Apache2.2系列中配置Subversion1.4.4。
大家都知道Subversion是一個非常優(yōu)秀的版本控制工具,ApacheHttpServer是最先進的Http服務器。Apache早已經推出2.2系列了,但是Subversion并不能很好的支持在Apache2.2系列中配置。不過最新的Subversion1.4系列已經能夠支持在Apache2.2中配置了。
注意:Subversion采用Subversion1.4.4版本,Apache采用Apache2.2.4版本(其它版本應該大同小異)。下面說一下配置的具體步驟:
1、下載Apache和Subversion。Subversion:去Subversion的下載頁面下載Windows下的Apache2.2版本的文件,對應的地址為Win32packagesbuiltagainstApache2.2(不保證一直能用,最好自己去Subversion主頁去找)。ApacheHttpServer:ApacheHttpServerDownload下邊能找到Apache2.2.4版本的下載地址,目前為:Apache_2.2.4-win32-x86-no_ssl.msi。
2、安裝Apache2.2.4,比較簡單按照提示安裝即可,友情提示:最好不要選擇默認的安裝目錄,裝載根目錄下用起來最方便,比如安裝在C:\ApacheSoftwareFoundation\Apache2.2目錄下。
3、解壓下載的Subversion-win32-1.4.4.zip至某一目錄,比如解壓至目錄:C:\SubversionServer。
4、修改Apache的配置文件httpd.conf如下:
在LoadModulecgi_modulemodules/mod_cgi.so這一行(大概是第83行)后邊增加如下內容
#ForSubversion
LoadModuledav_modulemodules/mod_dav.so
LoadModuledav_fs_modulemodules/mod_dav_fs.so
LoadModuledav_Subversion_modulemodules/mod_dav_Subversion.so
LoadModuleauthz_Subversion_modulemodules/mod_authz_Subversion.so
或者在模塊加載列表找到以下語句:#LoadModuledav_modulemodules/mod_dav.so和#LoadModuledav_fs_modulemodules/mod_dav_fs.so。去掉前面的“#”號,啟用加載這兩個模塊。然后再在模塊加載語句最后添加以下兩行:
LoadModuledav_Subversion_modulemodules/mod_dav_Subversion.so
LoadModuleauthz_Subversion_modulemodules/mod_authz_Subversion.so
5、拷貝解壓後的Subversion目錄下bin文件夾(對應本例即為C:\SubversionServer\bin)下的mod_authz_Subversion.so和mod_dav_Subversion.so這兩個文件,到Apache安裝目錄下的modules文件(本例即為目錄C:\ApacheSoftwareFoundation\Apache2.2\modules)下。解壓後的Subversion目錄下bin文件夾(對應本例即為C:\SubversionServer\bin)下的libdb44.dll、libeay32.dll、ssleay32.dll到Apache安裝目錄下的bin文件夾(即目錄(本例即為目錄C:\ApacheSoftwareFoundation\Apache2.2\bin)下。
6、設置環(huán)境變量,必不可少的一步:APR_ICONV_PATH=Subversion解壓目錄\iconv,并增加Path變量Subversion1.4.4bin,對應本例,設置如下:(環(huán)境變量的設置方法略)
APR_ICONV_PATH=C:\SubversionServer\iconv
在Path變量中增加C:\SubversionServer\bin
7、創(chuàng)建了版本庫以后,修改Apache配置文件httpd.conf,根據(jù)需要創(chuàng)建服務器。
不帶有任何權限控制的Subversion服務器:
在文件最后追加如下內容:
#Subversion
DAVSubversion
SubversionListParentPathon#使用Subversion版本庫列表功能
SubversionParentPathD:\Subversion#Subversion版本庫根目錄
較完備的Subversion服務器:(在httpd.conf后追加如下內容)
#Subversion
DAVSubversion
SubversionListParentPathon
SubversionParentPathD:\Subversion#Subversion版本庫根目錄
#認證的類型
AuthTypeBasic
#認證的名稱,顯示于登錄提示框
AuthName"Subversionrepositories!Loginneeded!"
#Whichpasswordfiletouseforauthentication存儲用戶登錄信息的文件
AuthUserFileD:\Subversion\passwd
#LocationoftheAccessfileforpathsinsideaSubversionrepository!存儲Subversion服務器的訪問控制策略
AuthzSubversionAccessFileD:\Subversion\Subversionaccessfile.txt
#Foranyoperationsotherthanthese,requireanauthenticateduser.匿名用戶只有讀權限登錄用戶有寫權限
#在使用AcessFile時如允許匿名訪問仍需這樣寫
Requirevalid-user#OnlyvalidusersareallowedtoaccesstheURL
重啟Apche服務器即可,在瀏覽器輸入:http://localhost/Subversion/驗證配置。
注意:這樣的配置目前還不能用ApacheMonitor去啟動服務,必須去命令行只Apache安裝目錄,輸入httpd命令才能正常啟動~
Subversion的使用可以參看我的另外一篇文章:Subversion使用心得!期待支持Apache2.2.4的Exe版本的Subversion的發(fā)布。
另外,給大家推薦一個很好的學習和使用Subversion的網站:我用Subversion-Subversion中文論壇。是我目前見到的國內的學習Subversion最好的網站,相信使用Subversion碰到的大部分問題在其中都可以找到合適的解決方法的。尤其推薦:TortoiseSubversion中文幫助手冊,里邊有非常詳細的Subversion1.4.4以及使用說明。
【編輯推薦】