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

前言 …

LAMP 為 Linux + Apache + MySQL + PHP 這種網站伺服器組合的簡稱,分別代表著

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

LAMP 可說是目前非常廣泛被使用的網站建置環境組合,另外也有將其中組合抽換為其它相同功能但不同產品的組合,例如把 Linux 改為 FreeBSD 或 Windows 的 FAMP、WAMP,把 Apache 改為 NGINX 的 LNMP 等,其中的 Linux distribution (分支) 又以 Debian / Ubuntu 最為熱門,本篇不例外是使用 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

Aapache 的 Web Server 領域更是有著 55% 過半的驚人市佔率:

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

資料請參考 W3Techs :

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

繼續閱讀

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 、 KubuntuLubuntuXubuntu 、 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資訊隱藏起來,那接下來就會講這次的重點,關於伺服器的安全性設定以及該如何"拉分"!

繼續閱讀

11 web server online https/ssl testing services

http/2.0 will need encryption, also Google says HTTPS is a ranking signal – https://www.peterdavehello.org/2014/08/google-https-as-a-ranking-signal/, after set up https on our websever, what should we do next? It’s to confirm and make sure the cer and configure is safe enough to prevent from attack, here are some online testing service to help you confirm your cert and config on your webserver.

SSL Server Test by Qualys, Inc. SSL LABS (supports IPv6):
https://www.ssllabs.com/ssltest/
qualys_ssl_labs

qualys_ssl_labs_2

SSL Checker – SSL Certificate Verify:
https://www.sslshopper.com/ssl-checker.html

ssl_shopper

FairSSL BlueSSL Online Server SSL Test:
https://www.fairssl.se/en/ssltest

繼續閱讀

Setup a http/2.0 web server via nginx

nginx now supports http/2.0
My blog is now http2.0 enabled!

nginx supports http/2.0 since version 1.9.5, if you have your own ssl cert for your own domain, you can now easily setup a http/2.0 enabled web server via nginx!

I’ll use Ubuntu 14.04 LTS as an example here, and assume you already have a https enabled site via old versions of nginx.

Add nginx mainline repository from nginx.org:

Add PGP key for apt:

Update apt repository local cache:

Remove old nginx(remember to backup your configs!):

繼續閱讀