:::

用AppsGeyser把網站轉換成Android APP / The Usage of AppsGeyser: From Website to Android APP

用AppsGeyser把網站轉換成Android APP / The Usage of AppsGeyser: From Website to Android APP

appsgeyser_log_beta

我使用AppsGeyser把「布丁布丁吃什麼?」做成APP,並製作一個簡單的投影片介紹如何操作,並記錄把網站做成APP的一些看法。

I used AppsGeyser to package my blog: "pulipuli.blogspot.tw" as a Android's APP. I share a slide about usage of AppsGeyser and my thoughts of WebApp.


從網站與APP / From Web Site to APP

很多人都想把他們的網站做成APP,但是其實很多網站只要遵守自適應網頁設計原則(Responsive Web Design),就能夠直接用手機的瀏覽器開啟。

Android的APP具備Webview的功能,能夠讓你在APP中開啟指定網址。而AppsGeyser則是提供了一個Android APP框架,讓你建立一個開啟指定網址的APP,並協助你上傳到Google Play

Blogger提供了27種行動版的網頁介面。行動版的網頁介面簡化了網頁排版,將連結按鈕加大,方便行動裝置使用者用手指點選。以「布丁布丁吃什麼?」來說,以下兩個網址各別呈現桌面版與行動版的樣貌:

桌面版網址會偵測瀏覽器的類型,在行動裝置上開啟桌面版網址則會自動轉到行動版的網頁去。這次我就是用「布丁布丁吃什麼?」的行動版網頁來製作APP。

AppsGeyser的操作 / Guide of Apps Geyser

很多人都在網頁上介紹過AppsGeyser。我為了方便跟大家分享而製作了投影片。

APP下載 / Download APP

chart

手機直接掃描這個QR Code,你就可以把我的APP下載到你的手機囉。


讓網頁看起來像是APP:WebApp / Make Website Like A APP: WebApp

用Blogger的行動介面可以快速產生一個適合在行動裝置上瀏覽的網頁介面。不過這還不太像一個APP。作為一個良好的APP,我們需要讓操作元件遵守作業系統的設計規範。至少也要做個像是可以按的按鈕之類的操作介面,才會讓使用者覺得這會是一個APP。這種網頁一般就稱之為WebApp

jquery mobile

現在很多網頁元件提供了類似APP的操作元件,例如jQuery Mobile就內建了上圖的選單與按鈕,iUI更是讓你的網站一整個就像是APP。你可以重新設計網頁版面,套用jQuery Mobile或iUI提供的框架(framework),然後你就可以在網頁瀏覽器中操作一個像是APP的網頁了。

如果用AppsGeyser把長得像APP的WebApp製作成真的APP,那就會像是真的在使用APP一樣。

用網頁語法製作APP:PhoneGap / Using HTML5 to Create a APP: PhoneGap

如果你覺得在APP中開啟網頁來操作一個長得像APP的WebApp感覺非常彆扭,或是你覺得AppsGeyser提供的介面與功能太過簡陋或是多餘(我其實對AppsGeyser強迫隱藏手機的通知列這點感到困擾),那何不試著用你原本的網頁程式碼來製作一個真正的APP呢?

phonegap

PhoneGap是一個用HTML、CSS與JavaScript來製作iOS、Android、Windows Phone等行動裝置的APP的免費工具。在這裡你不需要額外去學習Android的程式語言JAVA、也不用學習iOS的程式語言Object-C,而是用你原本就會的網頁寫作語言:HTML、CSS與JavaScript來製作APP。

基本上PhoneGap也跟AppsGesyer很像,他一樣是製作一個內建Webview的APP,讓你用APP開啟手機瀏覽器來顯示你用PhoneGap撰寫的網頁。不過PhoneGap還提供了許多用JavaScript呼叫的函式庫,讓你在網頁語法中使用手機內建的元件,還有相機、儲存裝置、定位系統等網頁之外的功能。

使用PhoneGap來開發APP,你可以讓你的WebApp不只長得像是APP,還能夠使用行動裝置上面的其他功能,讓它更像是一個APP。

最近看到我常用的IDE NetBeans也支援PhoneGap的開發,真讓我感到躍躍欲試啊。

網站就是APP: Firefox OS / HTML5 Website Is a APP: Firefox OS

上面的WebApp都是在APP中利用Webview內嵌一個瀏覽器以顯示一個長得像是APP的網頁。不論是用jQuery Mobile、iUI讓網頁長得像是APP,還是用PhoneGap讓網頁可以用手機的功能,他們都還不是一個APP。因為在Android上執行APP是要用Java撰寫,在iOS上執行APP是要用Object-C撰寫,要執行你寫的WebApp都還是得透過網頁瀏覽器。

