2011年3月16日 星期三

SVN Server

使用的是COLLABNET: http://www.open.collab.net/

安裝完成後,加入一些細部的修改:

  1. 首先,COLLABNET 的管理介面是利用 Jetty 架設,所有的 request 都會被 redirect rule 修改,故,先修改 csvn\appserver\contexts 裡的 redirect.xml,將 csvn 的 contextPath 修改成需要的值,如 <Set name="contextPath">/</Set> => <Set name="contextPath">/test</Set> newContextURL 也可以視需求修改,如 <Set name="newContextURL">/new_csvn</Set>
    • 若是修改了 newContextURL,則還需另外修改 csvn\appserver\contexts 裡的 csvn.xml 檔,以對應修改完的 URL,假設 URL 修改成 test,則必須將 csvn.xml 內的 contextPath 作如下修改:
    • <Set name="contextPath">/csvn</Set> => <Set name="contextPath">/new_csvn/csvn</Set>
  2. 若是需要修改管理介面的服務埠號(預設是 3343),請開啟 csvn\svcwrapper\conf 裡的 wrapper.conf,然後將 wrapper.java.additional.3=-Djetty.port=3343 的值修改成需要的埠號
  3. 修改完畢後,須利用系統工具內的「服務」,將 CollabNet Subversion Edge 服務重新啟動

再來是跟 PHP 整合的部分,使用的是 Quercus,一個可以讓 PHP 和 JAVA 緊密整合的 PHP Java 實作。

  1. 將 Quercus 是一個 WAR 檔,直接下載完成後,將該檔解壓到 csvn\appserver\webapps 目錄裡。並將解開的所有 lib 檔複製到 Jetty 本身的 lib 資料夾中: copy quercus\WEB-INF\lib\*.jar csvn\appserver\lib
  2. 下載 MySQL JDBC Connector,並將解開的 mysql-connector-java-x-bin.jar 檔放到 csvn\appserver\lib 目錄內。
  3. 重新啟動 CollabNet Subversion Edge 服務後,開啟 quercus 的服務網址,若是出現 Congratulations 字樣即設定成功。若是要再進一步測試,可以在 csvn\appserver\webapps\quercus 目錄內 test.php 然後在內容填上:<?php phpinfo(); ?> 來檢視 PHP 的各項參數。

安裝 phpMyAdmin

  1. 複製 Quercus 的 WEB-INF 目錄,並且修改 web.xml,將 <init-param> <param-name>ini-file</param-name> <param-value>WEB-INF/php.ini</param-value> </init-param> 的註解取消。
  2. 複製 PHP 安裝目錄內的 php.ini 檔到 phpMyAdmin/WEB-INF 中。
  3. 目前 Quercus 跟 phpMyAdmin 整合上還有 bug,還待處理。我修改過的這個版本可以順利地出現登入畫面,不過還未完整。

java.security.InvalidKeyException: Illegal key size

  1. 將 local_policy.jar 和 US_export_policy.jar 檔複製到 JAVA_HOME/jre/lib/security (系統應該會提示你是否要覆蓋原本的檔案,選"是")
  2. 重新啟動 CollabNet Subversion Edge。

參考