iT邦幫忙

5

Open Source ERP -- Adempiere 3.7.0LTS {安裝篇}

賽門 2013-02-03 16:20:5513733 瀏覽

免費的最貴, 這句話, 有些對, 尤其是在安裝Adempiere的過程中, 我體會到免費不一定代表省錢.

而Open Source最為人詬病的品質問題, 也在我嚐試安裝Adempiere的過程中, 顯露無遺.

為什麼這樣說呢? 我嚐試安裝Adempiere從3.7->3.6->3.5, 再回到3.7, 使用了OpenSUSE、Ubuntu、Fedora三種不同平台的新舊版本, 以及PostgreSQL、EnterpriseDB(也就是PostgreSQL的商業化版本)、MySQL、Oracle 11g R2 Express Edition等不同資料庫系統, 重覆安裝十三次, 總算整理出一個可以安裝上線的系統出來.

我最後定案的組合是:

在經歷這兩個星期來總共十三次的重覆安裝的過程裏, 我惟一的想法是企業主的心臟一定要夠力, 才敢使用Open Source ERP, 尤其是Adempiere. 社群網站上的安裝程序是過期又不正確的, Google出來的安裝程序, 掉東掉西, 不是少了幾個步驟就是根本不需要那樣做.

最後, 因為Adempiere是Web化的ERP系統, 其前端必需要安裝JRE(Java Runtime Environment)來執行Adempiere提供的JVM Utility, 可是, 很好玩的是, 我用Windows 8安裝JRE 1.7.0_13後, 這個JVM居然抱怨'1.7<>1.5'.....要JRE 1.5才能Run?

讓我們進入正題吧!

安裝的順序是:

  • JDK 1.6.0
  • PostgreSQL Plus AS 9.2
  • Adempiere 3.7.0LTS
    這回, 因為在Windows 8環境下只能安裝VMWare Workstation 9, 所以下載30天評估版來玩.

可能有人會問為何不用Windows 8內建的Hyper-V 3.0! 啊~~正好玩玩看VMWare Workstation 9的Remote功能而已. 除此之外, 我想在Hyper-V下是一樣可以進行以下說明的Adempiere安裝的.

我把openSUSE 12.1安裝好, 然後以root帳登入, 設定IP及Hostname...如下圖:

請不要問我怎麼不設定DNS及Routing, 這是基本要設置的, 只是我的重點不是Linux教學, 所以沒PO...XDDD

為什麼用openSUSE? 沒什麼, 比較熟悉而已, 這段日子用過Ubuntu, 對Unbuntu的介面, 有點適應不良, 我想, 同樣的安裝程序在Ubuntu下該應該也是可以執行, 只是, 不太喜歡那樣的UI, 個人喜好而已.

設定好IP及Hostname, 開始安裝JDK...到下載jdk1.6.0u37安裝套件的資料夾去, 一般來說Firefox預設應該是'~/Downloads', 打開終端機執行下列命令:

# cd ~/Downloads
# sh jdk-6u37-linux-x64.bin  <-- 自動解壓程式, 解壓後產生jdk1.6.0_37資料夾
# mv jdk1.6.0_37 /opt/.
/** 以下把openSUSE預設的JRE環境改成JDK 1.6.0_37 **/
# cd /usr/bin
# mv java java.old
# mv javaws javaws.old
# ln -s /opt/jdk1.6.0_37/bin/java java
# ln -s /opt/jdk1.6.0_37/bin/javaws javaws

接下來安裝PostgreSQL...先聽我吐點苦水...雖然openSUSE也有PostgreSQL的套件, 安裝很順利, 但之後在Adempiere安裝過程中, 找不到已經安裝完成的PostgreSQL的資料庫Listen Port, 我懷疑不是預設的5432, .

雖然可以看到PostgreSQL已經執行了, 也可以用psql命令來連線下指令, 但是, Adempiere安裝程序就是無法找到由openSUSE自備的PostgreSQL安裝. 或許因為我不熟PostgreSQL...Orz

我去PostgreSQL社群網站找, 找到的安裝套件居然不能執行安裝, 老是出現個檔案驗證錯誤的訊息, 我換了不同地點、不同PC及NB去下載, 也下載不同版本的PostgreSQL, 可是, 一執行安裝套件, 就是會出現Error.

最後, 心裏Orz多次後, 只好去下載EntrerpriseDB(商用PostgreSQL)來安裝, 可是用商用版本不是需要付費, 這個, 等更熟悉PostgreSQL或強者, 應該用社群版本即可, 畢竟, 我的重點在ERP.