FirefoxOS_Screenshot_Development_Build_2012-10-23

Mozilla抱持著開放自由的遠大志向,製作了Firefox OS。Firefox OS是一個真的是用HTML5(就是HTML、CSS、JavaScript等網頁技術)來撰寫APP的作業系統。我們撰寫Firefox OS的APP時不僅可以用HTML5的語法,還能用Firefox OS推廣成為網頁標準的Web APP。這下子不需要在PhoneGap裡面才能引用手機功能的函式庫,你可以在網頁裡面直接以JavaScript取用手機的功能了。


APP開發方式的選擇 / Selection of APP Development

原生語言 / Native Solution

許多人,特別是電腦訓練課程補習班,他們大多都認為要製作在手機上運作的APP,就必須要用手機原生的程式語言(Native Solution)來撰寫。你要在Android上開發APP,你就必須用JAVA來撰寫,並且上傳到Google Play;你要在iOS上開發APP,你就必須用Object-C來撰寫,並且上傳到App Store。

Unify 3D

f00e0d2be734d5ce3de73091586b1e8c

除了原生語言之外,你也可以利用Unify 3D這種程式開發工具來製作跨平台的APP。現在手機上許多遊戲,特別是在Android與iOS都能夠看到的APP,很多都是用Unify 3D來製作。根據網路上的評論,Unify 3D製作的效率並不會比原生語言還要差得太多。不過Unify 3D是付費軟體,製作並發佈APP的成本可不便宜喔。

HTML5

HTML5

那用自由免費又跨平台的HTML5來開發WebApp呢?就像我這一篇從AppGeyser,一路談jQuey Mobile、iUI、PhoneGap到Firefox OS。

但是其實很多人都對於WebApp抱持否定的看法,像是認為PhoneGap製作的APP在跨平台與執行效率上有著相當大的問題。而在iOS的App Store上,更是明言拒絕WebApp上架。在Android與iOS這種原生語言非HTML5的作業系統上,藉由網頁瀏覽器來執行HTML5的APP,當然執行效率與外觀都比不上原生語言來得好。這是可以預見的情景,我並不感到意外。儘管實際上我還沒有真正著手踏入製作APP,不過我對WebApp的期許卻是一直都比原生語言來得高。

原生語言與WebApp的爭論就像是早期程式語言的爭論,有人認為使用組合語言為專門機器開發效率比較高,高等語言還要經過編譯效率較差。但是現在普遍的認知卻是偏向以高等語言來進行開發,這是因為高等語言在學習與開發效率上比組合語言高上更多。

儘管HTML5的HTML、CSS與JavaScript實際上是比Java還要再高等一些的高等程式語言,但是門檻也不見得比較低,很多人在面對JavaScript的Event與CSS的Selector上都遇到很多困難。不過比起開發效率,我認為HTML5的價值在於他是一個開放、自由、普遍流行的程式語言。比起花很多時間寫一個APP,最後只能在單一平台上執行。我認為用HTML5撰寫一個可以在任意平台上執行的APP更有價值。

使用APP的自由 / The Freedom of APP

許多人都會受到手機與APP彼此之間的高耦合的限制。例如想要用某個APP而選擇了iOS,又因為選擇了iOS而無法使用Android上面的APP。這種大家已經習以為常的場景,背後卻是代表著壟斷、封閉的下場。

我認為裝置歸裝置、APP歸APP,這才是真正的自由。我們應該是要用開放自由的程式語言,來開發一個包括電腦、手機等任何平台都能夠共用的APP。就這點來看,Firefox OS相當具有前瞻性,也是我十分看好的未來方向。


結論:WebApp是網站行動化計畫的最佳方案 / Conclusion: WebApp is the Best Solution

最近很流行兩個名詞,一個叫做「雲端」,另一個叫做「APP」。儘管真正搞懂這兩個名詞的人並不多,但是我們也毫不免俗地提出了一個目標兼具開發「雲端化」與製作「APP」的計畫。

除非一開始就致力於APP的開發,不然大部分的計畫應該都會以製作網頁應用為起點。特別是圖書館常見的數位典藏、數位圖書館計畫,大家都是製作一個用瀏覽器就能閱覽的網站。以這個網站為基礎,將網站套上行動網頁的元件,就能夠製作出長得像是APP的網頁。接著再用PhoneGap打包網站本身,讓網站直接以APP的方式交到使用者手中。

這就能夠在成品中包含「雲端化」──資料保存在遠端伺服器,不論你用哪種裝置都能夠取用相同的資料,以及「APP」──用手機行動裝置也能夠取用計畫成果的內容。

