ViewVC(SVN Web 介面) 安裝程序

  • ViewVC 官方網站 http://www.viewvc.org/
  • ViewVC 可同時支援 CVS 與 SVN, 因為我並不使用 CVS, 所以以下安裝設定均以 SVN(Subversion) 為主.
  • 假設安裝 ViewVC 前, SubVersion 版本控管相關設定均已完成
  • 選擇以原有的 apache 上執行 ViewVC 的 CGI 架構
  • subversion 版本 1.2.0 以上
[root@pd920 ~]# rpm -q subversion
subversion-1.4.2-1
  • Python 版本 2.0 以上
[root@pd920 viewvc-1.0.3]# rpm -q python
python-2.3.4-14.3
  • ViewVC 網站下載, 目前版本為 1.1.10
wget http://viewvc.tigris.org/files/documents/3330/48879/viewvc-1.1.10.tar.gz
tar -zxvf viewvc-1.1.10.tar.gz
cd viewvc-1.1.10
./viewvc-install
採用預設值直接 Enter

cd /usr/local/
ln -s viewvc-1.1.10 viewvc
  • 以下的設定是將所有的 SVN repos 均列入的設定方式, 如果只要列入其中幾個, 可以改用定義 svn_roots 方式

vi /usr/local/viewvc/viewvc.conf

/usr/local/viewvc/viewvc.conf
:
#cvs_roots = cvs: /home/cvsroot
:
#svn_roots = trysoft: /var/www/svn/trysoft, servercfg: /var/www/svn/trysoft/servercfg
:
root_parents = /var/www/svn : svn
:
#default_root = trysoft
:
address = <a href="mailto:[email protected]">Trysoft-Admin</a>
:
  • 如果 Subversion 有透過 control 去設定用戶權限 需要增加設定以下的參數, 否則所有用戶都可以存取所有 svn 的目錄
  • 假設 conrtol 的路徑在 /data/svn/control
  • viewvc.conf 要設定這兩個參數
    :
    authorizer = svnauthz
    :
    ##---------------------------------------------------------------------------
    [authz-svnauthz]
    :
    authzfile = /data/svn/control
    :
  • 假設原本的 Subversion 整合 Apache 定義的密碼檔存放在 /var/www/passwdfile

vi /etc/httpd/conf.d/viewvc.conf

/etc/httpd/conf.d/viewvc.conf
ScriptAlias /viewvc /usr/local/viewvc/bin/cgi/viewvc.cgi
 
<Location "/viewvc">
     AllowOverride None
     AuthUserFile /var/www/passwdfile
     AuthName "ViewVC Client Access"
     AuthType Basic
     require valid-user
   </Location>
service httpd restart
  • 在瀏覽器上打下網址 http://192.168.11.250/viewvc
    1. 將會彈出輸入帳號密碼的對話盒 (帳號密碼定義在 /var/www/passwdfile 內)
    2. 輸入正確後, 將可以列出目前所有的 SVN repos
Hi 蔡兄,

我照您的方式安裝 viewvc
/wiki/tech/viewvc
後來發現 SELinux 需要關閉或修改 CGI 路徑才可過,
# chcon -R -t httpd_sys_script_exec_t <提供 CGI 服務的目錄> 
給您參考,或許加入您的網頁中造福更多人,呵呵.

Patrick
2009-11-04
  • tech/viewvc.txt
  • 上一次變更: 2018/05/20 15:04
  • Jonathan Tsai