Posted on 2009-11-24 17:28
三羽 閱讀(259)
評論(0) 編輯 收藏
要準(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.但是我沒有裝,因?yàn)槲业脑创a管理都是用netbeans完成的.
好了,準(zhǔn)備的兩個軟件都下載下來以后,就可以開始安裝了.
首先安裝apache,一般來說直接點(diǎn)下一步就可以了,在設(shè)置domain以及host的時候,設(shè)置為localhost就可以了,Email你可以填你自己的Email,也可以隨便填一個.安裝apache要注意的是,你的電腦上80端口不能被占用,否則你的http服務(wù)是啟動不起來的,我就遇到過這事,因?yàn)槲矣昧藄kype,它在本機(jī)上打開了80和443端口來監(jiān)聽,搞得我一開始裝不好,總是啟動不起來,后來才發(fā)現(xiàn)是skype占用了80端口,于是把skype的設(shè)置改了以后,重裝apache才成功.裝好apache以后,這個時候,它已經(jīng)在運(yùn)行了,你可以在瀏覽器的地址欄輸入http://localhost看看,是否安裝成功,如果安裝成功的話,這個時候?yàn)g覽器里面應(yīng)該是可以看到一個頁面的.
然后,再安裝svn-1.4.5-setup.exe,也很簡單,一步一步點(diǎn)下步就可以了,在安裝的過程中,它會默認(rèn)選中一些選項,其中就有一個是是否對apache的HTTP服務(wù)器提供支持的選項,這個默認(rèn)是勾上的,不要去反選它,其它的你可以反選掉.然后svn就宣布安裝成功了.你可以到CMD下面去試一下svn這個命令,如果有輸出,則說明安裝成功了,如果提示svn 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。那就說明沒有裝好.或者沒有把這個命令加入到path中,所以最好的辦法是到svn的安裝目錄下的bin里面去看一下.
兩者都裝好了以后,就開始配置,當(dāng)然,配置也是最重要的.
首先要建立一個數(shù)據(jù)倉庫,我們假設(shè)建在E盤,數(shù)據(jù)倉庫最好不要建在C盤,因?yàn)镃盤重裝系統(tǒng)以后就格了.我們先在E盤下面建立一個目錄叫svnroot,然后在svnroot下面再建立一個我們專門放我們工程的目錄,比如叫MyProject.于是我們在E盤下面就有了這個一個文件夾:E:\svnroot\MyProject,然后我們用svnadmin的命令,使這個文件夾變成我們的數(shù)據(jù)倉庫,命令如下:
svnadmin create E:\svnroot\MyProject
如果運(yùn)行成功的話,什么也沒有輸出,這個時候,我們再來到MyProject文件夾下面,我們會發(fā)現(xiàn)多了幾個文件夾和文件,我們打開conf文件夾,然后再打開svnserve.conf文件,找到如下行# password-db = passwd,然后把它前面的#去掉,表示MyProject是需要密碼驗(yàn)證的.但是我們密碼設(shè)在哪里呢,這個時候我們再打開conf文件夾下面的passwd文件,用文本編輯器打開,在[users]下面加上我們需要啟動的人員的用戶和密碼,比如
[users]
hadeslee=hadeslee1234
tom=123456
這個的話,我們就啟動了兩個用戶,一個叫hadeslee,密碼是hadeslee1234,一個叫tom,密碼是123456.然后我們保存passwd文件.然后,我們再建一個文件,叫access.auth,這個文件是設(shè)置訪問權(quán)限的,里面內(nèi)容如下:
[MyProject:/]
hadeslee = rw
[MyProject:/module1]
tom=rw
hadeslee=rw
這表示,MyProject下面的所有子目錄hadeslee都是有權(quán)限讀寫的,但是tom只有權(quán)限讀寫此項目下面的module1目錄,這個各自的訪問權(quán)限就分的更細(xì)致了.有關(guān)于MyProject文件夾下面的設(shè)置,我們就告一段落了,我們現(xiàn)在開始設(shè)置apache,使它能和subvertion一起工作.
首先來到Subersion的安裝目錄,進(jìn)入它的bin目錄,我們會發(fā)現(xiàn)如下兩個文件:
mod_authz_svn.so
mod_dav_svn.so
我們把這兩個文件復(fù)制一下,粘帖到apache的安裝目錄下的modules文件中,然后我們再打開apache安裝目錄下的conf文件夾,打開httpd.conf文件.增加如下兩行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
注意,由于dav_svn需要dav_module的支持,所以要確保下面這一行沒有被注釋,并且保證在dav_svn之前加載:
LoadModule dav_module modules/mod_dav.so
然后模塊的設(shè)置就完成了,下面我們要設(shè)置SVN的目錄,以使我們的apache能知道訪問不同的URL的時候,它去哪里尋找這個URL所對應(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>
添加完上面這些,我們會發(fā)現(xiàn)access.auth是我們剛才新建的,可是users.auth我們并沒有新建啊.怎么就把它加進(jìn)去了.不要急,現(xiàn)在我們就來生成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>
我們就會發(fā)現(xiàn)在bin目錄生成了users.auth,我們可以看到,hadeslee用戶名已經(jīng)被添加進(jìn)去了,密碼是用MD5加密過的.然后我們還要增加用戶呢,可以用如下方法:
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>
只是在生成密碼的時候,小了一個c的參數(shù),因?yàn)閏表示重新生成一個這樣的文件,我們第一次的時候是要加的,后面我們要添加用戶的時候,就不用這個c了.然后打開users.auth,會發(fā)現(xiàn)兩個用戶都已經(jīng)在里面了,這個時候,我們把users.auth移到E:/svnroot/MyProject/conf/里面去,使我們上面的設(shè)置生效.
這個時候,我們的設(shè)置就完成了.可以在瀏覽器里面輸入http://localhost/svn/MyProject試試看.
如果以后我們還要加入其它的項目呢,可以有兩點(diǎn)解決方式
1,把以后的項目也導(dǎo)入到我們的MyProject的倉庫中,這個的話,就不用改什么配置了
2,新建一個數(shù)據(jù)倉庫,然后只要按上面的步驟,把新的<Location...>設(shè)置放到httpd.conf里面就可以了.
當(dāng)然,驗(yàn)證文件,訪問權(quán)限文件,還有訪問SVN的密碼都要自己按上面的方法再設(shè)一遍.