redhat9安裝subversion手記
一、subversion最新版本已經到1.4.4,我安裝的還是老版本,新版本也可以,BerkeleyDB和Apache的版本要與subversion要求的一致,安裝所需文件及下載地址:1) Subversion 1.2.3
https://subversion.tigris.org/downloads/subversion-1.2.3.tar.gz
2)Berkeley DB 4.4.20
https://downloads.sleepycat.com/db-4.4.20.tar.gz
3)Apache 2.0.54
https://apache.justdn.org/httpd/httpd-2.0.54.tar.gz
二、以root用戶登陸係統。
安裝Apache
#tar -zxvf httpd-2.0.54.tar.gz
#cd httpd-2.0.54
#./configure --enable-dav --enable-so --enable-maintainer-mode
#make
#make install
安裝Berkeley DB
#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
安裝Subversion
#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
/* 你可以用以下命令檢驗subversion是否安裝成功 */
#svnadmin --version
三、新建一用戶組svn,並建立一用戶svnroot,用於管理svn的運行和維護
groupadd svn
useradd -G svn -m "the svn mananger" svnroot
passwd svnroot #設置svn密碼
四、使用svnroot登錄,執行下列操作
# mkdir /home/svnroot/repository
//創建倉庫test
svnadmin create /home/svnroot/repository/test
//導入項目到倉庫中
svn import /home/yourproject file:///home/svnroot/repository/test –m "initial import"
//改變權限,僅限svnroot擁有讀、寫、執行權利
chmod 700 /home/svnroot/repository
五、root用戶登錄,設置Apache
//編輯httpd.conf
# 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/svnroot/repository/
AuthzSVNAccessFile /home/svnroot/repository/authz.conf
AuthType Basic
AuthName "Subversion.svn"
AuthUserFile /home/svnroot/repository/authfile
Require valid-user
</Location>
DAV svn
SVNParentPath /home/svnroot/repository/
AuthzSVNAccessFile /home/svnroot/repository/authz.conf
AuthType Basic
AuthName "Subversion.svn"
AuthUserFile /home/svnroot/repository/authfile
Require valid-user
</Location>
這段信息設置了/svn/目錄需要認證才能訪問,用戶信息放在authfile,授權信息在authz.conf文件裏。
六、權限管理,使用svnroot登錄
1)增加用戶,通過下列命令第一次增加時建立authfile文件,比如添加了一個用戶dennis
htpasswd -c /home/svnroot/repository/authfile dennis
會提示你輸入密碼,以後再添加就不用-c選項了
2)權限分配,建立並編輯authz.conf
# vi /home/svnroot/repository/authz.conf
[groups] #這個表示群組設置
admin=svnroot #svnroot是admin組
[test:/] #這表示,倉庫test的根目錄下的訪問權限
dennis=rw #test倉庫dennis用戶具有讀和寫權限
[test2:/] #假設有test2倉庫,它的訪問權限
dennis=r #test2倉庫dennis有讀權限
[/] #這個表示在所有倉庫的根目錄下
* = r #這個表示對所有的用戶都具有讀權限
@admin=rw #admin組有讀和寫權限,比如svnroot
admin=svnroot #svnroot是admin組
[test:/] #這表示,倉庫test的根目錄下的訪問權限
dennis=rw #test倉庫dennis用戶具有讀和寫權限
[test2:/] #假設有test2倉庫,它的訪問權限
dennis=r #test2倉庫dennis有讀權限
[/] #這個表示在所有倉庫的根目錄下
* = r #這個表示對所有的用戶都具有讀權限
@admin=rw #admin組有讀和寫權限,比如svnroot
設置完成後,
重啟apache
/usr/local/apache2/bin/apachectl restart
啟動svn服務
#svnserve -d
通過瀏覽器訪問https://localhost/svn/test/,輸入用戶名密碼,一切OK!
我隻在我的windows機器上安裝了subversion管理我的文檔,這次在redhat9上的安裝還算順利,參考了下列文章:
《Linux 上安裝 Subversion》
《在Redhat9 Linux下安裝,配置Subversion 1.3.1》
文章轉自莊周夢蝶 ,原文發布時間2007-7-6
最後更新:2017-05-17 15:31:20