公司的人事小姐突然提出一個需要要我們架設一個 Moodle,想了一下最快的方式當然是在網路上找好心人士已經把整個系統架設完成的虛擬主機,整個搬回到自家環境來跑是最快的,尤其是 Moodle 是 Open Source,在OS Level 也採取免費的 Linux 版最省資源。
首先當然還是到 bitnami (https://bitnami.com/)去找找看有沒有安裝好的虛擬機器,很幸運的他有三種使用方式,第一種是抓回來安裝檔案,會把 MySQL, PHP 等環境一口氣安裝完成,目前我開站的WordPress也是這樣子安裝(參考: http://markit.dynu.net/wordpress/2012/12/21/wordpress-%E6%87%B6%E4%BA%BA%E5%AE%89%E8%A3%9D%E6%B3%95/),第三種方式是使用他們提供的雲端環境去跑,預計視需要一些租費用,適合那些有快速使用的需求。
今天我要採取第二種,抓VMWare 的版本,但是很不幸的這個格式是符合 VMWare WorkStation 的版本,公司本身就有使用VMWare vSphere,在使用上必須再透過一次轉檔才能使用 (Bitnami有提供說明)

第一步下載回來後請順便到 VMWare 去抓免費的轉檔程式(https://my.vmware.com/web/vmware/info/slug/infrastructure_operations_management/vmware_vcenter_converter_standalone/5_5?cid=em_14Q1VMW_23798_APAC_TW_VSAN_Ty1),這一個軟體可以很快速地做 P2V 或是 V2V,尤其是VMWare WorkStation 是自家的產品,轉換時直接支援該格式很方便的。
安裝好 vConverter 後選擇連結到本機, 再選擇 Convert Machine, 程式會顯示一個轉換精靈出來

再 Source type 選擇 VMWare WorkStation, 底下選擇解壓縮後路徑下的 .VMX檔案

可以按一下View Source detail 順便驗證來源資料的正確性,點擊後應該可以看到底下的畫面

下一個畫面就是連結到你的 vCenter 或 ESXi Host 的連結資訊,等到驗證帳密完成後就會出先該 vCenter / Esxi 所管轄的所有 VM Host/Guest,選擇一台資源夠的主機給他轉檔使用吧,因需要保密所以有些細節就遮掉了
接下來就可看到這台虛擬主機的配置,因為底層是使用 Ubuntu 12.04而且 X-Window 沒有安裝,所以所需要的資源也就不多,相對等一下設定網路就沒有GUI 可以使用

再經過一個 Summary 畫面後就可以正式來轉換格式,過程依照環境不同會有點差異,不過應該在 30 分鐘內就可以完成

轉檔完畢後就可以打開該 VM Guest 後就可以看到底下的畫面,首次要用 bitnami 登入,密碼也是 bitnami,進去之後要馬上修改密碼,而Moodle 的帳號是 User, 密碼是 bitnami,這個要留意喔

進入後首先當然要改網路設定,Default 會走 DHCP 但是要變成服務還是習慣改成固定IP,首先使用 sudo nano /etc/network/interfaces 改成以下的畫面

再使用 sudo nano /etc/hostname 及 sudo nano /etc/hosts 去改主機名稱(參考: http://askubuntu.com/questions/9540/how-do-i-change-the-computer-name),接下來要改DNS就有點麻煩,原來設定可以在 /etc/resolv.conf 裡面設定,但是只要重新開機這個檔案就會被 OverWrite,所以笨方法 sudo nano /etc/resolvconf/resolv.conf.d/head 加入 Nameserver 8.8.8.8 進去,這樣重開也不會被清掉,不過這個方法不是正統的,請參考 (http://ubuntuforums.org/showthread.php?t=2078398 這一串)
接下來如果有使用需要就可以到網內的 DNS 去註冊個名稱,其網站就可以在 http://<your_IP>/moodle 存取得到,但是這樣把產品顯示在 URL 上感覺不太好,解決方案可以查 bitnami 本身的文件有說明如何進行,使用 sudo /opt/bitnami/apps/moodle/updateip –appurl / 這個指令來做自動更換 (文件來源http://wiki.bitnami.com/Applications/BitNami_Moodle#Automatic_approach)
這樣就可以使用 http://<your_ip> 來存取 Moodle 服務了, 大功告成;由 bitnami 提供其他的服務都可以使用這個方式來進行安裝。
另外 Moodle 還需要自動去執行一些背景的整理程式,請記得用 sudo crontab -e 指令去設定喔
*/15 * * * * su daemon -c '/opt/bitnami/php/bin/php /opt/bitnami/apps/moodle/htdocs/admin/cli/cron.php >/dev/null'