可能有人會問, 為何不用MySQL? 因為我找不到Adempiere的MySQL Dump檔案可下載...Orz..

可能有強者會問, 由Adempiere的安裝程式來處理資料庫就好了呀?!這個, 在我失敗了第五次之後, 才發現, 問題出在Adempiere的安裝程式在處理資料庫的過程中, 會出一大堆問題. 這很明顯的說明了Adempiere只能在某些很適當的條件下才能正常安裝, 也就是我認為Open Source最嚴重的品質問題.

同樣的, 到預設的下載資料夾去執行下列命令:

# cd ~/Downloads
# tar zxvf ppasmeta-9.2.1.3-linux-x64.tar.gz  <-- 解壓後產生ppasmeta-9.2.1.3-linux-x64資料夾
# cd ppasmeta-9.2.1.3-linux-x64
# ./ppasmeta-9.2.1.3-linux-x64.run  <-- 執行安裝程式

Postgres Plus Advensed Server安裝一開始會跳出一個產品頁, 如下圖:

然後, 跳出一個語系選擇視窗, 我挑選繁體中文, 如下圖:

選好語系, 就開始進行安裝程序, 見下圖:

安裝過程很簡單, 多半都是在按[下一步], 我就省略掉那些只要按下一步的畫面, 直到[使用者驗證], 如下圖:

請輸入當初下載Postgres Plus時, 在網站上登記的使用者帳號, 這時, 會連線到官網進行驗證, 這個程序是免費的, 只是, 後來我收到官網的行銷部門主管來信關心使用情況, 以及勸敗文...XDDD

驗證完成後又是一連串的下[下一步], 接著到了[設定模式]畫面, 如下圖:

請務必選擇[PostgreSQL Compatible]模式, 如果在這個步驟選了[Oracle Compatible], 資料庫超級使用者帳是'enterprisedb', 在Adempiere安裝程序中, 完全不認得這個帳號, 於是安裝失敗...XDDD.

選好資料庫模式後, 要輸資料庫超級使用者帳號'postgres'的密碼, 如下圖:

設定好postgres帳號的密碼後, 就一直按[下一步], 直到安裝程序開始, 如下圖:

Postgres Plus Advenced Serevr安裝好後, 跳出一個很奇怪的視窗, 如下圖:

可能只是告訴我們安裝了16個套件, 然後失敗套件0個的意思...我猜啦~~按下[確定]後, 進入更新程序, 如下圖:

先在中間下拉選單選擇[Postgres Plus Advenced Server 9.2], 然後就一路按[Next]到輸入[使用者驗證]的畫面, 如下圖:

把在官網登記的帳號密碼輸入後, 又是一連串的[Next], 接著會出現一樣的選擇語系統畫面, 如同前面第三張圖所示. 選好語系, 再按幾次[下一步], 最後到了下圖:

按下[完成]...稍等一下, 出現下圖:

Installation Complete! 這樣PostgreSQL就安裝好了, 按下[Finish]結束安裝.

然後, 我們先把Adempiere安裝套件解壓, 以及修改系統環境變數等等...打開終端機, 執行下列命令:

# cd ~/Downloads
# tar zxvf Adempiere_370LTS.tar.gz  <-- 解壓Adempiere安裝套件, 產生Adempiere資料夾
# mv Adempiere /opt/.
# vi /etc/profile.local  <-- 編輯系統環境變數, 請輸入以下指令列
/*按下i開始新增下列文字*/  <-- 這是vi的指令, 不用輸入, 也可以按[Insert]鍵
export PATH=/opt/jdk1.6.0_37/bin:/usr/lib64/mpi/gcc/openmpi/bin:/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games
export JAVA_HOME=/opt/jdk1.6.0_37
export ADEMPIERE_HOME=/opt/Adempiere
. /opt/PostgresPlus/9.2AS/pgplus_env.sh
/*按下ESC鍵, 再按下:wq存檔*/  <-- 這也是vi的指令, 不用輸入
#
# vi /opt/PostgresPlus/9.2AS/data/pg_hba.conf  <-- 編輯Postgres Plus的用戶認證機制原則
/*用Page Down找到這一行*/
host    all             all             127.0.0.1/32            md5
/*按a或i指令新增下一行*/
host    all             all             192.168.11.0/24         md5
/*注意那個IP(192.168.11.0)要設成您所在的區網, 後面的/24, 是指Mask*/
/*按下ESC鍵, 再按下:wq存檔*/  <-- 這也是vi的指令, 不用輸入

