這幾天把工作環境從windows下面轉到linux了,因為用的java語言開發,項目移植還是蠻容易的,但不準備再用CVS來做版本控制系統了,決定換功能較強大的SVN,於是瞭解了下linux下安裝Subversion的方法,現總結如下
編譯安裝相關軟體(我們採用源碼編譯安裝)
a.httpd
:http://httpd.apache.org
下載httpd-*.tar.gz (*為版本號碼,這裡使用的是2.8.8)
安裝
#tar -zxvf httpd-2.8.8.tar.gz
#cd httpd-2.8.8
#./configure --enable-dav --enable-so --enable-maintainer-mode
#make
#make install
b.Berkeley DB
:http://www.oracle.com/technology/products/berkeley-db/index.html
下載Berkeley DB 4.7.25.tar.gz
安裝
#tar -zxvf db-4.4.20.NC.tar.gz
#cd db-4.4.20.NC/build_unix/
#../dist/configure --prefix=/usr/local/bdb
#make
#make install
c.Subversion
:http://subversion.tigris.org
下載subversion-*.tar.gz和 subversion-deps-*.tar.gz包下下來,後一個包裡是一些依賴程式,把2個包放在同一個目錄下,解壓縮,解壓的檔案會自動放到同一個檔案夾下。
安裝
#tar -zxvf subversion-1.2.3.tar.gz
#cd subversion-1.2.3
#./configure --with-berkeley-db=/usr/local/bdb --with-apxs=/usr/local/apache2/bin/apxs
#make
#make install
安裝成功後你可以使用 #svnadmin --version檢查是否安裝成功
安裝成功會出現
svnadmin,版本 1.4.6 (r28521)
編譯於 May 6 2008,19:55:08
…………
配置
配置Subversion
# mkdir /home/*/svn(*代表使用者目錄)
# cd /usr/local/subversion/bin
# ./svnadmin create /home/*/svn/test
這樣我們就在svn下面建立了一個test倉庫
修改httpd設定檔
# vi /usr/local/apache2/conf/httpd.conf
在最下面添加如下內容
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /home/*/svn/ //svn父目錄
AuthzSVNAccessFile /home/*/svn/authz.conf //許可權設定檔
AuthType Basic //連線類型設定
AuthName "Subversion.zoneyump" //串連框提示
AuthUserFile /home/*/svn/authfile //使用者設定檔
Require valid-user //採用何種認證
</Location>
//其中authfile是通過"htpasswd [–c] /home/*/svn/authfile username password"來建立的
//"Require valid-user"告訴apache在authfile中所有的使用者都可以訪問。如果沒有它,
//則只能第一個使用者可以訪問建立庫
修改好後儲存,重啟apache
# ./usr/local/apache2/bin/apachectl restart
許可權管理
1)增加使用者
# ./usr/local/apache2/bin/htpasswd [-c] /home/*/svn/authfile wooin
//第一次設定使用者時使用-c表示建立一個使用者檔案。斷行符號後輸入使用者密碼,完成對使用者的增加
# ./usr/local/apache2/bin/htpasswd authfile 使用者名稱(加入新的使用者)
2)許可權分配
# vi /home/svnroot/repository/authz.conf
[test:/] //這表示,倉庫test的根目錄下的存取權限
wooin = rw //test倉庫wooin使用者具有讀和寫入權限
bao = r //test倉庫bao使用者具有讀許可權
[test2:/] //test2倉庫根目錄下的存取權限
wooin = r //wooin使用者在test2倉庫根目錄下只有讀許可權
bao = //bao使用者在 test2倉庫根目錄下無任何許可權
[/] //這個表示在所有倉庫的根目錄下
* = r //這個表示對所有的使用者都具有讀許可權
#[groups] //這個表示群組設定
#svn1-developers = wooin, bao //這個表示某群組裡的成員
#svn2-developers = wooin
#[svn1:/]
#@svn1-developers = rw //如果在前面加上@符號,則表示這是個群組使用權限設定
將這個設定完成後。重啟Apache,就可以通過
http://localhost/svn/test
這個URL來訪問倉庫了
至於在eclipse使用svn就需要自己安裝svn外掛程式了
這裡介紹Eclipse的SVN Plugin,叫做Subclipse,官方網站的在http://subclipse.tigris.org/,也提供了update site http://subclipse.tigris.org/update。
Eclipse 的使用者可以通過Eclipse的外掛程式自動下載和更新功能來安裝這個外掛程式,在Eclipse的菜單中選擇Help->Software Updates->Find and Install-> Search for new features to install ->New Remote Site。URL中就輸入http://subclipse.tigris.org/update,Eclipse就會自已安裝上了.
安裝完成後,在Eclipse的plugins中就會多了5個包,命名為org.tigris.subversion.*的都應該是了。開啟 Eclipse,window->show view視窗中多了一個SVN檔案夾,到此就證明svn外掛程式成功的安裝上了。具體的使用方法,在Eclipse的Help中有詳細的協助 Subclipse - Subversion Eclipse Plugin,教你一步一步的使用SVN的用戶端了。如果你對subversion想進行深入的瞭解,那麼看看help中的Version Control with Subversion一定有所收穫,通過本人的觀察,這份文檔和sbuversion安裝檔案中提供的官方文檔一樣,這裡看起來就更舒服些了。
註:本文是總結前輩資料的成果
本文來自:http://www.blogjava.net/chybox/archive/2008/05/09/199448.html