LAMP Web Server 網頁伺服器快速建置入門

前言 …

LAMP 是透過 Linux + Apache + MySQL + PHP 這種方式來架設網站伺服器組合的簡稱,分別代表著

  1. Linux 作業系統
  2. Apache http 網頁伺服器
  3. MySQL 資料庫
  4. PHP 網頁後端語言

LAMP 是非常廣泛被使用的網站環境建置組合,也有將其中的元件替換為其它相同功能但不同產品的組合,例如把 Linux 改為 FreeBSD 或 Windows 的 FAMP、WAMP,把 Apache 改為 NGINX 的 LNMP 等,本篇是使用 Ubuntu / Debian 作為示範,但基本上基於 Debian 以及 Ubuntu 的 GNU/Linux distributions 操作方式都大同小異,要注意不同版本的使用上多少會略有差異,本篇僅供參考。

根據撰寫本篇紀錄時 W3Techs 的統計,Linux 在 web server 的作業系統市佔率高達 36.2% ( Unix 佔總共的 68%、Linux 佔其中的 53.2% ),其中 Debian / Ubuntu 就分別佔了 Linux 的 32.6% / 31.1%:

w3techs-usage-of-operatingSystems-unix-Mar-1-2016

Apache 在 Web Server 的領域有著 55% 過半的驚人市佔率:

w3techs-usage-of-WebServers-Mar-1-2016

最新、更多資料請參考 W3Techs :

寫這篇的原因,主要是因為推薦不少人來使用 WordPress 撰寫部落格、筆記,WordPress 在此時已經擁有高達 26% 的網頁套裝軟體市佔率,而且持續成長中,平均每四個網站就有一個是使用 WordPress 架設,可想而知 WordPress 不管是在社群、生態系方便都已經相當成熟,考量到自行架設 WordPress 會比直接使用 WordPress.com 現成的服務來的更有彈性、功能更加強大,同時又可以學技術,但對於初學者對於遇到問題的恐懼一直是最大的阻礙,故撰寫這份 LAMP 簡易安裝筆記供入門者參考,對於其他同樣使用 PHP 語言的網站平台基本上都適用。

閱讀全文

Roseapple Pi (RaPi) 台灣蓮霧派初體驗

自從 Raspberry Pi (樹莓派) 在 2012 年初推出至今,市面上的小型單板電腦(one board computer) 可說是如雨後春筍般冒出,例如 CubieboardGalileoUDOOBanana Pi 、Orange Pi 等,尤其是各種 “水果派”,畢竟 Raspberry Pi 的共同創辦人 Eben Upton 都說歡迎山寨廠抄襲、複製了(Raspberry Pi 創辦人在台專訪:歡迎山寨廠商來競爭、複製),而這次要來玩的 Roseapple Pi 也是其中一款向 Raspberry Pi 致敬的產品!

其實早在 Raspberry Pi 之前就已經有如 PandaBoard、 ODROIDBeagleBoard 等開發板,Raspberry Pi 最讓人震憾的還是他的價格,當時的 model A / B 分別只要美金 25$ / 35$ ,換算下來約台幣一千元就可以有一台不含週邊設備、硬碟的電腦主機,這對於偏遠地區的資訊教育來說是有著顯著的門檻降低功用 (當然還是需要師資以及其他設備啦),當時看到樹莓派二話不說就立刻跟授權廠商之一的 RS Components 下訂單了,還記得那時候主機本體、外殼是分兩次從英國原廠寄出,讓我有點吃驚(畢竟沒多少錢的東西),雖然等了一小段時間,但想想是從英國搭飛機來的,也就還說的過去。