系統環境變數設置好並存檔後, 請重新開機. 為什麼要這樣做? 這是為了驗證Postgres Plus安裝真的完成了.

重新開機登入root帳號後, 我們簡單的驗證PostgreSQL的安裝, 首先, 是功能選單中要有下兩張圖所示的程式選單:


我們從上圖執行[Postgres Enterprise Manager V3], 出現如下圖畫面:

點選上圖右邊視窗中已反白的[Maintenance database], 各位可以看到這個欄位內容值是[ebd], 這是Oracle的玩意兒, 我們要改成[postgres], 直接在反白處點兩下, 叫出修改資料庫連線視窗, 如下圖:

在上圖[Maintenance DB]欄位中下拉選單選擇[postgres], 然後按[OK]回到[Postgres Enterprise Manager]畫面. 再在[Postgres Enterprise Manager]畫面左邊視窗的[Postgres Plus Advenced Server]上按滑鼠右鍵叫出快速選單, 如下圖:

點選[Connect], 連線資料庫...跳出一個輸入密碼的對話窗, 請輸入在安裝過程中指定的postgres帳號的密碼按[OK]後, 出現連線到Postgres Plus Advenced Server的畫面, 如下圖:

我們打開左邊的[Databases], 可以看到Postgres Plus物件的清單畫面, 如下圖:

這樣, PostgreSQL就算安裝完成了.

可以開始安裝Adempiere了嗎? 還沒, 請打開終端機, 開始執行下列命令:

# createuser -U postgres -W -Pdrs adempiere  <-- 建立資料庫adempiere帳號
Enter password for new role:   <-- 輸入帳號adempiere的密碼
Enter it again:   <-- 再輸入一次adempiere的密碼, 前後兩次要相同
Password:   <-- 這是輸入postgres帳號的密碼, 以授權完成建立adempiere帳號
# createdb -U adempiere -W adempiere   <-- 以帳號adempiere建立資料庫adempiere
Password:   <-- 輸入剛才建adempiere時輸入的密碼

然後, 我們執行Adempiere的安裝程序, 請打開終端機執行下列命令:

# cd /opt/Adempiere
# chmod 775 *.sh
# ./RUN_setup.sh

出現如下圖的對話視窗:

注意上圖的下列欄位:

  • Java Home: 必須是系統變數JAVA_HOME所指的資料夾
  • Adempiere Home: 必須是系統變數ADEMPIERE_HOME所指的資料夾
  • Web Port: 預設是80, 如果有其他網站已使用80, 可以改成其他, 此處我改用8188.
  • Database Type: 請由下拉選單選擇[postgresql]
  • Database Name: 就是之前建的資料庫[adempiere]
  • DB Admin Password: 帳號postgres的密碼
  • Database Password: 之前建帳號adempiere時使用的密碼
  • 右下角的[Save]按鈕是灰色不能按的.
    這些欄位都輸入完成後, 先按下上圖左下角的[Test], 跳出一個對話窗, 如下圖:

    請直接按綠色勾勾...

如果跳出下圖錯誤訊息, 就代表前面提到的修改pg_hba.conf檔案的動作沒做, 請按[OK]後, 按叉叉結束Adempiere安裝視窗, 回到前述修改pg_hba.conf的動作, 完成pg_hba.conf修改後, 重新啟動openSUSE.

如一切正常(相較於其他的不正常XDDD), 會回到Adempiere安裝視窗, 此時, 請注意一些欄位右方的方格出現打勾勾的樣子, 然後, 右下角的[save]按鈕變成黑色字, 可以作用的狀態, 如下圖:

這時, 當然是去按那個[save]按鈕, 接著會跳出版權聲明頁, 如下圖:

請按[Yes, I Understand and Accept], 然後, 出現一個[Environment file saved ...]對話窗, 如下圖:

請按[OK]...這時可以看到啟動RUN_setup.sh的終端機視窗開始忙碌的出現一大堆訊息, 跑到最後可以看到類似下圖的終端機視窗:

請注意錯誤訊息是:

============> MTable.get: SELECT * FROM AD_Table WHERE UPPER(TableName)=?
org.postgresql.util.PSQLException: ERROR: relation "ad_table" does not exist
....