這是我心中規劃的最佳方案,也是我目前亟欲推薦老師往這方向進行開發的目標──不過這跟我的論文沒有直接關係就是了。

最後,其實我剛剛把AppsGeyser製作的APP上傳到Google Play去了,還付了750元台幣註冊成為Google Play的開發者。不過目前還不能在Google Play中搜尋到我的APP「布丁布丁吃什麼?」。我猜想可能是因為發佈後得過幾個小時才能看到結果吧?那晚點可以在Google Play找到我的APP的時候,我再跟大家說囉。

(more...)

社群標註系統系統支援合作學習的個案研究 / A case study of using a social annotation tool to support collaboratively learning

布丁布丁吃布丁

社群標註系統系統支援合作學習的個案研究 / A case study of using a social annotation tool to support collaboratively learning

image

這份研究論文是描述作者Fei Gao使用標註工具Diigo來進行閱讀教學,並用質性分析的方式來歸納社群標註系統的優勢。我對這篇研究的分析方式比較有興趣,所以做了一份投影片與大家分享我整理的重點。

This research describe author, Fei Gao applied a webpage annotation tool -- Diigo to students' article reading. Author used qualitive analysis to discover students' reading behavior using Diigo. I'm very interested in his analysis. So I made a review slide and share it with others.


書目資料 / Bibliography

Gao, F. (2012). A Case Study of Using a Social Annotation Tool to Support Collaboratively Learning. The Internet and Higher Education. Retrieved from http://www.sciencedirect.com/science/article/pii/S1096751612000802

報告投影片 / Slide

image

這篇算是單組實驗研究法,沒有對照組,所以很難說使用Diigo究竟是好是壞。作者用質性研究的方式針對標註的類型、數位合作學習的互動方式、回應的對象等角度來分析學習的過程,並在事後以問卷和訪談來取得學生的回饋。最後作者歸納社群標註工具不足的功能,並建議如何應用社群標註工具來進行閱讀教學。最後的建議值得納入我的研究背景中。

Diigo跟KALS的不同 / The Difference Between Diigo And KALS

image

之前CSCL & CSPL研討會的時候,主持人質疑我報告的KALS系統,問我為什麼不直接用Diigo就好。

比起我自己做的KALS系統,我得說Diigo是一個很強大的工具,這點倒沒什麼異議。Diigo標註工具各個功能發展的成熟度都比KALS高很多,免費使用也可以用1000個Highlights,社交的功能更是方便。

那麼KALS的價值在哪裡呢?答案很簡單,實際上這是兩個不同出發方向的工具。Diigo是要由使用者自行安裝工具才能使用,而KALS則是由系統管理者提供的標註工具。後者意味著系統管理者對於標註的掌握能力更高,更容易規劃實驗環境以進行研究。而最重要的是,KALS的功能與資料是研究者自己可以掌握的,而Diigo的資料卻不容易取得。


結論:到處都是研究題目 / Conclusion: Research Subjects Everywhere

老實說,Diigo的功能並不是那麼難做,只是沒有做出來而已。這些社交功能都做可以作為研究題目來發展,我正期待著有學弟妹願意投入這個領域,在改善KALS的同時一併完成他們的研究論文吧。

(more...)

蔡今中、陳年興教授研究經驗談 參與心得 / Review of SSCI Journal Editors’ Research Experiences Workshop

布丁布丁吃布丁

蔡今中、陳年興教授研究經驗談 參與心得 / Review of SSCI Journal Editors’ Research Experiences Workshop

image

2013年3月9日靜宜大學舉辦了一場「與SSCI國際期刊主編探討研究設計及論文撰稿工作坊」,邀請Computers & Education (數位學習國際排名第一名的SSCI期刊)的主編蔡今中教授與Educational Technology & Society (SSCI期刊)的主編陳年興教授來為我們傳授撰寫研究論文的秘訣。我把兩位老師的報告整理摘要之後做成投影片跟大家分享。

I had participated a workshop in Providence University at May 9th, 2013. In this workshop, Chief editors of SSCI journals, Prof. Chin-Chung Tsai (Computers & Education) and Prof. Nian-Shing Chen (Educational Technology & Society) shared their research experiences. I organize the content of their sharing and make a review slide to report at meeting. Following is my review.


工作坊參與心得投影片 / Workshop Review Slide

心得大綱 / Review Outline

本投影片談論主題包括:

  • 題目創意發想:要如何分辨出普通的題目(豆腐)與好的題目(魚翅)?
  • 論文寫作架構:論文撰寫的順序為何?各個章節寫法有什麼要注意的地方呢?
  • 寫作技巧:要怎麼寫出好文章?如何掌握一致性?引用合適的文獻?我額外補充各章節應該使用的英文時態。

