摘要
OpenShift PaaS的企業級開放式雲應用軟體平台能通過為公有雲和現場的
資料中心應用提供一致性環境來幫助企業級用戶充分利用PaaS產品的優勢。
Red Hat(紅帽)提出新的平台即服務(PaaS)、架構及服務(IaaS)的解決方案,讓
使用者可以專心於軟體的應用而不是基礎設施的建設。
目前OpenShift 提供三種不同的部屬應用程序,開發人員可以快速的透過
此服務建立開發平台,而無須架設任何伺服器,可以讓開發者或一般人方便的使
用架設好的開發環境,不用花費太多時間在管理系統上面。
支援的程式語言包括,Java、PHP、Python、Ruby、Node.js、Perl等,以
PHP 為開發環境,資料庫則有MySQL、MangoDB、PostgreSQL等,為選擇
多樣性雲端軟體平台。
CodeIgniter 是經過 Apache/BSD-style 開源許可授權的,只要你願意
就可以使用它。閱讀 可獲得更多的信息。真正的輕量級。我們的核心系統只需
要一些非常小的庫,這與那些需要更多資源的框架完全相反。額外的庫文件只在
請求的時候加載,依需求而定,所以核心系統是非常快而且輕的 , 其執行速度
非常快 ,你要找到一個比 CodeIgniter 表現更優的框架應該很難吧。
使用了模型(Model)- 視圖(View)- 控制器(Controllers)的方法,這
樣可以更好地使表現層和邏輯層分離。這對項目的模板設計者來說是非常有用
的,它最小化了模板中的程序代碼量。我們在 MVC 各自的頁面中對此做了更
多的介紹。擁有全範圍的類庫,可以完成大多數通常需要的網絡開發任務,包括:
讀取數據庫、發送電子郵件、數據確認、保存 session 、對圖片的操作,以及
支持 XML-RPC 數據傳輸等。這個系統可以非常簡單的通過自定義類庫、輔助
函數來進行擴展,或者也可以通過擴展類、系統鉤子來實現。
結合 Openshift 的多樣性開放式雲端軟體平台 與 CodeIgniter PHP 編寫
網絡應用程序 , 其目的是讓你可以加快開發速度 , 讓創造力可專注在專案開
發 , 不必煩惱沒有免費的網路空間與免費主機使用, 在寫程式的時候就可以直
接連線,如此一來,war檔上傳到tomcat下就能直接運作囉,方便開發基礎架
構的優勢 ,就有更多時間關注於設計和編碼,讓程式開發人員可以不用再為了架
構硬體設備、資料庫、伺服器設定等問題頭大。
研究動機
自由開源軟體領域裡的重要商業公司 Red Hat,營建了一個整合式的
PaaS與IaaS服務方案-OpenShift。OpenShift專案的核心程式源碼以
Apache-2.0 授權釋出,其定位為朝著中介軟體市場邁進,透過整合既有的
JBoss套件、並透過虛擬環境的技術,以快速建置能開發各類軟體的應用程
式環境。
OpenShift Express 提供用來開發 PHP、Ruby、Python 和 Java 等軟體
應用程式環境,另外有 OpenShift FLEX 和 OpenShit Power 等服務,OpenShift
FLEX 預計供部署、監控、預備用和自動擴充與縮減的應用系統,而
OpenShift Power 是部署自己所建置的 Linux,只有 OpenShift FLEX 有開放
免費使用。
為了方便設計師與工程師之間的配合,可以透畫出 Wireframe
來進行網站Layout的初始框架,透過特定的圖示標記,可以讓設計
師和工程師之見做一個流暢的銜接與溝通,來進行規劃與繪製網站
草圖。
最為彈性的地方就是SSH權限,透過SSH進行指令界面的操作
與設定,使用者使用圖像式介面來取代指令介面,再透過FileZilla內
建的SFTP功能,來進行SSH的FTP連線,並選擇透過SFTP的方
式+交談式介面,就可以輕鬆連上FTP做檔案存取了。
文獻回顧
透過網路連接以獲取軟體和服務的運算模式,讓使用者可以獲得有如使用超
級電腦的體驗,技術概念是一種新興的運算資源共享服務方式,透過大量、可擴
充的網路資料中心架構,可達到高服務可用性、訂閱彈性、以及資源最佳化的虛
擬資訊科技發展願景,使用者不需擁有雲端內部的相關資訊以及控制權,只需關
注自己真正需要的資源以及如何透過網路以獲得相對應之服務。
OpenShift 橫掃全球資訊網網站主機服務市場, 將從 2014 年起逐步發燒, 主
要原因在於傳統虛擬主機商彈性遠遜於雲端服務平台,以目前各項全球資訊網技
術更新的速度而言, 只有類似 OpenShift 的雲端平台服務能夠跟得上 , 並在平
台OpenShift使用 CodeIgniter 建立網站 , 將腦中的創意與解決方案快速呈現
與驗證,讓靈感化為實際。
CodeIgniter是一套簡單、快速的PHP Framework,因為採用MVC的概念,
所以能讓中、大型網站專案的架構變得漂亮乾淨許多,開發者需要在CodeIgniter
的架構及規則下,擴充及撰寫自己的程式。對於可能「重複使用(reuse)」的程
式碼,有經驗的開發者會考慮寫成 Libraries 形式,以方便維護、重複利用開
發類似網站,或者熱心地開放源碼分享給其他開發者使用。其. MVC 為主架構 , 將
程式邏輯,資料內容與顯示畫面分離,更方便維護網頁。並隨研究文獻增加,讓
Codeigniter 安裝於 OpenShif 上 , 運用與創意都能隨資訊的透明和多樣化而更加
的淋漓盡致。
執行方式
如何在OpenShift安裝Codeigniter
登入OpenShift官網的雲端平台並申請安裝Codeigniter 程式在OpenShift
的官網上。
Codeigniter框架並沒有包括在OpenShift的控制台裡 ,所以不能直接點擊
即安裝Codeigniter。
以下都當成未裝任何的應用程式在OpenShift上 , 因此將會把申請安裝
Codeigniter的過程呈現出來 , 所以請繼續參照下面的步驟 。 Codeignite應用
程式將從官網申請安裝後 , 一直到使用 CentOS 的終端機將程式碼Push到
OpenShift雲端平台為止 , 而此過程都是必須熟悉且一定要執行的過程。
☆ 點擊新增PHP 5.3應用程式。
當完成了圖1 的指示後,將會來到應用程式的設定頁面(圖2)。
在這裡我們需要填寫Public URL和更改Source Code地址。
關於如何得到Source Code地址,可以繼續參考下面示範,
連接到CodeigniterQuickStart一個在OpenShift@Github 分流的項目。
或者,直接貼上這裡提供的Git地址(這是在分流哪兒剪貼出來的):
git://github.com/openshift/CodeIgniterQuickStart.git
☆ 在Public URL內填入網址名稱 ,此名稱是對外供連線的網址 。
接著再按下 Change 準備更改 Source Code 。
完成後 ,在跟著畫面步驟操作。
☆ 點擊Git Read-Only後,並複製Git Source Code。
或可直複製本文上的 Source Code , Code是相同的。
圖3.
☆ 將Git 地址貼在Source Code 的空白欄位內。
圖4.
☆ 貼上Git 地址後 , 就能直接點擊Create Application,
然後開始進行安装Codeigniter。
點擊Create Application 後,會跑出個Loading Icon。
圖5.
☆ 當安裝完後,將會看到 圖6 的頁面,點擊你剛剛填寫的Public URL,
你將會看到 圖7 的頁面。
圖6.
☆ 看到這個畫面時 , 意味著已經成功在OpenShift 安裝了Codeigniter。
右下角上的數字是讀取 Codeigniter 到畫面呈現出來的秒數。
圖7.
以上圖片及部份資料來源:
I'm Kven http://imkven.blogspot.tw/2013/01/openshiftcodeigniter.html
只要將前面的申請安裝過程都完成後 , 就可在免費的空間內 , 安裝
Codeigniter所需的應用程式工具 , 此空間可免費安裝三個應用程式 , 剛開始已
先安裝一個了 , 還需另外再裝兩個。接下來的部份已接近完成階段了, 請繼續參
考以下的文章。
要讓 Codeigniter 完全運作 , 除了 PHP , 還需 MySQL 與 phpMyAdmin
一共三個軟體工具, 缺一不可。三個軟體工具都可從 Openshift 內建的軟體工具
直接點擊安裝 , 圖案式一鍵安裝 , 只輸入基本資料 ,應用程式安裝快速便利。
建議使用 CentOS系統進行以下指令輸入動作 , 使用此系統時要會一些基
礎的電腦知識 , 並且要會一些 Linux的指令 , 這樣運作過程會較順利且快速 ,
但也可網上找尋所需指令 , 必竟現在是資訊爆炸的時代 , 要懂的利用這利器。
在此說明以上三個軟體工具的作用 :
PHP :
(全稱:PHP:Hypertext Preprocessor (Personal Homepage Program),
即『PHP:超文字預處理器PHP』)。
是一個應用範圍很廣的語言,特別是在網路程式開發方面。一般來說PHP
大多在伺服器端執行,透過執行PHP的程式碼來產生網頁提供瀏覽器讀取,此
外也可以用來開發命令列腳本程式和使用者端的GUI應用程式。PHP可以在許
多的不同種的伺服器、作業系統、平台上執行,也可以和許多資料庫系統結合。
使用PHP不需要任何費用,官方組織PHP Group提供了完整的程式原始碼,
允許使用者修改、編譯、擴充來使用。
是一種開源的通用電腦手稿語言,尤其適用於網路開發並可嵌入HTML中
使用。PHP的語法借鑒吸收了C語言、Java和Perl等流行電腦語言的特點,
易於一般程式設計師學習。PHP的主要標的是允許網路開發人員快速編寫動態
頁面,其應用是在網頁程式的設計開發上。
MySQL :
MySQL是一個多使用者、多執行緒的SQL資料庫伺服器。
SQL(結構化查詢語言)是世界上最流行的和標準化的資料庫語言,它使得
儲存、更新和存取資訊更容易。例如,你能用SQL語言為一個網站檢索產品資
訊及儲存顧客資訊。
MySQL是一個資料庫軟體!例如:你在設計討論區的時候,由於討論的文
章會日漸增多,因此就會有所謂的資料庫處理的情況,MySQL 的目的就是在處
理這些由用戶端傳送來的資料,作有效的編排、建檔、表格化,以便往後更有效
率的查詢、整理。
MySQL是一套小型、精簡、易使用的資料庫伺服器,可以與 C、C++、Java、
Perl、PHP等語言互相配合,適用於中小型應用程式。UNIX平台、WINDOWS NT
和WINDOWS 95/98等等。
MySQL是一個小巧靈瓏的數據庫服務器軟件,對於小型(當然也不一定很
小)應用系統是非常理想的。除了支持標準的ANSI SQL語句,它還支持多種平
臺,而在Unix系統上該軟件支持多線程運行方式,從而能獲得相當好的性能。
phpMyAdmin :
是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL的
資料庫管理工具,讓管理者可用Web介面管理MySQL資料庫。藉由此Web介
面可以成為一個簡易方式輸入繁雜SQL語法的較佳途徑,尤其要處理大量資料
的匯入及匯出更為方便。其中一個更大的優勢在於由於phpMyaAdmin跟其他
PHP程式一樣在網頁伺服器上執行,但是您可以在任何地方使用這些程式產生
的HTML頁面,也就是於遠端管理MySQL資料庫,方便的建立、修改、刪除資
料庫及資料表。也可藉由phpMyAdmin建立常用的php語法,方便編寫網頁時
所需要的sql語法正確性。
phpMyAdmin是一個用PHP編寫的,可以通過網際網路控制和操作
MySQL,通過phpMyAdmin可以完全對資料庫進行操作。
可以用來管理MySQL-server以及單一資料庫的PHP程式,對於不熟悉
MySQL指令列指令的人來說,是很方便的管理工具。
很多架站程式都需要使用到資料庫,像是五大購物車網站或WordPress部
落格、Discuz討論區等等都是使用者可利用phpmyadmin來建立MySQL資
料庫。
以上三個應用程式的意義都說明完畢,繼續往下看未完成的資料上傳
Openshift 的相關說明部份。
☆ 將 Application 同一頁面上的 Source Code Copy起來 ,
之後會用到。
圖9.
☆ 以下使用的系統為 CentOS 。打開終端機後 , 輸入指令 git clone ,
然後接在其後貼上剛才複製的 Source Code , 再按下 Enter 。
完成動作後,系統既自動連線 Openshift,
並下載所需 Codeigniter 目錄。
☆ 連線的動作完成後,查看 git 目錄內容,就會看到已下載的
Codeigniter 目錄,這表示Source Code 是正確的 , 並已完成下載動作。
☆ 輸入指令切換路徑到 Codeigniter 目錄內的 Views 目錄,
然後輸入 nano(或 vim也可,建議 vim 有色彩可區別個別程式碼)
+ 檔名,再按下 Enter,開啟文字編輯器。
☆ 在文字編輯器內,輸入或貼上所需增加或修改的程式碼,
然後儲存,再退出編輯器。
☆ 回到終端機後,
先輸入 git add . ,再按 Enter,
再輸入 git commit -am “ 在此說明加入或修改的內容 “,
再按 Enter 。
當看見 1 files changed , 表示資料加入或修改成功了。
☆ 再輸入 git push 指令,上傳檔案至 Openshift,
在最後出現 master -> master 字樣時,就表示檔案上傳成功,
也證明資料加入或修改成功了。
說明以下三個指令注意事項 :
git add . :將資料先暫存到 staging area, add 之後再新增的資料。
git commit -am “ 在此說明加入的內容 “ :將所有修改過得檔案都commit。
git push : 將commit過的檔案上推至遠端伺服器(雲端)。
以上三個 git 的指令都是要一起搭配的,缺一不可。而且要按順序排列,
當有新的資料加入 Codeigniter檔案內時 , 有時還要先 git commit 後才能
git add .,否則 push 過程皆會不順利。測試過個別輸入或只輸入一個或兩
個,其存檔過程會讓人產生失望的感覺 , 所以還是建議三個指令在每次修改資
料後都要確實執行。
這邊有個較快的方式輸入會較有效率 ,可在第一次輸入完所有的指令後 ,
之後都用方向鍵的“上”這個按鍵來找之前輸入的指令 , 這樣就快很多了。當
然有心要學習的話 , 多試幾次就會上手了 , 電腦軟體本來就是要多練習上機
操作才對阿。
這樣才能越來越進步和感覺有趣的 , 也才撐得下去呀!(阿 , 離題囉!! , 繼
續往下看吧!!):
登入 Openshift 官網後,點入已申請的Codeigniter 網址內,
既可看到剛才上傳的結果,如下完成的畫面。
圖17.
以上的指令輸入和上推動作需要有些耐心,再者就是要有些電腦的基礎知識
操作上會較得心應手 , 然後就是多花時間找資料和發揮創意來完成網頁開發。
雲端服務是目前常見對於網路服務應用運作模式的稱謂,大多數的使用者很
難清楚的定義何謂雲端?在美國國家標準與技術研究院(NIST)對於雲端運算提
出了一份明確的定義, 雲端運算是一種網路應用的運作模式,其需求能夠方便
存取網路上所提供的電腦資源,比較常見的有3種服務模式 (SaaS)軟體即服
務、(PaaS)平台即服務、(IaaS)基礎設施即服務以及4種建置方式 Public
cloud(公共雲), Private cloud(私有雲), Community cloud(社區雲), Hybrid
cloud(混合雲) 另外有五種特徵。
結論
透過虛擬環境的技術,以快速建置能開發各類軟體的應用程式環境。
搭配CodeIgniter PHP 網站開發者使用的應用程序開發框架和工具包,其目的是
使開發人員更快速地進行項目開發。使用 CodeIgniter 可以減少代碼的編寫量,
並将你的精力投入到項目的創造性開發上 ,可以爲 PHP 程序員建立功能完善的
Web 應用程序。
OpenShift雲端平台上利用CodeIgniter的框架和內建的 shortcut 編寫所需的MVC
程式,藉以對資料庫進行新增、讀取、更新、和刪除的資料存取,能快速高效地
編寫一個動態的網站,電腦有 OS 系統既可操作 , 透過 git push 指令上傳主機 ,
簡單快速 , 上傳後可直接看修改後的結果 , Codeigniter 檔案輕巧 , 申請安裝於
Openshift 內 ,可達相輔相成的最佳執行效率。
通過OpenShift提供了第一個能夠滿足需要的平臺即服務。通過提供最廣泛
的平臺和語言、框架和得到支援的雲提供者的選擇,OpenShift給予開發人員他
們一直夢寐以求的雲環境。
CodeIgniter 是一個爲用 PHP 編寫網絡應用程序的人員提供的工具包。它
的目標是實現讓你比從零開始編寫代碼更快速地開發項目,爲此,CI 提供了一
套豐富的類庫來滿足通常的任務需求,並且提供了一個簡單的接口和邏輯結構來
調用這些庫。CodeIgniter 可以將需要完成的任務代碼量最小化,這樣你就可以
把更多的精力放到項目的開發上了。
參考文獻
[1] 東海大學 資訊管理學系 白翰霖 , 陳樂子 第 2 – 3 頁
[2] 臺北城市科技大學 電子商務研究所 陳樂子 第 8 – 12 頁
[3] 整合數位實驗室 :王巂凱 第 5 – 8 頁
http://www.slideshare.net/chunkai1312/introduction-to-
codeigniter-29987921?qid=aedd2989-ad1e-497d-baea-
94e2a8e0d33f&v=qf1&b=&from_search=1
[3] 整合數位實驗室 :王巂凱 第 5 – 8 頁
http://www.slideshare.net/chunkai1312/introduction-to-
codeigniter-29987921?qid=aedd2989-ad1e-497d-baea-
94e2a8e0d33f&v=qf1&b=&from_search=1
[5] CMSimply - Simple Cloud CMS in Python
http://cmsimply.cycu.org/get_page?heading=OpenShift
%20%E7%9B%B8%E9%97%9C
[6] 八克里http://blog.jangmt.com/2011/06/openshift-express-redhat-openshift.html
[8] 維基百科
http://zh.wikipedia.org/wiki/PHP
[8] 一點通出版集團
http://www.itpromag.com/2856-2856
