我玩樹莓派的主要用途是學習 Unix 系統以及影音播放(放客廳再方便不過了、還可以透過網路存取影片),主要看上的就是這類開發板省電、低費熱、零噪音、體積小,但樹梅派有個小缺點,就是運算效能不高,可能各位手上的手機可能速度就比樹莓派來的快的多,樹梅派最初使用的是 Broadcom BCM2835 單核心的 SoC ,後續的 B+ model 雖然在規格上有所調整,但效能上並沒有進步,這大概是當時後愈來愈多號稱效能超越樹莓派的開發板不斷冒出來的原因之一,一直到 2015 年推出的 Raspberry Pi 2 才改採用 ARMv7 架構、四核心處理器的 BCM2836,同時也把記憶體容量,算是有相當程度的提升(官方宣稱是6倍),雖然晚了點,但有總比沒有好,只是有時候看影片還是沒辦法很順暢,所以我才希望找看看有沒有其他替代產品,不但能播放影片、還能讓我練習一些 Linux 管理、開發相關的平台,於是就找到蓮霧派了!

身為致敬產品,蓮霧派的 CPU / RAM / USB 規格算是比較吸引我的地方,官方公佈的規格可以看這邊:
http://roseapplepi.org/index.php/spec/

規格還不錯,不過沒有內建 Wifi / Bluetooth,網路卡也只有到 100 Mbits

比較吸引我的幾個規格:
RAM: 2GB DDR3 (2GB 比我手機還大了)
USB port: USB 3.0*1 (Type A) + USB 2.0*2 (Type A)
External Buttons: On/Off,(Sleep/wake)/Reset (內建自己的開關/按鍵)
Operation Systems: Debian, Ubuntu, Fedora, Android 5.0/5.1 (可以跑 Andoird 5.1 !!!)

很可惜在處理器部份並沒有詳細的資料可以參考,沒看錯的話 Roseapple Pi 採用的是 Actions Semi (炬力) 的 S500 整合晶片,S500 這款 Soc 在官網上並沒有自己的 Spec 或是 Product page,只能從 ActDuino S500 這款開發板上的介紹略知一二,簡單挑重點來講,這款 Soc 為 28nm 製程 、包含了 Cortex-A9R4 中央處理器、NEON SIMD 協同處理器、PowerVR SGX544 繪圖晶片,能夠支援到 4K 或是 1080p@60fps 的高品質影片播放,同時支援了 USB 3.0, HDMI 1.4b,等等的規格,不過因為不是本篇重點,其餘就不贅述了。

先從外觀開始看,開箱就省了吧,直接看開完箱的照片:

USB / 網路孔正面照,在這個 USB 3.0 還沒全面普及的時刻,能在這種單板電腦上看到,真是莫名的感動!

170008

拍的有點暗,懶得重拍了,加減看,從左至右分別是 power button, HDMI, 3.5mm audio, CSI 相機接頭,UART debug pin

165946

最左邊 4 個 pin 是麥克風跟紅外線使用的,右邊兩排共 40 個 pin 是 GPIO

165955

閱讀全文

Step by step, install Ubuntu 14.04 Server on VirtualBox 虛擬機安裝紀錄

先前分享過 FreeBSD 在虛擬機上的安裝:

https://www.peterdavehello.org/2016/01/freebsd-10-2-on-virtualbox-vm-notes/

這次換寫 Ubuntu Server 的安裝,Ubuntu Server (伺服器版) 和 Ubuntu Desktop (桌面版) 的主要差異其實只有兩點:

  1. 預設安裝的套件不同
  2. 操作介面不同

就像 Ubuntu 、 Kubuntu、Lubuntu、Xubuntu 、 Ubuntu Gnome 都是 Ubuntu GNU/Linux ,使用相同的 Ubuntu apt repository,但預設使用不同的設訂、安裝了不同的桌面環境,但骨子裡都是一樣的系統,Ubuntu Server / Desktop 的關係也是這樣,少了圖形化介面以後 Server 可以省下更多的資源來提供服務,在大多數情況下也可以省下不少的硬碟空間來儲存更多的資料,身邊有些朋友因為害怕純文字介面的操作而使用桌面版的系統來架設伺服器,讓不必要的圖行化介面佔用系統資源,是有點可惜了,這篇以 VirtualBox 虛擬機環境紀錄 Ubuntu Server 14.04 的安裝,給新手做為安裝時的參考