資料表不存在, 然後, Adempiere安裝視窗就自動消失了. 還記得之前安裝Compiere時的安裝畫面嗎? 好像不太對.

到Google爬了不少文後, 確定是資料庫Dump的動作沒完成, 打開[Postgres Enterprise Manager], 發現資料庫Adempiere下根本沒出現任何資料表, 怎麼辦呢? 這時, 再次請出終端機, 手動進行資料庫Dump的處理, 請輸入下列命令:

# cd /opt/Adempiere/utils/
# chmod 755 *.sh  <-- 把Script檔案設定為可執行
# ./RUN_ImportAdempiere.sh

可以看到終端機視窗一連串跑出一大堆create table/alter table的訊息, 大約等個五分鐘, 泡麵也差不多爛的可以吃的時候, 資料庫Dump作業完成. 我們再回到前面談到的[Postgres Enterprise Manager V3], 可以看到多了資料庫Adempiere, 及其相關的Schema及資料表等等, 如下圖:

這時, 再回到前述的Adempiere安裝程序, 重新執行RUN_setup.sh程序, 這時, 等安裝視窗出現, 就按右下角的[save]...然後, 執行RUN_setup.sh的終端機視窗又開始跑出一大堆訊息, 這時可以開始吃泡麵, 如果吃的快, 大概吃半碗時, Adempiere安裝視窗又自動消失, 留下終端機視窗上一些訊息, 如下圖:

到底Adempiere安裝完成了沒? 不知道, 留下半碗泡麵沒吃, 假設安裝完成了, 繼續啟動Adempiere Server的程序, 請輸入下列指令:

# cd /opt/Adempiere/utils/
# ./RUN_Server2.sh

然後, 終端機視窗跑出一大堆重覆的看起來好像是錯誤的訊息, 不管他, 繼續吃完留下的半碗泡麵..等吃完泡麵, 打開Firefox, 輸入網址erp.opensource.tw:8188, 會跳到Adempiere Application Home網頁, 如下圖:

如果沒出現上圖, 就代表安裝失敗了, 砍掉重練.

因為已經設定JDK 1.6環境, 就按上圖右邊大大的[Click Here to WebStart Me Now!]藍色按鈕, 跳出一個下載對話窗, 如下圖:

請選擇[Open with ...]的選項, 不要只[Save File], 否則沒動作. 按[OK], 就開始下載及開啟Application, 如下圖:

然後, 問你要不要執行Application, 如下圖:

請按[Run], 又跳出Adempiere版權聲明對話窗, 如下圖:

請按[Yes, I Understand and Accept], 然後出現[Adempiere Login], 如下圖:

成功了嗎? 心頭小鹿亂撞啊直接按上圖的綠色勾勾...出現角色與組織選項對話窗. 如下圖:

再按一次綠色勾勾, 出現了! 出現了! 就是那個光...喔
不是..是像Compiere差不多的一個儀表板, 如下圖:

耶~~終於成功了, 點選上圖上方的[Menu]頁籤, 再打開一些子功能選單, 可以看到類似Compiere的功能選單, 如下圖:

我選擇執行[Sales Order], 銷貨訂單的畫面長成如下圖這個樣子:

和Compiere相比, 好像沒什麼改變....Orz...我想由Windows 8和Chrome來連線執行看看, 先安裝JRE 1.7.0_13, Windows 8只能安裝JRE 7, 然後, 打開Chrome, 輸入Adempiere Application Server網址, 我是輸入IP加上Port8188, 然後一樣的跳出Adempiere Application Home網頁, 如下圖:

然後, 也是按下右邊那個藍色按鈕, 也是下載後問你要不要執行, 如下圖;

可是, 最後跳出一個令人意外的訊息, 如下圖:

看來, 只有回到Windows 7+JRE 1.5的平台才能執行Adempiere了.

以上, 就是和Adempiere纏鬥十三回合後的最終成果, 我想, 這只是安裝, 至於是否真的Adempiere的ERP系統功能都運作正常, 我不能保證, 要多測試測試才行.

只是, 這讓我對Open Source ERP的系統品質產生懷疑, 也對Open Source ERP是否能應用在正式的企業環境, 感到疑惑!

接下來要討論中文化的部份了, 敬請各位等候...謝謝


0
Albert
iT邦高手 1 級 ‧ 2013-02-03 17:52:24

