李一諤高可用性系統(一):前言
本校最近建立了一個高可用性系統,會在這裡一一介紹它的組件。當然使用的全部都是開放源碼軟件,只需有硬件便可建立起來了!
甚麼是高可性系統?就是將很多部伺服器聯在一起,對外提供服務。務求不會因一部伺服器或電腦掛掉就停止服務,不會出現Single Point of Failure。
示例:
這兩個網站就放在高可用性系統內,由多部伺服器提供網上服務。如有一兩部出問題,都不會掛掉!
這樣的安排可令網絡管理人員減省很多工作,亦可將壓力大大舒緩。
本校最近建立了一個高可用性系統,會在這裡一一介紹它的組件。當然使用的全部都是開放源碼軟件,只需有硬件便可建立起來了!
甚麼是高可性系統?就是將很多部伺服器聯在一起,對外提供服務。務求不會因一部伺服器或電腦掛掉就停止服務,不會出現Single Point of Failure。
示例:
這兩個網站就放在高可用性系統內,由多部伺服器提供網上服務。如有一兩部出問題,都不會掛掉!
這樣的安排可令網絡管理人員減省很多工作,亦可將壓力大大舒緩。
在FreeBSD內安裝WordPress是一件易事,因為ports已有,輸入下面指令即可:
cd /usr/ports/chinese/wordpress-zh_TW
make install clean;
特別的地方是我們會用在chinese的ports,不用在www文件夾內的,因為這是中文版本。
完成後,打開網頁便可繼續安裝了。
WordPress最好的地方,是可以在網頁內升級系統、插件及樣式等,非常方便。但問題又來了,經網頁升級又會和FreeBSD的系統內紀錄的版本不相符,升級時會引起混亂。
所以我的做法如下:
1. 先安裝(如上);
2. 將那個folder改名(即: /usr/local/www/wordpress-zh_TW_old/),再刪除ports (pkg_delete -f wordpress*);
3. 將那個folder重新改回舊名 (即: /usr/local/www/wordpress-zh_TW/);
這樣暨可安裝WordPress,同時亦顧及兼容性,最後便可升級自由,不用在SSH內輸入指令。真是一著妙招!
因為從前使用的Lifetype版本更新得較慢,插件亦不太多。其實一直我都想找一個可以較快更新,功能又多樣化,亦可讓學生擁有自己網址的系統。最理想是可以和學校的LDAP配合,不用重新開戶口,只需學生直接用電郵戶口及密碼登入,便可立即使用,這真是網管的最高境界。
幸運地,終於給我遇上了它–WordPress,完全可以做到上述的功能。
真分數與假分數
註: 原本這文章是想試驗Khan Academy的Embed Video功能,但在WordPress內失敗了,便有這個註解出現。
早前提及Moodle在全球擁有過千萬使用者,並且有很多特別的插件(plug-in)來強化它的功能。首先要介紹的就是網上錄音功能:NanoGong。
安裝及使用的指引可在上面的連結找到,在此不重覆了!但是為何會有這樣的想法,要為Moodle加入語音功能?
原因有二:
1‧現在很多語文科目也需要訓練說話,在傳統的教室環境未必可以讓每人也參與相關的活動。
2‧低年級的同學要用電腦與老師溝通的話,通常要打字輸入英文或手寫中文,兩者都是一度高高的牆,讓他們堵死在隔壁,無法踰越。如果可以用語音留言給老師,溝通就更有效了。
設置與安排如下:
1‧在連線至網絡的電腦內登入Moodle,實線或無線網絡均可。
2‧電腦需配備咪及耳筒,以Netbook的內置咪來錄音亦可。
3‧瀏覽器需要安裝Java軟件。
4‧老師可在課堂以外時間,甚至在家中,登入Moodle為學生的說話作業評分。佳作可下載教師電腦作演示用途。
備註:
1‧這功能暫時未能用在Moodle 2版本中。
2‧因為NanoGong的壓縮比很高,錄音檔案佔空間很少;所以錄音長度並沒有限制,不過要聽學生長時間演說,每班又有三十多人,吃苦的應該是老師。但NanoGong有一個很貼心的功能,它可以讓錄音加速播放,但又不失學生演說的神緒,這真是一個很好的發明。
3‧Android及iPad都未能應用此功能(未能成功安裝Java),反而Ubuntu的FireFox就可正常使用。
上篇提到Moodle的安裝,由於是用ports去做,相信難度亦不算大。今次要說的是如何做戶口管理。
Moodle是用MySQL的,本身已具備戶口的資料表,即密碼是會儲存在MySQL內。但這樣又會給管理人問題,學生的登入戶口及密碼該如何設定,又怎樣可以方便地發送給他們?搞不好,又會出現學生需面對「十個系統,十個身份與密碼」的問題。這個情況,希望本校不會出現吧!LDAP就是這個答案。
本校已使用LDAP一段頗長時間,Mail及Jabber等服務都在使用它來認證。今次就用在Moodle上。首先,在LDAP內要先加入學生的戶口,之後再在Moodle內用「上傳使用者」的方法去匯入學生資料,格式如下:
—————————-下面資料皆為虛構——————————–
username,password,firstname,lastname,email,auth,city,country
s2003601,abcd1234,胡一浩,s2003601,s2003601@lynms.edu.hk,ldap,葵涌,HK
s2003602,abcd1234,陳二功,s2003602,s2003602@lynms.edu.hk,ldap,葵涌,HK
s2003604,abcd1234,張三材,s2003604,s2003603@lynms.edu.hk,ldap,葵涌,HK
————————–如果不用LDAP,可以用以下格式——————
username,password,firstname,lastname,email,auth,city,country
s2003601,abcd1234,胡一浩,s2003601,s2003601@lynms.edu.hk,manual,葵涌,HK
s2003602,abcd1234,陳二功,s2003602,s2003602@lynms.edu.hk,manual,葵涌,HK
s2003604,abcd1234,張三材,s2003604,s2003603@lynms.edu.hk,manual,葵涌,HK
—————————————————————————
匯入學生資料後,加至各課程的群組中,同學便可以用LDAP戶口及密碼登入了。當然,如果學生在中LDAP更改了密碼,在Moodle登入時,亦需用上新密碼才可。
有一段時間沒有寫這Blog,其實有很多題目想寫。不過最近研究了Moodle,亦取得一個試驗計劃,同時更為數間學校建立了系統。另外,遲些亦有課程是關於這題目的,寫這個有一定的迫切性。也沒辦法,現在香港的教育界,那樣急就做那樣!
Moodle是一個開放源碼的學習管理系統(Learning Management System, LMS),可以讓老師管理學習的流程,發送教學材枓,更可收發功課,還有一些Web 2.0的溝通工具。最重要是全世界已有數千萬用戶,比香港的受歡迎產品更受歡迎。更甚者是開發者遍及全球,很多也是前線工作者,每天也會開發一些新的module或plug-in,絕對符合教育界要求。
至於安裝方法就很簡單,以FreeBSD的ports為例:
cd /usr/ports/www/moodle
make install clean;
這個版本是1.9.x,現在已有Moodle 2.0版本,不過會與舊的plug-in及module不兼容,所以都是用回舊的。當然,Apache、PHP、MySQL已預先裝好。其他的平台也可以安裝使用,不過穏定性及安全性就要自己考慮。
安裝完ports後,只要用瀏覽器開該網站便會繼續完成餘下的步驟。
工程已於今年八月中完成,全校的教學網絡網點可用1Gb/s來連接。頻寬加大了,播放多媒體檔案會更流暢。
Network diagram:
主幹圖片:
課室連接器,用來將光纖與Cat6網線連接: