MyEclipse下SVN安裝問題跟蹤報道
本節繼續介紹MyEclipse下SVN安裝,SVN這一版本控制工具現在正越來越受到用戶的歡迎,用途也越來越廣,下面就讓我們一起來看一下SVN安裝的相關介紹希望你能學到SVN更多的知識。
4.安全配置Subversion
4.1首先解釋3.4種配置信息的用途。
4.1.1<Location/svn>
說明我們所有的代碼倉庫在/svn這個虛擬目錄下
4.1.2DAVsvn
說明Apache會使用svn這個module來解析這個虛擬目錄
4.1.3SVNParentPathe:\SVN
說明所有的代碼倉庫都在本地硬盤的e:\SVN下
4.1.4AuthTypeBasic
使用最基本的認證校驗,用戶名/密碼
4.1.5AuthName“Subversionrepositories”
說明在認證對話框彈出的時候,對話框的標題顯示,你可以把它修改成你想要的任何提示信息,比如:AuthName“Warning”等等
4.1.6AuthUserFilepasswd
說明我們使用的accesslist文件的名字,在上一講中我們建立的文件名字是passwd,所以這里是passwd。如果你建立的文件名字是其他的,這里要作相應的改動
4.1.7AuthzSVNAccessFile
說明svn自己控制的accesslist文件,這個文件很重要,可以豐富svn的安全配置,在下面會講到
4.1.8Requirevalid-user
說明只有輸入正確的用戶名/密碼才能訪問
4.2對代碼倉庫進行更細致的控制
MyEclipse下SVN安裝過程中,如果你對于代碼倉庫里面某些目錄還有更細致的訪問控制,只用passwd就沒辦法啦,這個時候我們就需要AuthzSVNAccessFile文件了,去掉#AuthzSVNAccessFilesvnaccessfile這一行前面的注釋。Apache首先會使用passwd校驗用戶名和密碼,然后會認證信息傳給Subversion的AuthzSVNAccessFile模塊,由這個模塊作更進一步的權限控制。
首先我們來新建一個文件svnaccessfile,內容如下:
- [groups]
- developers=user1,user2,user3,user4
- docs=user5,user6,user7
- #toalloweveryonereadaccess
- [/]
- *=r
- #allowalldeveloperscompleteaccess
- @developers=rw
- #givethedocpeoplewriteaccesstothedocsfolder
- [/project/trunk/doc]
- @docs=rw
首先我們定義了兩個group,一個是developer,代表開發組,另外一個是docs,代表文檔撰寫組,然后[/],*=r
意思是對于所有的用戶開放可讀的權限。注意這里的[/],表示是對根目錄下的所有代碼倉庫賦予權限。接著是
@developers=rw
[/project/trunk/doc]
@docs=rw
這里再說說SVNParentPath,配置了SVNParentPath,以后每次在根目錄下面加入新的repository就不需要再重新配置Subversion和Apache了,自動獲取了根目錄的配置信息,很方便。然而這也引發了另外一個問題,當你在瀏覽器地址欄里輸入http://youserver/svn/的時候,服務器會報錯,提示你沒有權限訪問訪問這個url,我們想要的效果是瀏覽到這個url時能夠把根目錄下的所有的repository列出來。完成這個工作需要寫點代碼了,使用的工具可以是很多,這里使用php。MyEclipse下SVN安裝需要訪問代碼庫。
4.3使用php使得可以通過web訪問代碼庫
4.3.1首先去某網站下載php。
4.3.2將下載的php壓縮文件解壓,文件夾改名為php復制到你想放置的目錄路徑下,注意目錄名不能有空格,否則apache會找不到相關的module,比如D:/php-4.3.10RC1-Win32。
4.3.3打開剛才解壓的PHP目錄,你會發現有一個叫做”php.ini-dist”的文件,這就是PHP的配置文件了,你需要把它改名成”php.ini”,然后復制到系統目錄windows(2K應該是winnt)下。打開這個配置文件,把;cgi.force_redirect=1改成cgi.force_redirect=0,這樣做是強迫不運行在cgi模式下,我們希望php工作在Apache的module模式下。
4.3.4PHP安裝目錄下的”php4ts.dll”必須要復制到windows系統的system32目錄下。
4.4.5dlls和extensions目錄里的所有文件拷到system32里。
4.4.6打開Apache的配置文件http.conf,在module配置節末尾加上LoadModulephp4_moduleD:/php-4.3.10RC1-Win32/sapi/php4apache2.dll和AddTypeapplication/x-httpd-php.php.php3.php4
4.4.7如果下載得到是php5的話,仍然做與上面類比作操作,應該也很容易吧~~
4.4.8用文本編輯器編寫一個php文件,保存為svn_index.php,內容如下:
- <html>
- <head>
- <title>SubversionRepositories</title>
- </head>
- <body>
- <h2>SubversionRepositories</h2>
- <p>
- <?php
- $svnparentpath=“e:/svn”;
- $svnparenturl=“/svn”;
- $dh=opendir($svnparentpath);
- if($dh){
- while($dir=readdir($dh)){
- $svndir=$svnparentpath.“/”.$dir;
- $svndbdir=$svndir.“/db”;
- $svnfstypefile=$svndbdir.“/fs-type”;
- if(is_dir($svndir)&&is_dir($svndbdir)){
- echo“<ahrefahref=\”".$svnparenturl.“/”.
- $dir.“\”>”.$dir.“</a>\n”;
- if(file_exists($svnfstypefile)){
- $handle=fopen(“$svnfstypefile”,“r”);
- $buffer=fgets($handle,4096);
- fclose($handle);
- $buffer=chop($buffer);
- if(strcmp($buffer,“fsfs”)==0){
- echo”(FSFS)<br/>\n”;
- }else{
- echo”(BDB)<br/>\n”;
- }
- }else{
- echo”(BDB)<br/>\n”;
- }}}
- closedir($dh);
- }
- ?>
- </p>
- </body>
- </html>
上述php文件中svnparentpath=“e:/svn”;需要注意,你的subversion的代碼倉庫的根目錄可能并不在e:/svn,請修改和你自己設置一樣的路徑。更改Apache的配置文件http.conf文件,把#LoadModulerewrite_modulemodules/mod_rewrite.so前面的注釋去掉。然后在文件末尾加上如下幾句:
RewriteEngineon
RewriteRule^/svn$/svn_index.php[PT]
RewriteRule^/svn/$/svn_index.php[PT]
RewriteRule^/svn/index.html$/svn_index.php[PT]
5MyEclipse下SVN安裝完成后如何在在MyEclipse中使用SVN?
5.1引入相關的plugins和features
在$MyEclipse\eclipse\plugins\下應有org.tigris.subversion.javahl.win32_1.2.2.jar,org.tigris.subversion.subclipse.core_1.2.2.jar,org.tigris.subversion.subclipse.doc_1.2.0.jar,org.tigris.subversion.subclipse.mylar_1.0.1.jar,org.tigris.subversion.subclipse.ui_1.2.2.jar。
在$MyEclipse\eclipse\features\下應有org.tigris.subversion.subclipse.mylar_1.0.1,org.tigris.subversion.subclipse_1.2.2。
5.2重起MyEclipse。在windows->preferences->team中應該可以看到SVN了。這時就可以使用SVN的相關功能了。本節MyEclipse下SVN安裝問題介紹完畢。
【編輯推薦】
- 技術指導:Subversion安裝配置(Windows)之詳解
- Subversion和TortoiseSVN如何在Windows下進行構建SVN版本控制
- 深度剖析:Subversion服務器安裝配置
- MyEclipse中SVN安裝配置新手指南
- MyEclipse下配置SVN專家全程指導