Windows 2003+IIS6下安裝ViewVC for Subversion

來源:互聯網
上載者:User

前幾天好奇,也剛好得了點空閑,然後就想看看ViewVC對Subversion的支援程度,於是就想裝個玩玩。好死不死的,在我的VMWare Workstation上剛好有個Windows Server 2003,心想,就它吧,可就這麼一偷懶,折騰了我好幾天,最終還是只能算將就著把它給裝上了。

安裝環境:Windows Server 2003, IIS 6, Suberversion 1.3.0, ViewVC 1.0-Dev

安裝步驟: 一、首先安裝Subversion,按照Mere-Moments Guide to installing a Subversion server on Windows的介紹自然應該是很容易就搞定安裝和簡單配置的,然後往倉庫中添加幾個檔案,然後做點更新,以便從ViewVC中能看到點東西; 二、安裝ViewVC 1. 既然裝了Subversion,那就學以致用,直接從http://viewvc.tigris.org/svn/viewvc/trunk/檢出個最新的版本下來就行,或者到http://www.viewvc.org/nightly/下載個打包的版本; 2. 如果你有閱讀Readme的習慣,那恭喜你,基本上完成基本的安裝配置是沒有問題啦;當然,你一定要看完整個REQUIREMENTS這一節再決定下載安裝Python的什麼版本,很不幸,Subervsion現在提供的Python包(Python bindings)只支援Pythong 2.3,所以,如果你一開始下載安裝的是Python 2.4,就得重新下載安裝了:):     Subversion Python Bindings: http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91     Python 2.3: http://www.python.org/ftp/python/2.3.5/Python-2.3.5.exe     pywin32: http://prdownloads.sourceforge.net/pywin32/pywin32-208.win32-py2.2.exe?download 3. 安裝好這些後,將Python的安裝目錄添加到系統路徑中; 4. 在剛才下載的ViewVC目錄下執行:python viewvc-install,第一個提示後指定ViewVC的安裝目錄,第二個提示直接斷行符號就行。 三、ViewVC基本配置     由於ViewVC內建服務程式,因此,最好是先啟動ViewVC服務程式,如果ViewVC自己運行正常的話,那就不用考慮ViewVC的配置問題了,想當初俺就沒有充分利用這一點,而在IIS和ViewVC之間反覆修改參數,都不知道是怎麼死的。 1. ViewVC最簡單配置     開啟viewvc.conf,修改下面幾行:     將cvs_roots = cvs: /home/cvsroot注釋掉;     #svn_roots = svn: /home/svnrepos 改成類似於 svn_roots = mytest: C:/svn_repos/mytest,其中mytest是你指定的倉庫名,冒號後面跟的是倉庫所在的路徑;     default_root = cvs注釋掉,這樣你至少可以看到倉庫列表。 2. 雙擊ViewVC/bin下的standalone.py,就可以啟動ViewVC內建的Web服務,然後在IE中輸入http://localhost:7467/viewvc就應該可以看到倉庫列表了,到這一步為止,我沒有碰到什麼障礙,所以,沒什麼可以提示的了; 3. 點擊任何一個倉庫,就應該可以看到倉庫中的目錄或檔案了,但是,如果你在IE中看到如下的提示:     ImportError: No module named svn  那說明你沒有安裝Subversion的Python包,或者將其放到了Subversion的目錄下了;     'module' object has no attribute 'SubversionRepository' 那說明你將Subversion的Python包複製到了viewvc的vclib下,並且覆蓋掉了viewvc自己的檔案;那麼,要怎樣安裝這個包呢,ok,將其複製到ViewVC或者Python的lib目錄下吧,唉,當初整這個也費了我不少周折,慚愧,誰叫我是個Python盲呢:( 四、安裝diff和enscript工具     就這樣看看,也已經比Subversion內建的Web介面好很多了,當然我們還應該挖掘ViewVC另外兩個準系統:比較和文法高亮顯示,這樣才顯得專業嘛。 1. 到http://gnuwin32.sourceforge.net逐一下載以下工具:DiffUtils, enscript, libintl, libiconv, sed將其一股腦全部安裝好,將其bin目錄添加到系統路徑中; 2. 開啟viewvc.conf,將use_enscript = 0改成1,重新啟動standalone.py; 3. 然後你就可以比較任意兩個版本的差別了; 4. 不過,當你要瀏覽某個檔案時,你會看到一個提示,說:libintl-2.dll或libiconv-2.dll之類的找不到,啊,先在ViewVC內建的Web服務下運行是多麼的明智啊,如果你直接在IIS中調試,可就看不到這個提示了,這又是我N天的代價:(; 5. 為什麼會這樣呢,不是安裝了Readme中提到的所有gnuwin32的包嗎。不過,你是不是象我一樣下的都是最新的版本呢。記得enscript的版本嗎。這個可是個老古董,2003年推出的,而其它的基本上是05年、06年的,不相容啊。安全起見,當然是安裝與enscript同時代的包啦,當然,我將gnuwin32/bin目錄下的libiconv2.dll和libintl3.dll直接複製一份,改名成libintl-2.dll和libiconv-2.dll竟然也ok,看來,老外們僅僅是在檔案名稱上沒有向後相容,函數名還是基本上一致的,所以動態連結有動態連結的好處,而靜態連結也不失為一個取巧的辦法啊; 行文至此,ViewVC及相應工具的安裝告一段落,不要再去考慮ViewVC的安裝配置問題了,ViewVC的Readme也可以關掉了。接下來就是要在IIS上配置了。 五、IIS6設定 1. 建立一個虛擬目錄viewvc,直接指向ViewVC/bin/cgi就可以了,在虛擬目錄存取權限步驟勾選執行許可權,如下所示; 2. 在剛建立的虛擬目錄上點擊右鍵,選擇屬性,點擊配置按鈕,在應用程式配置對話方塊中點擊添加,填寫如下所示的內容; 3. 切換到文檔頁,將viewvc.cgi設定為預設內容文檔。 在Windows 2000下,到這裡就可以了;但是在2003下,還要做下面兩步。 4. 點擊Web服務擴充,理論上應該添加一個新的Web服務擴充,然後僅允許這個服務,但我沒有弄出來,所以,直接就允許所有未知cgi了,這也是我一開始說將就著用來著。到這裡,基本上可以運行ViewVC了,但做比較和文法高亮顯示有問題,如果你想試試,還得先重啟一下機器,這也是讓我花了N天的代價的地方,如果你真按ViewVC的Readme中的Troubleshooting的建議左改右改的話,估計最後還是無計可施。當然,在它的Troubleshooting最後有個表,其中有一項提到如果修改了系統變數的話,需要重啟機器,我是重啟完後才體會到這一點的:(; 5. 按預設設定建立一個新的應用程式集區,在建立的應用程式集區上點擊右鍵,選擇屬性,選擇標識,在預定義帳戶中選擇本地系統;然後再修改viewvc虛擬目錄的屬性,將應用程式集區改為剛建立的應用程式集區,重新啟動機器。   到這裡,基本完成ViewVC在IIS6上的安裝,其中辛酸自知啊。 六、不足 1. ViewVC for Subversion不提供類似CVSGraph的圖形化版本樹功能; 2. 如果提交的日誌中有中文,將顯示亂碼,需要手工設定瀏覽器編碼,或者修改ViewVC的模版templates/include/header.ezt,在緊挨著<head>的下方添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,因為Subversion使用的是utf-8編碼; 3. 如果你的原始碼中有中文,則日誌和原始碼不能兩全,其中必有一個是亂碼,難不成你原始碼也用utf-8編碼。如果你會Python,則建議修改一下ViewVC代碼,將日誌先由utf-8轉換成gb2312,據說小海龜就是這麼做的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.