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 無法卸載.

2008年5月25日 星期日

Debian 上安裝 Oracle 10g XE

Oracle 為方便廣大 Debian 用戶快速安裝 Oracle 資料庫管理系統, 特別提供了 Debian 系統專區, 使用者只要以 aptitude 或 apt-get 指令即可網路安裝 Oracle RDBMS, 免除了惱人的程式庫相依與系統下載問題. 以下是在 Debian 上安裝 Oracle 10g Express Edition 之步驟:

  1. 以 root 身分開啟命令模式的 Terminal

  2. 修改 etc/apt/sources.list 檔案, 指令為:
    nano /etc/apt/sources.list

  3. 於最後一行加入以下文字:
    deb http://oss.oracle.com/debian unstable main non-free

  4. 按 Ctrl + O 存檔並退回 Terminal 命令列

  5. 下載該網站之公鑰, 於命令列下輸入:
    wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle

  6. 將下載之公鑰加入公鑰儲存庫, 於命令列下輸入:
    apt-key add RPM-GPG-KEY-oracle

  7. 更新 Debian 安裝儲存區資訊, 於命令列下輸入:
    apt-get update

    如果沒有錯誤訊息, 便可以安裝 libaio, Oracle Client, Oracle XE, 與 Oracle XE Universal 等模組了.

  8. 正式安裝 Oracle XE Universal, 於命令列下輸入:
    apt-get install oracle-xe-universal

  9. 接著設定 Oracle XE 之啟動參數, 於命令列下輸入:
    /etc/init.d/oracle-xe configure

    • 系統內定的網頁管理介面的通訊阜為 8080, 資料庫通訊阜為 1521
    • 指定 SYS 與 SYSTEM 之密碼
    • 讓 Oracle 10g XE 於開機時一併啟動

  10. Oracle XE 安裝到此完成, 請啟動瀏覽器於網址列輸入 http://127.0.0.1:8080/apex, 並以使用帳號 system 與剛剛指定的密碼登入管理介面. 請留意 Oracle XE 的管理程式只接受本機(127.0.0.1) 8080阜號的請求.

  11. 如要方便執行 Oracle XE 的 sqlplus, tnsping 等工具程式, 需先設定 Oracle XE 的環境變數, 請於命令列下執行:
    source /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

  12. 讓任何電腦皆可以登入 Oracle XE 管理程式的方法如下:
    • 以 system 身分透過 sqlplus 登入 Oracle, 命令為 sqlplus system@xe , 輸入密碼後應該就進入 SQL 命令模式.
    • 在 SQL> 下輸入 EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE); 按 Enter 鍵執行.
    • exit 退出 sqlplus
    • 回到終端機命令列後以 netstat -na 查看 8080 監聽的Local Address 是否為 0.0.0.0