因為工作需要,要架設一個Subversion和Apache一起工作的源碼管理器.以便協同工作.于是網上找了一些資料,在找資料的過程中,也走了一些彎路,于是自己整理了一下安裝的過程和一些注意的事項,希望能對大家有些幫助.
我這里用的IDE是netbeans6.0,其實用什么IDE都無所謂,只是netbeans一直是我喜歡的IDE,所以順便向大家推薦一下.呵呵.
好了,言歸正傳吧,要準備的東西如下:
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
當然,你也可以選擇安裝TortoiseSVN.但是我沒有裝,因為我的源碼管理都是用netbeans完成的.
好了,準備的兩個軟件都下載下來以后,就可以開始安裝了.
首先安裝apache,一般來說直接點下一步就可以了,在設置domain以及host的時候,設置為localhost就可以了,Email你可以填你自己的Email,也可以隨便填一個.安裝apache要注意的是,你的電腦上80端口不能被占用,否則你的http服務是啟動不起來的,我就遇到過這事,因為我用了skype,它在本機上打開了80和443端口來監聽,搞得我一開始裝不好,總是啟動不起來,后來才發現是skype占用了80端口,于是把skype的設置改了以后,重裝apache才成功.裝好apache以后,這個時候,它已經在運行了,你可以在瀏覽器的地址欄輸入http://localhost看看,是否安裝成功,如果安裝成功的話,這個時候瀏覽器里面應該是可以看到一個頁面的.
然后,再安裝svn-1.4.5-setup.exe,也很簡單,一步一步點下步就可以了,在安裝的過程中,它會默認選中一些選項,其中就有一個是是否對apache的HTTP服務器提供支持的選項,這個默認是勾上的,不要去反選它,其它的你可以反選掉.然后svn就宣布安裝成功了.你可以到CMD下面去試一下svn這個命令,如果有輸出,則說明安裝成功了,如果提示svn 不是內部或外部命令,也不是可運行的程序或批處理文件。那就說明沒有裝好.或者沒有把這個命令加入到path中,所以最好的辦法是到svn的安裝目錄下的bin里面去看一下.
兩者都裝好了以后,就開始配置,當然,配置也是最重要的.
首先要建立一個數據倉庫,我們假設建在E盤,數據倉庫最好不要建在C盤,因為C盤重裝系統以后就格了.我們先在E盤下面建立一個目錄叫svnroot,然后在svnroot下面再建立一個我們專門放我們工程的目錄,比如叫MyProject.于是我們在E盤下面就有了這個一個文件夾:
E:\svnroot\MyProject,然后我們用svnadmin的命令,使這個文件夾變成我們的數據倉庫,命令如下:
svnadmin create E:\svnroot\MyProject
如果運行成功的話,什么也沒有輸出,這個時候,我們再來到MyProject文件夾下面,我們會發現多了幾個文件夾和文件,我們打開
conf文件夾,然后再打開
svnserve.conf文件,找到如下行# password-db = passwd,然后把它前面的#去掉,表示MyProject是需要密碼驗證的.但是我們密碼設在哪里呢,這個時候我們再打開conf文件夾下面的passwd文件,用文本編輯器打開,在[users]下面加上我們需要啟動的人員的用戶和密碼,比如
[users]
hadeslee=hadeslee1234
tom=123456
這個的話,我們就啟動了兩個用戶,一個叫hadeslee,密碼是hadeslee1234,一個叫tom,密碼是123456.然后我們保存
passwd文件.然后,我們再建一個文件,叫
access.auth,這個文件是設置訪問權限的,里面內容如下:
[MyProject:/]
hadeslee = rw
[MyProject:/module1]
tom=rw
hadeslee=rw
這表示,MyProject下面的所有子目錄hadeslee都是有權限讀寫的,但是tom只有權限讀寫此項目下面的module1目錄,這個各自的訪問權限就分的更細致了.有關于MyProject文件夾下面的設置,我們就告一段落了,我們現在開始設置apache,使它能和subvertion一起工作.
首先來到Subersion的安裝目錄,進入它的bin目錄,我們會發現如下兩個文件:
mod_authz_svn.so
mod_dav_svn.so
我們把這兩個文件復制一下,粘帖到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
然后模塊的設置就完成了,下面我們要設置SVN的目錄,以使我們的apache能知道訪問不同的URL的時候,它去哪里尋找這個URL所對應的SVN目錄.
在
httpd.conf文件中,增加如下內容:
<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>
添加完上面這些,我們會發現
access.auth是我們剛才新建的,可是
users.auth我們并沒有新建啊.怎么就把它加進去了.不要急,現在我們就來生成
users.auth文件.
進入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>
我們就會發現在bin目錄生成了users.auth,我們可以看到,hadeslee用戶名已經被添加進去了,密碼是用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的參數,因為c表示重新生成一個這樣的文件,我們第一次的時候是要加的,后面我們要添加用戶的時候,就不用這個c了.然后打開
users.auth,會發現兩個用戶都已經在里面了,這個時候,我們把
users.auth移到
E:/svnroot/MyProject/conf/里面去,使我們上面的設置生效.
這個時候,我們的設置就完成了.可以在瀏覽器里面輸入
http://localhost/svn/MyProject試試看.
如果以后我們還要加入其它的項目呢,可以有兩點解決方式
1,把以后的項目也導入到我們的MyProject的倉庫中,這個的話,就不用改什么配置了
2,新建一個數據倉庫,然后只要按上面的步驟,把新的<Location...>設置放到httpd.conf里面就可以了.
當然,驗證文件,訪問權限文件,還有訪問SVN的密碼都要自己按上面的方法再設一遍.
祝大家能夠設置成功:)
盡管千里冰封
依然擁有晴空
你我共同品味JAVA的濃香.
posted on 2008-03-12 18:59
千里冰封 閱讀(35991)
評論(40) 編輯 收藏 所屬分類:
JAVA擴展