因?yàn)楣ぷ餍枰?要架設(shè)一個(gè)Subversion和Apache一起工作的源碼管理器.以便協(xié)同工作.于是網(wǎng)上找了一些資料,在找資料的過(guò)程中,也走了一些彎路,于是自己整理了一下安裝的過(guò)程和一些注意的事項(xiàng),希望能對(duì)大家有些幫助.
我這里用的IDE是netbeans6.0,其實(shí)用什么IDE都無(wú)所謂,只是netbeans一直是我喜歡的IDE,所以順便向大家推薦一下.呵呵.
好了,言歸正傳吧,要準(zhǔn)備的東西如下:
1,apache_2.0.63-win32-x86-no_ssl.msi
下載:http://apache.mirror.phpchina.com/httpd/binaries/win32/apache_2.0.63-win32-x86-no_ssl.msi
2,svn-1.4.5-setup.exe
下載地址:http://subversion.tigris.org/files/documents/15/39559/svn-1.4.5-setup.exe
當(dāng)然,你也可以選擇安裝TortoiseSVN.但是我沒(méi)有裝,因?yàn)槲业脑创a管理都是用netbeans完成的.
好了,準(zhǔn)備的兩個(gè)軟件都下載下來(lái)以后,就可以開(kāi)始安裝了.
首先安裝apache,一般來(lái)說(shuō)直接點(diǎn)下一步就可以了,在設(shè)置domain以及host的時(shí)候,設(shè)置為localhost就可以了,Email你可以填你自己的Email,也可以隨便填一個(gè).安裝apache要注意的是,你的電腦上80端口不能被占用,否則你的http服務(wù)是啟動(dòng)不起來(lái)的,我就遇到過(guò)這事,因?yàn)槲矣昧藄kype,它在本機(jī)上打開(kāi)了80和443端口來(lái)監(jiān)聽(tīng),搞得我一開(kāi)始裝不好,總是啟動(dòng)不起來(lái),后來(lái)才發(fā)現(xiàn)是skype占用了80端口,于是把skype的設(shè)置改了以后,重裝apache才成功.裝好apache以后,這個(gè)時(shí)候,它已經(jīng)在運(yùn)行了,你可以在瀏覽器的地址欄輸入http://localhost看看,是否安裝成功,如果安裝成功的話,這個(gè)時(shí)候?yàn)g覽器里面應(yīng)該是可以看到一個(gè)頁(yè)面的.
然后,再安裝svn-1.4.5-setup.exe,也很簡(jiǎn)單,一步一步點(diǎn)下步就可以了,在安裝的過(guò)程中,它會(huì)默認(rèn)選中一些選項(xiàng),其中就有一個(gè)是是否對(duì)apache的HTTP服務(wù)器提供支持的選項(xiàng),這個(gè)默認(rèn)是勾上的,不要去反選它,其它的你可以反選掉.然后svn就宣布安裝成功了.你可以到CMD下面去試一下svn這個(gè)命令,如果有輸出,則說(shuō)明安裝成功了,如果提示svn 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。那就說(shuō)明沒(méi)有裝好.或者沒(méi)有把這個(gè)命令加入到path中,所以最好的辦法是到svn的安裝目錄下的bin里面去看一下.
兩者都裝好了以后,就開(kāi)始配置,當(dāng)然,配置也是最重要的.
首先要建立一個(gè)數(shù)據(jù)倉(cāng)庫(kù),我們假設(shè)建在E盤,數(shù)據(jù)倉(cāng)庫(kù)最好不要建在C盤,因?yàn)镃盤重裝系統(tǒng)以后就格了.我們先在E盤下面建立一個(gè)目錄叫svnroot,然后在svnroot下面再建立一個(gè)我們專門放我們工程的目錄,比如叫MyProject.于是我們?cè)贓盤下面就有了這個(gè)一個(gè)文件夾:
E:\svnroot\MyProject,然后我們用svnadmin的命令,使這個(gè)文件夾變成我們的數(shù)據(jù)倉(cāng)庫(kù),命令如下:
svnadmin create E:\svnroot\MyProject
如果運(yùn)行成功的話,什么也沒(méi)有輸出,這個(gè)時(shí)候,我們?cè)賮?lái)到MyProject文件夾下面,我們會(huì)發(fā)現(xiàn)多了幾個(gè)文件夾和文件,我們打開(kāi)
conf文件夾,然后再打開(kāi)
svnserve.conf文件,找到如下行# password-db = passwd,然后把它前面的#去掉,表示MyProject是需要密碼驗(yàn)證的.但是我們密碼設(shè)在哪里呢,這個(gè)時(shí)候我們?cè)俅蜷_(kāi)conf文件夾下面的passwd文件,用文本編輯器打開(kāi),在[users]下面加上我們需要啟動(dòng)的人員的用戶和密碼,比如
[users]
hadeslee=hadeslee1234
tom=123456
這個(gè)的話,我們就啟動(dòng)了兩個(gè)用戶,一個(gè)叫hadeslee,密碼是hadeslee1234,一個(gè)叫tom,密碼是123456.然后我們保存
passwd文件.然后,我們?cè)俳ㄒ粋€(gè)文件,叫
access.auth,這個(gè)文件是設(shè)置訪問(wèn)權(quán)限的,里面內(nèi)容如下:
[MyProject:/]
hadeslee = rw
[MyProject:/module1]
tom=rw
hadeslee=rw
這表示,MyProject下面的所有子目錄hadeslee都是有權(quán)限讀寫的,但是tom只有權(quán)限讀寫此項(xiàng)目下面的module1目錄,這個(gè)各自的訪問(wèn)權(quán)限就分的更細(xì)致了.有關(guān)于MyProject文件夾下面的設(shè)置,我們就告一段落了,我們現(xiàn)在開(kāi)始設(shè)置apache,使它能和subvertion一起工作.
首先來(lái)到Subersion的安裝目錄,進(jìn)入它的bin目錄,我們會(huì)發(fā)現(xiàn)如下兩個(gè)文件:
mod_authz_svn.so
mod_dav_svn.so
我們把這兩個(gè)文件復(fù)制一下,粘帖到apache的安裝目錄下的modules文件中,然后我們?cè)俅蜷_(kāi)apache安裝目錄下的conf文件夾,打開(kāi)httpd.conf文件.增加如下兩行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
注意,由于dav_svn需要dav_module的支持,所以要確保下面這一行沒(méi)有被注釋,并且保證在dav_svn之前加載:
LoadModule dav_module modules/mod_dav.so
然后模塊的設(shè)置就完成了,下面我們要設(shè)置SVN的目錄,以使我們的apache能知道訪問(wèn)不同的URL的時(shí)候,它去哪里尋找這個(gè)URL所對(duì)應(yīng)的SVN目錄.
在
httpd.conf文件中,增加如下內(nèi)容:
<Location /svn/MyProject>
DAV svn
SVNPath E:/svnroot/MyProject
AuthzSVNAccessFile E:/svnroot/MyProject/conf/access.auth
Satisfy Any
Require valid-user
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile E:/svnroot/MyProject/conf/users.auth
Require valid-user
</Location>
添加完上面這些,我們會(huì)發(fā)現(xiàn)
access.auth是我們剛才新建的,可是
users.auth我們并沒(méi)有新建啊.怎么就把它加進(jìn)去了.不要急,現(xiàn)在我們就來(lái)生成
users.auth文件.
進(jìn)入apache的安裝目錄的bin文件夾,輸入如下命令:
D:\Program Files\Apache Group\Apache2\bin>htpasswd -cb users.auth hadeslee hadeslee1234
Automatically using MD5 format.
Adding password for user hadeslee
D:\Program Files\Apache Group\Apache2\bin>
我們就會(huì)發(fā)現(xiàn)在bin目錄生成了users.auth,我們可以看到,hadeslee用戶名已經(jīng)被添加進(jìn)去了,密碼是用MD5加密過(guò)的.然后我們還要增加用戶呢,可以用如下方法:
D:\Program Files\Apache Group\Apache2\bin>htpasswd -b users.auth tom 123456
Automatically using MD5 format.
Adding password for user tom
D:\Program Files\Apache Group\Apache2\bin>
只是在生成密碼的時(shí)候,小了一個(gè)c的參數(shù),因?yàn)閏表示重新生成一個(gè)這樣的文件,我們第一次的時(shí)候是要加的,后面我們要添加用戶的時(shí)候,就不用這個(gè)c了.然后打開(kāi)
users.auth,會(huì)發(fā)現(xiàn)兩個(gè)用戶都已經(jīng)在里面了,這個(gè)時(shí)候,我們把
users.auth移到
E:/svnroot/MyProject/conf/里面去,使我們上面的設(shè)置生效.
這個(gè)時(shí)候,我們的設(shè)置就完成了.可以在瀏覽器里面輸入
http://localhost/svn/MyProject試試看.
如果以后我們還要加入其它的項(xiàng)目呢,可以有兩點(diǎn)解決方式
1,把以后的項(xiàng)目也導(dǎo)入到我們的MyProject的倉(cāng)庫(kù)中,這個(gè)的話,就不用改什么配置了
2,新建一個(gè)數(shù)據(jù)倉(cāng)庫(kù),然后只要按上面的步驟,把新的<Location...>設(shè)置放到httpd.conf里面就可以了.
當(dāng)然,驗(yàn)證文件,訪問(wèn)權(quán)限文件,還有訪問(wèn)SVN的密碼都要自己按上面的方法再設(shè)一遍.
祝大家能夠設(shè)置成功:)
盡管千里冰封
依然擁有晴空
你我共同品味JAVA的濃香.
posted on 2008-03-12 18:59
千里冰封 閱讀(35994)
評(píng)論(40) 編輯 收藏 所屬分類:
JAVA擴(kuò)展