2008年6月8日 星期日

Adempiere 351a 以 Silent setup 方式安裝於 Debian 的問題

不知道哪一個版本開始, Adempiere 提供了 Linux 環境無需 X-window 程式庫的 Silent 安裝模式, 看起來是可以簡化一點遠端安裝 Adempiere 的麻煩(Client 端需安裝 X Server). 今日姑且一試, 發現還有幾個問題需手動解決:

  1. 修改 $ADEMPIERE_HOME/AdempiereEnvTemplate.properties 內容後, 將其更名為 AdempiereEnv.properties, 再執行 RUN_silentsetup.sh 時系統會出現找不到 myKeystore (存於目錄 $ADEMPIERE_HOME/keystore 下). 解決方法為以 $JAVA_HOME/bin/keytool 自行產生一個密鑰, 指令為 $JAVA_HOME/bin/keytool -genkey -keystore myKeystore (意思是產生一個新的密鑰存於檔名為 myKeystore 之檔案), 將 myKeystore 複製到 $ADEMPIERE_HOME/keystore 目錄內再重新執行 RUN_silentsetup.sh 應該就順利完成第一步的程式安裝工作.

  2. 程式安裝完成後, 接著是建立資料庫綱要(Database Schema). Adempiere 大部分功能都建構於 Application Dictionary 之上, 即功能本身就是一種資料. 建立新安裝系統之 Database Schema 最簡單的方式莫過於直接回復(Restore)開發環境的資料庫匯出檔(Dump file). 當執行 $ADEMPIERE_HOME/utils/RUN_ImportAdempiere.sh 時, 有兩個地方是前一步驟 RUN_silentsetup.sh 沒有在 myEnvironment.sh 內指定好的, 需要手動修正:
    • ADEMPIERE_DB_URL 未指定. 以資料庫為 Oracle XE 為例, ADEMPIERE_DB_URL 的值可能為 jdbc:oracle:thin:@//localhost:1521/xe
    • ADEMPIERE_DB_PATH 未指定. 以資料庫系統為 Oracle XE 為例, ADEMPIERE_DB_PATH 之值為 oracleXE

  3. 啟動 Adempiere 應用程式伺服器 JBoss (即執行 RUN_Server2.sh) 時內定只監聽本機之請求, 如需解除此一限制, 需手動修改 $JBOSS _HOME/bin/run.sh -c adempiere -b $ADEMPIERE_APPS_SERVER 此行之 -b 屬性, 由 $ADEMPIERE_APPS_SERVER 改成 0.0.0.0, 代表接受任何網路位址之呼叫請求.

  4. RUN_Server2Stop.sh (用於卸載 Adempiere Application Server) 於 $JBOSS_HOME/bin/shutdown.sh 此一行內未加入 -S 屬性, Adempiere Application Server 無法卸載.