最後陳年興老師分享了他如何經營他的實驗室,我加上一些我的看法之後,再寫了兩個主題:

  • 團隊合作:學生跟老師修改論文呢?
  • 研究團隊知識管理:實驗室的知識管理系統應該如何架構?我一併帶入電子郵件典藏的重要性,引發我在另一堂課期末報告題目的發想。

結論:愛上寫作、樂於分享 / Conclusion: Love Writing, Enjoy Sharing

常常有人在諷刺學術論文的寫作就是天下一大抄,我想這可能只是看到了表面而不知所以然。儘管都是由文字堆砌而成的文章,但是學術論文有著大家習以為常的一定架構,然而各位作者再從這個架構中去跟大家分享你研究的成果與發現。

是的,學術論文有著一定的寫法,特別是研究方法跟研究結果的描述方式,大家在各自領域都已經發展出固定的寫法。反而你不照這方法來撰寫,讀者還會覺得難以閱讀呢。

了解學術論文的寫作方式,不僅僅是對於寫作有幫助,也能夠讓你在閱讀論文時能夠更快了解作者想要表達的內容。

但是光有技巧還不夠,最重要的事情,是要花時間去寫。寫作不是一天兩天就能夠解決的事情,需要的是養成「寫作的習慣」。陳年興教授建議不論日常業務再忙,大家還是一定要擠出一些時間來寫作。而投稿的目標可以設定為有著投稿期限的國際研討會,更能夠督促論文寫作的進度。

雖然我現在只是寫寫自己看的blog,但有朝一日,我也希望能跟大家站上相同的舞台,把自己的研究成果分享給這個世界呢。加油吧。

(more...)

老人敘說導讀:崛起的老奶奶與敘說的漣漪效應 / Storying Later Life: The Raging Grannies & The Ripple Effect

布丁布丁吃布丁

老人敘說導讀:崛起的老奶奶與敘說的漣漪效應 / Storying Later Life: The Raging Grannies & The Ripple Effect

bookcover-storying-later-life

這學期的質性研究課程專題是以老人敘說為主題。主要授課的課本為這本「Storying Later Life」。學期中我們分配書中章節來進行導讀,並於學期中實際去進行老人訪談。以下是我在這本書中主要負責的「崛起的老奶奶」與「敘說的漣漪效應」兩個章節導讀資料。

I took a course "qualitative research project" this semester. Course topic is Older Narrative. The textbook of this course is "Storying Later Life". I introduce two chapters of this book: "The Raging Grannies" and "The Ripple Effect". Following is my report.


書目資料 / Bibliography

Storying Later Life: Issues, Investigations, and Interventions in Narrative Gerontology

Kenyon, G., Bohlmeijer, E., & Randall, W. L. (2010). Storying Later Life: Issues, Investigations, and Interventions in Narrative Gerontology: Issues, Investigations, and Interventions in Narrative Gerontology. Oxford University Press, USA. Retrieved from http://www.google.com/books?hl=zh-TW&lr=&id=iscrccRn764C&oi=fnd&pg=PR5&dq=Storying+Later+Life:+Issues,+Investigations,+and+Interventions+in+Narrative+Gerontology&ots=o4JBV2If8z&sig=bITyMef6e0uXndLdCO2qYro6ZZE


導讀文章 / Review

崛起的老奶奶 / Chapter 9. The Raging Grannies: Narrative Construction of Gender and Aging

這是一個調查研究,用團體焦點訪談法來探討一群特殊老奶奶。這群老奶奶被成為The Raging Grannies,她們熱愛社會運動、用音樂與戲劇表達她們的理念,她們有著與社會對老奶奶的傳統刻板印象相當不同的表現。她們到底是怎麼想的?她們如何重新詮釋「老」的定義?這是一個用不同角度來看待老人的有趣研究。

敘說的漣漪效應 / Chapter 22 The Ripple Effect: A Story of the Transformational Nature Of Narrative Care

image

這是一個行動研究的結果報告。研究者在老人安養院中舉辦了老人敘說訪談的活動,鼓勵院方工作人員以較為有系統的方式深入訪談院內居民的生命故事,然後舉辦成果發表活動跟所有人共享。這樣的活動促進了院內居民、家人、安養院工作人員的彼此交流,敘說讓社群互動更具有意義。


結論:敘說的重要性 / Conclusion: The Power of Narrative

我是個會記錄生活的人,但卻很少用言語來詮釋自己記錄的生活。這堂課教給我很多事情,像是用不同角度來看待「老人」以及周遭的概念,以及讓受訪者以自己的角度來重新詮釋生命故事的「敘說」。老師的教導方式相當有深度,促使我開始思考以前未曾想過的事情。