simon581923提到:
以上, 就是和Adempiere纏鬥十三回合後的最終成果, 我想, 這只是安裝, 至於是否真的Adempiere的ERP系統功能都運作正常, 我不能保證, 要多測試測試才行.

佩服 [賽大] 的耐心

賀喜 [賽大] 裝機成功

接下來中文不是重點
是 [企業流程]
是 [管理就是分類控管] 不該看得要看不到
ERP 不是拿來搞亂 [管理] 是來配合 [管理]
ERP 顧問公司的最佳經驗[ Best Practice]
都是如何趕快[結案收款]的最佳方法
不一定是最適合貴公司企業的[管理流程]

看更多先前的回應...收起先前的回應...
Albert iT邦高手 1 級‧ 2013-02-03 17:54:01 檢舉

albertachen提到:
是 [管理就是分類控管] 不該看得要看不到

是 [管理就是分類控管] 不該看的, 一定要看不到
Validation Engine
Rule Engine
才是 ADempiere 重點

Albert iT邦高手 1 級‧ 2013-02-03 18:26:01 檢舉

不同角色有不同 menu 排列方式

不同角色有不同 畫面 排列方式 與 可看到不同欄位 與 不同 區段(record)

Albert iT邦高手 1 級‧ 2013-02-03 18:31:13 檢舉

不同單據 不同用途 反應不同會計科目
開帳之後
要能各種 aging report ( A/R , A/P..)
要能各種 slow moving report ( F/G , Raw Material...)
....
要能力及滿足 證期會的財報要求

player iT邦大師 1 級‧ 2013-02-03 21:07:48 檢舉

simon581923提到:
勸敗文

是什麼?
它們不是OpenSource嗎? 還是有禁止商業應用?

Albert iT邦高手 1 級‧ 2013-02-03 22:32:36 檢舉

美金報價 台幣交易
報價計價是美金 交易幣別是台幣 如果用 ADempiere 會設定這一段成功的第一步
因為台灣很多是 台幣買賣美金計價

Albert iT邦高手 1 級‧ 2013-02-04 11:47:25 檢舉

兩岸三地
drop ship / paper company
自動產生[po/so][shipment/receipt]的設定

0
海綿寶寶
iT邦超人 1 級 ‧ 2013-02-03 23:45:47

十三次?
太佩服賽大了
換成是我
就換新螢幕了
(被鍵盤砸壞的)
怒

iT邦幫忙MVPantijava提到:
十三次?
太佩服賽大了

俺也佩服
臉紅

cojad iT邦新手 3 級‧ 2013-06-05 11:42:06 檢舉

賽大真是英雄...越挫越勇!!

0
richardsuma
iT邦大師 3 級 ‧ 2013-02-04 11:03:13

真是佩服!

0
Albert
iT邦高手 1 級 ‧ 2013-02-04 12:21:56

很多人費了 10天 20天裝機

就沒下文了.....

因為是好玩,沒[目標],沒[壓力],沒[經費].....

台灣有很多大學也是這樣[參一腳]

有經費請[擴大就業]沒經驗的來當員工,因為一天不到 1000元 /人天

因此 10個人* 12個月* 22K = 領了好幾十萬..

結果就是[中止]運作, 因為無法調整成企業要的[流程]

例如: IC業的批次控管
進貨單上面要有 Wafer / Dice / 光罩 / 數量 / 批次 / Date code ....
出貨單要有 [原進貨單] 的 Wafer / Dice / 光罩 / 數量 / 批次 / Date code ....
.....................................................................
這些一定要請有經驗的顧問來帶
自己慢慢試不是不行
是你要試 百次千次 . 10週10月 都可以...
只是你的客戶無法等你 10週10月 ........
我們是 OpenSource ERP
技術轉移顧問
Skype: Adempiere/Compiere
www.adempiere.com/Taiwan
www.adempiere.com.tw
Albert

賽門 iT邦超人 1 級‧ 2013-02-05 00:29:11 檢舉

albertachen提到:
很多人費了 10天 20天裝機
就沒下文了.....
....
這些一定要請有經驗的顧問來帶

我會繼續討論下去, 但是...阿伯大何妨抛磚引玉, 先分享一點經驗呢?
Open Source不僅在指軟體、系統的分享, 人也要算在內才是真正的Open Source.
很多Open Source一點也不Open的原因, 就在於人不願把經驗分享出來.
如果可能, 可以像Javascript.tw這樣定期的舉辦分享討論會議, 如此才能真正的Open.

我要留言

立即登入留言