這幾天把工作環境從windows下面轉到linux了,因為用的java語言開發,項目移植還是蠻容易的,但不準備再用CVS來做版本控制系統了,決定換功能較強大的SVN,于是了解了下linux下安裝Subversion的方法,現總結如下
文/囝濼 www.bluenuo.cn
編譯安裝相關軟件(我們采用源碼編譯安裝)
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表示新建一個用戶文件?;剀嚭筝斎胗脩裘艽a,完成對用戶的增加
# ./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.bluenuo.cn