圖書館員時常會覺得原始資料勝於一切,但是資料只是普通的資料,人是如何看待這些資料才是重點。敘事讓我們重新思考原始資料,或說是自己的生活對於自身的意義,讓原始資料賦予了更多價值。這也是很有趣的研究方向喔。

(more...)

書目管理工具Zotero介紹 / Introduce Zotero

布丁布丁吃布丁

書目管理工具Zotero介紹 / Introduce Zotero

image

Zotero是一個整理文獻的好工具。它不僅可供人免費使用,也可以讓人直接從網頁匯入書目資料,而且中文支援程度也比EndNote好上很多。昨天實驗室的Meeting時我又把Zotero拿出來報告,希望可以給剛踏入研究領域的同學們介紹一個好用的研究工具。

Zotero is a powerful tool for collecting literature. Zotero could import bibliographies from web browser, better Chinese support, and it’s free for use. I introduce Zotero at meeting yesterday. I wish Zotero could help newbies to get better research.


投影片 / Slide

Zotero操作方式 / Usage

image

Zotero的操作方式大致上可分成七個步驟:

  1. 開啟瀏覽器:基本上可以用Firefox來瀏覽。你也可以用Google Chrome或是Safari,但需要額外安裝Zotero Connector
  2. 資料庫找到文獻:找期刊用Google Scholar,找書本用WorldCat,找百科用Wikipedia,這些網站都能夠直接把書目資料匯入Zotero。中文網站在安裝轉譯器之後也能夠直接匯入,例如博碩士論文加值系統CEPS
  3. 匯入書目到Zotero:除了網頁匯入之外,你也可以用EndNote使用的RIS書目檔案來匯入到Zotero,或是乾脆手動建立。
  4. 下載文獻全文PDF檔案與網頁內容
  5. 匯入文獻檔案到Zotero:一筆書目底下可以擺放許多檔案,方便關連書目與檔案之間的關係。
  6. 在Zotero中整理、閱讀:利用收集分類、標籤與筆記等功能來整你的文獻。
  7. 在報告中引用文獻:可以跟Microsoft Word或是LibreOffice整合,需要額外安裝擴充工具。匯出的格式除了內建的APA跟Chicago之外,在安裝其他引文格式之後也可以匯出中文APA,並同時呈現中文與英文的參考文獻

功能比較 / Features Compare

我把Zotero跟傳統用資料夾分類文件與很流行的EndNote做個簡單的比較,你可以看到Zotero其實並不輸給EndNote,而且還是免費的。

  資料夾 EndNote Zotero
儲存書目 難以格式化 手動建立
RIS檔案匯入
中文支援差
手動建立
RIS檔案匯入
網頁匯入
中文支援佳
保存檔案 難以建立檔案之間的關聯 可,還可以保存文獻的網頁
全文檢索 不可
整理方式 資料夾 分類、筆記 收集(=分類)、筆記、標籤
建立引文 不可 可,可擴充引文格式。國內知名度高,許多圖書館致力於這塊。 可,可擴充引文格式。
作業系統 不限制 Windows, Mac Windows, Mac, Linux
費用 免費 收費 免費

結語:Zotero才是伴你長久的研究工具 / Conclusion: Zotero could help your research for long-term

有些人在做研究時使用資料夾來整理散亂的文獻,要在文章中引用文獻時又得跟APA與Chicago等引文格式奮鬥。整理文獻、引用文獻等這種瑣碎的事情,我建議是仰賴Zotero這種書目管理工具。把心力放在你的研究本身,而不是這些機械性的瑣碎工作。

國內知名的書目管理工具EndNote廣受大家支持,也有許多圖書館與研究者個人不斷為EndNote開發擴充功能。但是,別忘了EndNote是收費軟體。我覺得花心力去推廣EndNote、去幫EndNote撰寫擴充功能,反而是變相幫EndNote打廣告、把其他人拖入了有錢人才能玩得起的付費地獄。

我們在大學或機構中進行研究,有錢的大學買得起EndNote,但不代表所有人都有能力負擔得起EndNote。為了長遠利益著想,我們更應該支持基本使用免費的Zotero。介紹Zotero並幫它撰寫擴充的網頁轉譯器與引文格式,我就能造福更多經費不足的研究者。如果大家能夠一起來撰寫Zotero的擴充功能,讓更多中文資料庫的網頁能夠匯入Zotero,或是匯出更正確的中文引文格式,那麼我相信Zotero應該是能夠長久陪伴研究者們的最佳研究工具。

(more...)

Proxmox VE 3安裝與建立OpenVZ虛擬機器 / Proxmox VE 3 Installation and Setup OpenVZ Container

