Author: Sam Tang

OpenWRT 與 DD-WRT 有什麼不同, 那個較適合

如果使用路由器原廠的 firmware 已經能夠滿足需要,而且沒有不穩定的情況,那麼繼續使用原廠的 firmware 也沒什麼問題。但如果想將路由器隱藏的功能釋放,或者發現原廠路由器有不穩定的情況,那便可以考慮安裝第三方 firmware。OpenWRT 及 DD-WRT 也是基於 Linux 的路由器第三方 firmware, 兩者也是十分出色的路由器 firmware,只是對於不同的使用者或不同需要,選擇適合自己的 firmware 罷了。兩者主要的分別使是,相對於 OpenWRT, DD-WRT 較容易安裝及設定,firmware 已經內建了很多功能,一安裝好便可以用。而 OpenWRT 則只內建較基本的功能,需要額外功能要逐一以模組的方式安裝。這可以從兩者的體積看到差別,以我的 Linksys WRT1900ACS 為例,OpenWRT LEDE 版的體積是 4.9MB,而 DD-WRT 的體積是 …

OpenWRT 使用自訂 DNS Server

OpenWRT 預設使用內建的 DNS Server, 但我習慣了都使用 Google 的 DNS Server, 以下是 OpenWRT 設定使用自訂 DNS Server 的方法。1. 登入 OpenWRT 的網頁介面: http://192.168.1.12. 進入 “Network” -> “Interfaces”3. 在 “LAN” 按下 “Edit”4. 拉到最下面的 “DHCP Server”, …

Linksys WRT1900ACS 安裝 OpenWRT

最近買了一部 Linksys WRT1900ACS 的路由器, 選擇它的主要原因是 OpenWRT 對 WRT1900ACS 有很好的支援。以前管理 OpenWRT 比較麻煩, 很多時都要像管理 Linux 主機一樣輸入指令或編輯設定檔, 但現在可以用 LuCI 網頁管理介面, 使用上方便很多, 以下紀錄一下安裝 OpenWRT 到 WRT1900ACS 的步驟.1. 下載 OpenWRT 的 WRT1900ACS firmware:前往 https://wiki.openwrt.org/toh/linksys/wrt_ac_series#tab__wrt1900acs初次使用建議使用 Stable …

RHEL / CentOS 安裝 MySQL 8.0

在 RHEL 及 CentOS 7 開始, 預設的資料庫系統是 MariaDB, 基本上 MariaDB 可以取代 MySQL, 但如果仍然想繼續用 MySQL 的話, 除了可以編譯 MySQL Community Server 的原始碼外, 也可以安裝 Oracle 提供的官方 YUM repository, 那便可以透過 Yum 安裝 MySQL Community …

RHEL / CentOS 解決 man: command not found

如果在 RHEL 或 CentOS 用 man 指令查看指令說明文件時,如果沒有安裝 man 的套件,會出現以下錯誤:man: command not found要解決這個問題需要安裝 man-pages 套件,只要用 yum 直接安裝便可以了,以下是 CentOS 6 及 CentOS 7 的安裝方法:RHEL 7 / CentOS 7: $ sudo yum install …

ShellCheck — Shell Script 語法檢查工具

如果在使用一些指令 (例如 rm) 不小心, ShellCheck 是一個 Shell Script 分析及除錯工具, 之後要花很多時間修復, 可以在嘗試執行 Shell Script 前先找出 Warning 及一些建議。以下會紀錄安裝及使用 ShellCheck 的步驟。安裝 ShellCheck安裝 ShellCheck 可以用 yum 或 apt-get 直接安裝:RHEL, CentOS, Fedora:先要啟用 EPEL Repo 才可以用 …

Apache 安裝 mod_cband 限制 Virtual Host 連結速度

當 Apache 其中一個 Virtual Host 佔用資源過多時,會拖慢整台伺服器所有網站的速度,這時可以安裝 mod_cband 模組,限制個別虛擬主機可以儲用的連線數量及速度,以下會示範在 CentOS 7 安裝 mod_cband 模組:要安裝 mod_cband,需要先安裝 httpd-devel: # yum install httpd-devel 然後可以下載 mod_cband 及編譯安裝: # cd /usr/local/src # wget https://github.com/maiha/mod_cband/archive/master.zip # unzip …

PHP mail() 設定 Return-Path

在 PHP 上使用 mail() 發送電郵,如果沒有正確設定 Return-Path, 發出的郵件會使用系統的主機名稱,例如 [email protected], 以下是程式碼:在收到的郵件會看到寄件者是 [email protected], 但當按下回覆時,會使用系統的主機名稱,除了回覆地址名,也會有部郵 email server 拒收,會在 email server 的紀錄檔出現 “invalid sender MX”。原因是郵件的 Return-Path 並沒有使用 PHP 的 Return-Path 設定,郵件的 source 可以看到:Return-Path: Delivered-To: 要解決只要在 …