如果想要把已經安裝好的 Ubuntu Desktop 轉換為 Ubuntu Server、在不同桌面環境間的版本轉換,可以參考這篇:

https://www.peterdavehello.org/2015/09/convert-your-ubuntudebian-between-different-versions-like-desktop-to-server/

先說 Ubuntu 安裝程式的下載, 關方有提供一個 mirror 鏡像站列表,直接從台灣的伺服器下載速度會比較快:
https://launchpad.net/ubuntu/+cdmirrors

往下拉到 “Taiwan” 的地方,可以看到台灣目前有九個已向官方登記的站台,任意挑選其中一個站台的 http 連結進入即可。ubuntu taiwan cd mirrors

這邊以元智大學的FTP站台為例 (http://ftp.yzu.edu.tw/Linux/ubuntu-releases/),點進去後會看到這樣的畫面(每個站台應該是大同小異):ubuntu download homepage

在剛剛的畫面點選 “Ubuntu 14.04.3 LTS (Trusty Tahr)” 或 “14.04” 或 “14.04.3” 以下載我們要的版本 14.04 ,14.04 後面的 .3 是在 14.04 正式發布後的後續更新版本,基本上屬於同一個版本,而不像 14.04 和 15.10 就是截然不同的兩個版本

Ubuntu 的版本號前面兩個數字代表西元年、後面代表月份,Ubuntu 每半年會發行一個新版本,也就是每年的4月及10月,所以我們才會看到 14.04, 14.10 這種版本號ubuntu download 14.04.3
閱讀全文

用 nginx 建置一個 A+ 等級的 https 網頁伺服器

隨著資安意識提升、 Google 把網站的 https 列為搜尋引擎的排行指標,越來越多的網站開始導入 https 以確保伺服器以及使用者端兩個端點之間的安全溝通,先前在 10 web server online https/ssl testing services 有列出了一些可以協助網管人員測試網頁伺服器安全性強度的服務(注意是”網頁伺服器”而不是”網頁應用程式”),讓大家可以參考看看,其中 Qualys SSL LabsSSL Server Test 算是近期非常熱門的一個測試跟服務,其測試報告以及評分標準算是非常簡單易懂,以截至目前為止(2015年10月25日)的最新版本”2009j (20 May 2015)“為例,給分主要從 A ~ F,Protocol support、Key exchange 及 Cipher strength 分別占總分的30%、30%及40%,相關的細節都可以在SSL Server Rating Guide (PDF) – Qualys SSL Labs 裡面找到,Qualys SSL Labs也提供了一份 SSL/TLS Deployment Best Practices Guide,但看起來近期沒更新就是了,停留在 Version 1.4 / 8 December 2014。

對於一些非網管或是相關背景的網站管理員來說,該如何有效的提升自己架設的伺服器安全性強度? 又如何改善各安全測試出來的分數? 由於最近有些人在問相關的問題,我找了一下發現好像沒有中文的資源在提供這方面的指南,所以決定野人獻曝一下稍微分享我知道的做法。另外必須說明的是,安全性跟方便性從以前到現在就是兩難,例如夠安全的密碼基本上都是由不同的元素以及夠長的長度組成,相對來講就會不好記,在伺服器安全性上的問題亦然,較好的安全性會使得 Windows XP,Java 6 的使用者受到影響,如果還有遇到這使用如此老舊軟體的使用者,還是勸他趕緊換個平台吧 …

開頭先說一個比較不影響這次評分 (https) 但大家可能也會想要處理的一塊,關於 Web server 的 response header 處理的部分,可以參考先前寫的 “用Apache/nginx&PHP架網站要注意的安全事項” ,將不必要的Server資訊隱藏起來,那接下來就講這次的重點,關於伺服器的安全性設定以及該如何提高分數!

閱讀全文