Proxmox VE 3安裝與建立OpenVZ虛擬機器 / Proxmox VE 3 Installation and Setup OpenVZ Container

proxmox-logo

為了推廣Proxmox VE 3OpenVZ虛擬應用樣板的使用,這篇以圖文解說來教大家安裝Proxmox VE 3以及在Proxmox VE 3裡面建立OpenVZ虛擬機器。

To promote Proxmox VE 3 and OpenVZ virtual appliance template technology, I write this guide article to teach you install Proxmox VE 3 and show you how to use Proxmox VE 3 to create OpenVZ container (virtual machine).


技術簡介 / Introduction

Proxmox VE

Proxmox VE是Proxmox公司推出的開放原始碼虛擬機器管理系統,目前已經推出到第三版,叫做Proxmox VE3。

Proxmox VE 3是相當容易安裝與使用的虛擬機器管理系統。他能結合OpenVZ與KVM兩種技術提供IaaS層級的雲端服務。而且是開放原始碼軟體,我們可以自由下載與使用。

OpenVZ與虛擬應用樣板 / OpenVZ & Virtual Appliance Template

OpenVZ是相當成熟的虛擬化技術,架設Linux網站的效率非常高。用OpenVZ通常是架設網站伺服器。網路上提供了相當多的樣板可以下載、安裝,一個樣板就是一個完整的網站服務,例如DrupalJoomla。你只要下載樣板、建立虛擬機器、設定網路、開機,用瀏覽器打開該虛擬機器的位置,一個完整的服務就這樣建好了。

以我的經驗,一台普通的伺服器可以架設20台以上的OpenVZ,全部都能正常提供服務。相較之下,以KVM技術來架設的虛擬機器最多大概不能超過3台。

OpenVZ跟現在主流的KVM、VMware等技術不同,只能虛擬化Linux,也不能相容大多雲端平台,只能在少數雲端平台中架設,例如這次要介紹的Proxmox。

以下就教大家如何建立運行OpenVZ所需要的雲端平台Proxmox VE,以及用OpenVZ來建立虛擬機器吧。


安裝環境 / Installation Environment

2013-07-14_205049

安裝Proxmox VE 3的硬體環境建議為:

  • CPU:最好是64位元架構。雖然32位元仍可以正常運作。如果CPU支援虛擬化指令集,例如Intel VT-x,那就可以用KVM虛擬機器。但是OpenVZ不管CPU有沒有支援虛擬化指令集都可以使用。
  • 記憶體 RAM:建議大於4GB,至少也要512MB。
  • 硬碟空間:建議大於60GB,至少也要4GB。
  • 網路:要配給Proxmox VE一個IP,底下的虛擬機器也建議擁有獨立IP。(如果IP不夠,可以嘗試架設虛擬區域網路,請看我之前寫的介紹

如果在實體伺服器上安裝Proxmox VE 3,建議盡量以以上參數為主喔。

使用VirtualBox安裝Proxmox VE 3 / Install Proxmox VE 3 on VirtualBox

你也可以用VirtualBox來架設Proxmox VE,提供自己測試使用。以下我就是用VirtualBox來架設Proxmox VE,配置參數為:

  • 作業系統:Debian (64 bit)
  • 網路Host-only 「僅限主機」介面卡。這是重點,Proxmox VE在Host-only底下預設IP就會是192.168.56.101。
  • 硬碟:2TB
  • 掛載光碟proxmox-ve_2.3-ad9c5c05-30.iso (MEGA備份)

然後接著把虛擬機器開機,就開始來安裝Proxmox VE 3囉。

Step 1. 安裝Proxmox VE 3 / Install Proxmox VE 3

開機之後,虛擬機器會因為光碟引導的關係,出現以下Proxmox安裝歡迎畫面。

2013-07-14_012547

按下Enter之後進入下一個畫面。一開始會因為Proxmox VE要從DHCP抓取IP的關係,需要稍微等待一下。然後接著會顯示授權條款,按Next繼續。

2013-07-14_012737

然後接著會顯示Proxmox VE的說明,按Next繼續。

2013-07-14_012812

然後接著要輸入鍵盤配置。在Country輸入Taiwan,Proxmox VE會自動辨識我們的鍵盤是U.S. English。按Next繼續。

2013-07-14_012851

接下來要輸入密碼跟E-Mail。密碼兩次都要相同,在此以「password」為例子作為Proxmox VE的密碼。E-Mail是給系統通知時寄送通知管理者的信箱位置。輸入完畢後按Next繼續。

2013-07-14_013320

接下來設定網路。Hostname (FQDN)必須是完整的網址,如「promxox.demo.com」。沒有在DNS上正式申請也無所謂,主要是辨識機器之用。下面是網路的設定,這是由DHCP抓取而來的設定。請在這裡就確定Proxmox VE的網路位置,不然之後很難修改。設定完畢之後按Next繼續。

2013-07-14_013412

接著開始安裝,大概等個30分鐘。

2013-07-14_013423

安裝完成,按Reboot重新啟動。重新啟動之後記得要把Proxmox VE的光碟拿掉喔。

2013-07-14_101925

重新啟動之後就會看到Proxmox VE的指令列端介面。至此為止Proxmox VE安裝就算完成囉。

2013-07-14_102048

Step 2. 進入Promox VE網頁管理介面 / Proxmox VE Central Web-base Management

Proxmox VE是沒有桌面端操控介面,大部分操作是透過網頁管理介面來進行。你看到指令列端的歡迎訊息寫著「https://192.168.56.101:8006」就是它的網頁管理介面的位置。以下操作都是在網頁管理介面中進行。我是使用Firefox 22.0來開啟Proxmox VE 3的網頁管理介面。

image

開啟網址:「https://192.168.56.101:8006」(注意是https,不是http)之後,你會先看到「這個連線未受信任」的訊息。這是因為Proxmox VE使用未受認證的SSL來連線。你可以花錢購買一個SSL認證來讓Proxmox VE連線狀況正常,不過通常我們會讓Firefox把它加入安全例外。

作法如下圖,步驟如下:

  1. 我了解此安全風險
  2. 新增例外網站
  3. 確認安全例外

2013-07-14_102704

接著進入Proxmox VE 3的網頁管理介面。登入畫面要你輸入帳號密碼。預設帳號密碼如下:

  • User name: root
  • Password: password (就是上面安裝Proxmox VE時要你輸入的密碼)

2013-07-14_102734

接著會正式進入到Proxmox VE網頁管理介面,這樣就可以進行虛擬機器的建立、管理等囉。

2013-07-14_102745

Step 3. 上傳虛擬應用樣板 / Upload Virtual Appliance Template

要用OpenVZ建立虛擬機器,必須要從虛擬應用樣板開始著手。請先從以下網址先下載你需要的樣板吧:

以下介紹是用Drupal的虛擬應用樣板debian-6.0-drupal_6.26-2_i386.tar.gz為例子介紹。

首先是在Proxmox VE的網頁管理介面中,從左邊的Server View裡找到local (proxmox)這個本機節點(因為Proxmox VE可以串連很多台Proxmox VE做集叢式管理,所以未來還可以加入其他節點),然後選擇標籤「Content」,再按下面的「Upload」開啟上傳對話視窗。

2013-07-14_102925

先選擇上傳檔案類型為「OpenVZ template」,也就是OpenVZ的虛擬應用樣板。再來選擇剛剛你下載的樣板檔案debian-6.0-drupal_6.26-2_i386.tar.gz,然後按下Upload。

image

上傳完成之後,Content裡面就有一個樣板了。確認樣板存在後,我們就可以來建立OpenVZ的虛擬機器囉。

Step 4. 建立OpenVZ虛擬機器 / Create OpenVZ Container (Virtual Machine)

OpenVZ的虛擬機器叫做Container,簡稱CT。有了虛擬應用樣板之後,你可以在Proxmox VE的網頁管理介面右上角的「Create CT」來建立OpenVZ的虛擬機器。

2013-07-14_210505

建立步驟是以精靈的方式一一跟你確認虛擬機器的參數。

第一步 General:主要要確認Hostname(主機名稱)與Password。主機名稱我輸入drupal,表示這是一個專門運作Drupal系統的虛擬機器。密碼我設為「password」。然後按Next進入下一步。

2013-07-14_210604

第二步 Template:選擇剛剛上傳的虛擬應用樣板debian-6.0-drupal_6.26-2_i386.tar.gz吧。按Next進入下一步。

2013-07-14_210641

第三步 Resources:此處設定記憶體、硬碟大小與CPU用量。

  • 記憶體:Memory是記憶體、Swap是以硬碟模擬的記憶體,在Linux中兩個參數最好相等。OpenVZ技術的記憶體是採共享的機制,因此上限只要不要超過實體機器記憶體的數量就可以了。
  • 硬碟:Disk size (GB),以GB為單位。用多少就是多少,沒有KVM或VMware那種動態硬碟,越用會讓硬碟越來越大的問題。
  • CPUs:使用CPU的額度,多核心CPU中才會去設定。

對Durpal來說,除了硬碟可以考慮設置大一點之外,其他都用預設參數即可。設定好之後按Next進入下一步。

2013-07-14_210654

第四步 Network:請設定固定IP,以Routed mode (venet)網路卡的形式,給予一個固定的IP吧。因為我現在是在VirtualBox的Host-only網路配置下,所以可以給它一個192.168.56.152的IP使用。這個IP非常重要,待會開啟Drupal就要用這個IP來連線喔。設定好之後按Next進入下一步。

2013-07-14_210725

第五步 DNS:設定DNS資訊。沒有特別需要用Domain Name操作什麼的話,此處可以先不設定。這些參數之後還是可以透過Proxmox VE的網頁管理介面來修改,就算設錯也沒關係。在此我就不設定,直接按Next進入下一步。

2013-07-14_210748

最後是確認OpenVZ虛擬機器的資訊,沒問題就按Finish開始建立虛擬機器。

2013-07-14_210757

建立虛擬機器大概不到五分鐘,出現「TASK OK」就算建立完成。

2013-07-14_210843

建立完成之後,你會發現左邊的ServerView多了一台100 (drupal),這就是剛剛建立的OpenVZ虛擬機器。

接著我們要先設定他會在Proxmox VE啟動的時候自動開機。點入100 (druapl)之後,進入Options,在Start at boot那項雙擊兩下滑鼠,編輯該選項。

image

將Start at boot打勾,按OK完成設定。

image

然後我們還要補設定一個網路參數。到Network頁面中,在Add按鈕下新增Network Device (veth)。

image

新增Name為eth0的網路卡。按下Add之後確定。

image

最後按下Start啟動虛擬機器。

image

到此為止,OpenVZ的虛擬機器就建立完成囉。

Setp 5. Drupal安裝與使用 / Drupal Installation & Usage

還記得剛剛建立OpenVZ虛擬機器的時候,我們設定了「192.168.56.152」作為它的IP嗎?一般來說,只要直接開啟這個IP,就能夠順利使用虛擬應用樣板的系統。

不過在使用之前,我們最好還是先閱讀一下Drupal虛擬應用樣板介紹網頁,看看我們還得要做些什麼東西才能使用Drupal。

image

根據Drupal虛擬應用樣板介紹網頁的敘述,接下來還要安裝Drupal的步驟。請用瀏覽器開啟「http://192.168.56.152/install.php

image

進入Drupal的安裝畫面。安裝步驟很容易,我就不講了,可以參考sunchiahom的Drupal 6安裝流程介紹

最後安裝完成之後,就可以直接用 http://192.168.56.152 來連線囉。

image

Step 6. 用指令列操作OpenVZ虛擬機器 / OpenVZ Container Console

Proxmox VE提供了主控台(Console)端的操作介面,讓我們能以指令列操作OpenVZ虛擬機器。如果你不是熟悉Linux的網管人員,可以不需要進入這一步操作。

開啟方式是在該虛擬機器中,按下右上角的Console。

image

接著會跳出一個Console端的視窗。Console是以Java Applet執行,常常會有因為太久沒更新過期而Firefox禁止我們開啟的現象。你可以按左上角的紅色積木來啟用Java。

2013-07-14_203127

啟用之後,Java也會跳出安全警告。按下「繼續」進入Console端。

2013-07-14_203141

以下就是Console端的畫面。登入帳號密碼為:

  • login: root
  • password: password (就是剛剛建立OpenVZ時設定的Password)

2013-07-14_205444


下一步:Proxmox VE結合主流的雲端平台 / Next: Integrate Proxmox VE with Cloud Platform

我上面也有提到,Proxmox VE的OpenVZ虛擬機器跟現在主流的雲端平台,像是Open StackOpen CloudOpen Nebula都不直接相容。Open Nebula可以安裝OpenVZ Plugin,可是手續挺複雜的樣子。

因此在我看來,最簡單的整合方式還是直接以KVM技術架設Proxmox VE,然後用Proxmox VE來管理底下的OpenVZ虛擬機器。概念圖如下:

image

上述架構中,主要是以Ezilla(使用OpenNebula雲端平台)為主的架構,然後之中架設虛擬機器安裝Proxmox VE,再到Proxmox VE中建立OpenVZ虛擬機器。這時Proxmox VE跟OpenVZ虛擬機器都會是列在同一個區域網路,可以經由Ezilla統一管理。但是管理介面就會區隔開來,平時主要是以Ezilla來管理,而要用OpenVZ虛擬機器時,再進到Proxmox VE來管理。

這個方法看起來可行,可是實際上還沒做過。這之間還有很多網路問題,像是Proxmox VE會需要多個連接埠來提供Console端的連線,在上述架構中就會遇到問題。不過Console端其實很少使用,平常都會用直接透過SSH連線操作OpenVZ虛擬機器,所以不用Console端也沒問題。

那剩下就是實作了,希望最近有機會能把它完成。

(more...)