行動導覽的特色之一是導覽資料儲存於雲端,也就是要建立一個伺服器能回 應遊客對導覽資料的請求。行動裝置的應用程式數量數以百萬計 (Phone Arena, 2013),而行動裝置的螢幕桌面空間有限,安裝應用程式的內建快閃記憶體 (Flash
Memory) 容量也有限,若以撰寫應用程式提供史前館的行動導覽服務,恐怕會因 遊客不願安裝導覽應用程式而降低遊客的使用意願,為減少使用的障礙,以行動 裝置已內建的功能為基礎來建置應是較為可行的方法。現今各主流行動裝置系統 均有內建網頁瀏覽器、影音播放軟體及 YouTube 播放器等應用程式,應可符合行 動導覽的功能需求,所以利用全球資訊網 (World Wide Web, www) 網站的架設,
以網頁的形式呈現導覽資料應是一個理想的方案。
在 1995 年,最流行的網頁伺服器是美國國家超級電腦應用中心 (National Center for Supercomputing Applications,NCSA) 的 HTTPd,有 53%的市佔率,在此 時以 HTTPd 為基礎進行修補的 Apache 開始綻露頭角,從 1996 年 5 月開始躍居市 佔率第一名,並一直保持第一名的市佔率至今。根據 netcraft.com 的統計 (見圖 9),
在 2013 年 11 月,運作中的網站使用 Apache 者佔 51.59%,位居第一名;第二名為 nginx,佔 12.66%;第三名是 Google Web Server,佔率 12.63%,它是以 Apache 為 基礎開發的;第四名則是 Microsoft 的 IIS (Internet Information Services),市佔率 為 10.58%。
圖 9. 網頁伺服器市佔率 資料來源:netcraft.com
執行動態網站或者伺服器的解決方案有自由軟體 (Free Software) 的 LAMP、
蘋果公司的 WebObjects、昇陽 (SUN) 公司的 Java/J2EE 以及微軟的 ASP.NET 架構。
LAMP 是指一組執行動態網站或伺服器的自由軟體,這四個字母分別是指:Linux
作業系統、Apache 網頁伺服器、MySQL 資料庫管理系統及 PHP 指令碼語言。
一、Linux 作業系統
根據 top500.org 的統計(見圖 10),在 2013 年 11 月,前 500 大超級電腦有 482 台的作業系統使用 Linux 系列發行版,可見 Linux 是一個穩定可被重用的作業系 統。
圖 10. 前 500 大超級電腦的作業系統 資料來源: TOP500 Supercomputer Sites, http://www.top500.org
Linux 是自由軟體和開放原始碼軟體 (Open Source Software) ,其授權是使用 自由軟體基金會 (Free Software Foundation) 的 GNU 通用公共授權條款 (GNU General Public License),任何個人和機構都可以自由地使用 Linux 的原始碼,更可 以自由的修改原始碼和再發行。Linux 被打包成許多供個人電腦和伺服器使用的 Linux 套件,也被廣泛的使用在嵌入式系統,如手機、平板電腦、路由器、電視和 電子遊戲機等,在行動裝置作業系統上市佔率第一的 Android 作業系統就是以 Linux 核心為基礎開發的。
Linux 因為各種不同的原因而發展出不同的發行版 (distribution),目前已有超 過 300 個發行版,這些發行版的形成各有原由,像是商業公司以提供服務及教育 訓練來營利的,例如 Red Hat, Inc. 發行的 Red Hat Enterprise Linux;堅守自由軟體 精神,由自願者所組成的非營利組織所發行的,例如 Debian Project 開發及維護的 Debian GNU/Linux;開發目的是為了使 Linux 變得簡單易用的,例如 Canonical Ltd 所發行的 Ubuntu;以發展穩定伺服器為目的,並提供長期版本支援的,例如由 Red
Hat, Inc. 讚助的社群所維護的 CentOS 等。
Apache 網頁伺服器是跨平台 (Cross-platform) 的程式,依據不同的作業系統 編譯了不同的版本,可安裝於數種作業系統,據 SecuritySpace.com 對網際網路進 行探勘偵測得知 (見表 5),在 2012 年 11 月時使用 Apache 網頁伺服器的主機,絕 大多數的作業系統是 Linux 發行版,前 10 名中位居第 5 名的是市佔率 7.37% 的 Microsoft Windows,第 8 名是市佔率 4.14% 的 FreeBSD,第 9 名是 Apple OS X 的 核心 Darwin 僅佔 0.43%,而 Linux 發行版則總共佔了 86.77%。
綜上所述,Linux 作業系統是伺服器的首選,其中又以佔率 26.30%、排名第 一的 CentOS 最受歡迎,原因就在於它是以建置穩定的伺服器為目的。
表 5. 以網路探勘調查使用 Apache 網頁伺服器的作業系統市佔率 (2012 年 11 月)
資料來源:SecuritySpace.com, https://secure1.securityspace.com 二、Apache 網頁伺服器
Apache HTTP Server 簡稱 Apache,是由 Apache 軟體基金會 (Apache Software Foundation) 發展及維護的網頁伺服器,它是一個跨平台軟體,可安裝在 Linux、
Windows、FreeBSD、Solaris 等作業系統。Apache 是一個開放原始碼軟體,也是自 由軟體,其授權條款為 Apache License,是自由軟體授權條款的一種,相容於自由 軟體基金會 (Free Software Foundation) 的 GNU 通用公共授權條款第三版 (GNU GPLv3)。
HTTP 中文譯為「超文字傳輸協定」,是 HyperText Transfer Protocol 的縮寫,
是網際網路上應用最為廣泛的一種網路協定,用來從伺服器傳輸 HTML (HyperText Markup Language,超文字標記語言) 到客戶端的瀏灠器使能呈現網頁。
Apache 是個穩定又功能強大的網頁伺服器,同時它也容易安裝,除了各 Linux 發行版已將其以所謂的 LAMP 包裝在一起。對於想架設網站卻又畏懼使用 Linux 的人,另有一個解決方案就是所謂的 WAMP,這裡的 W 是指 Microsoft 的 Windows 作業系統,AppServ Open Project 將 Apache、PHP、MySQL 及 phpMyAdmin 四者 的 Windwos 版本打包稱為 AppServ,這個組合在臺灣的電腦資訊教育界常被拿來
使用,因為容易安裝,更是初學網路架站的學生所愛用,但該專案已久未更新,
國立台灣大學計算機及資訊網路中心在 2013 年 9 月 20 的電子報發出警告指出,
AppServ 套件已成為駭客入侵後門。
三、MySQL 資料庫管理系統
MySQL 是一個開放原始碼的關聯式資料庫管理系統 (relational database management system),開發者為 MySQL AB 公司,現為 Oracle 的子公司。與商業 版的大型資料庫系統如 Oracle、IBM DB2、MS SQL 等相比,MySQL 的規模較小、
功能有限,但對於一般的使用者和企業來說,MySQL 提供的功能已經足夠,而且 因為是開放原始碼軟體,建置成本相對的較低,許多的 CMS 內容管理系統便是使 用 MySQL 做為資料庫管理系統。
若要管理維護 MySQL 資料庫,可使用以 PHP 編寫的 phpMyAdmin,它存放 在網頁伺服器的網頁路徑,在伺服器端執行,管理者可以使用瀏灠器以網頁介面 管理 MySQL 資料庫,這樣就能於遠端管理,建立、修改、刪除以及備份資料庫及 資料表。
四、PHP 指令碼語言
PHP 的全名是「PHP:Hypertext Preprocessor」(PHP:超文字預處理器),是 一種開放原始碼的電腦指令碼語言,用於網頁嵌入 HTML 中使用。PHP 是 Rasmus Lerdorf 為了要維護他的個人網頁,顯示個人履歷以及統計網頁流量,用 C 語言開 發的工具程式,名為 Personal Home Page,這是 PHP 簡寫名稱真正的由來。PHP 目前由 PHP Group 開放原始碼社群維護,以 PHP License 作為授權條款,因為這個 授權條款限制了 PHP 名稱的使用,所以與 GNU GPL 並不相容。
五、CMS 內容管理系統
內容管理系統(Content Management System,CMS)是一種應用程式用來管 理網站上的內容,這些內容包括文字、照片、影片、音樂、檔案文件等。Web2.0 時代,網站是動態的,內容是豐富的,這樣的網站需要有內容管理系統才能輕鬆 有效率的做到。內容管理系統可以是入口或商業網站的發行和管理系統,也可以 是個人或區域網路網站系統,例如雅虎奇摩首頁、網路拍賣、網路商場、維基百 科 (Wikipedia)、部落格 (Blog)、論壇 (Forum)等等,這些都算是一種內容管理系 統。
內容管理系統可以用 PHP、Python、Java、ASP 等程式語言編寫,搭配資料庫 管理系統如 MySQL、PostgreSQL、MariaDB、Oracle、Flat-file database、IBM DB2、
MS SQL 等,依照授權的類型可分為開放原始碼自由軟體、免費軟體 (Freeware) 及 商業軟體等。以 GNU GPL 授權的自由軟體非常的多,例如 WordPress、Joomla!、
Drupal 等;免費軟體相對的少了很多,SiteFactory 就是這一類型,有些原本是免費 軟體,但後來以自由軟體釋出的如 Movable Type;商業軟體因功能及效能的不同,
價格差異非常的大,若公司或組織沒有網管人員的編制且需要後續的保固及支援,
或可考慮購買商業版本使用,有些網路主機代管公司會提供其自製的內容管理系 統。
Drupal Taiwan 正體中文支援站 (http://drupaltaiwan.org) 對於 Drupal 這樣說 明:「Drupal 是一套可以讓個人或社群使用者,很容易地發表、管理並組織一個網 站裡大量且多樣的內容。已經有許多個人和組織採用 Drupal 來建立各種不同的網 站,包括:社群入口網站和討論區、企業網站/企業內部入口網站、個人網站或部 落格、嗜好網站、電子商務應用、資源分類目錄、社交網路網站。」所以,如果 公司或組織裡有網管的人力,使用持續開發及維護中的自由軟體是一個極佳的選 擇。
根據 OpenSourceCMS.com 的網路偵測報告,以 30 天的週期偵測網際網路大 約 1% 的網站,在 2013 年 11 月 30 的數據,開放原始碼內容管理系統的市佔率第 一名是 WordPress 佔 64%,第二名是 Joomla!佔 16%,第三名是 Drupal 佔 9% (見圖 11)。此一數據是隨時間變動的,但根據六個月時間的觀察,佔率跟排名大致上沒 有變動。
圖 11. 以網路偵測調查開放原始碼 CMS 的市佔率 資料來源:OpenSourceCMS, http://www.opensourcecms.com/
WordPress 在早期是單純的單一使用者部落格 (Blog) 程式,使用 PHP 指令碼 語言及 MySQL 資料庫管理系統,後來以加入外掛 (Plugin) 的方式來擴展功能,
其授權條款是開放原始碼自由軟體的公共授權條款 GNU GPLv2,因為容易安裝及 操作,演變成為今日最受歡迎的內容管理系統。
Joomla!是一個通用性的網站系統,由 Mambo 的分支發展而成,幾乎所有類型 的網站都可以用它來建立,不論是個人使用的部落格、一般企業使用的網站到大 型的社群網站或新聞網站,其授權條款為 GNU GPL。Joomla! 使用 PHP 指令碼語 言,支援的資料庫管理系統則非常的多樣,可支援 MySQL、Oracle、PostgreSQL、
SQL Server 及 SQLite,它的擴充套件 (Extensions) 有元件 (Component) 、模組 (Module) 與外掛三種。
Drupal 是一個功能極為彈性的內容管理系統,它將網站的所有內容視為許多 的節點 (node),由模組控制其顯示、修改、排列、分類等方式。Drupal 可以建立 個人網站或部落格、社群入口網站和討論區、社交網站、嗜好網站、論壇、企業 外部及內部入口網站、電子商務等,有許多大型的重要網站使用 Drupal,美國的 總統府白宮網站 (Whitehouse.gov) 就是一例。Drupal 以 PHP 指令碼語言編寫,支 援的資料庫管理系統有 MySQL 及 MariaDB,其授權條款為 GNU GPLv2。