Category: Linux

BIND DNS Server 建立 SPF Record

DNS Server 最常見的設定是 A Record, MX Record 及 CNAME Record 等, 而隨了以上的記錄, 另一個經常會用到的是 TXT Record, 要設定 SPF (Sender Policy Framework) Record 也是在 TXT Record 裡面定義。SPF 主要的用途, 是定義那一台 SMTP 發出的電郵, 是屬於網域使用者發出, …

Nginx 開啟 gzip 壓縮設定

gzip 是一種壓縮工具, Web Server 透過 gzip 將數據壓縮, 再發送給使用者的瀏覽器解壓。這樣所需傳送的數據便會減少, 提昇網站的速度。以下是在 Nginx 開啟 gzip 壓縮的方法。在開啟 gzip 前, 可以先用 curl 檢視一下目前 Nginx 是否有開啟 gzip, 輸入以下指令: /linux/curl $ curl -H “Accept-Encoding: gzip” -I http://localhost/test.html …

Nginx 設定 WordPress 固定網址 Permalinks

WordPress 可以自行設定固定網址 (Permalinks) , 以可讀性較高的格式呈現, 如果沒有設定, 預設會使用類似 ?p=123 結尾的網址。一般上如果在 Apache 上安裝 WordPress, WordPress 內建的 .htaccess 會使用 mod_rewrite 自動進行對應。但 Nginx 並不支援 mod_rewrite, 需要編輯 Nginx 的設定檔。開啟網站的 Nginx 設定檔, 以下假設設定檔在 /etc/nginx/conf.d/opencli.com.conf: $ sudo …

Ubuntu 列出及查詢已安裝的套件

安裝、更新及管理套件是系統管理員的日常維護工作,以下文章會示範在 Ubuntu 下,列出所有已安裝套件,及查詢套件是否有安裝的方法。aptapt 是指令模式的套件管理工具, 要列出所有已安裝的套件: $ sudo apt list –installed由於安裝的套件有很多, 最好使用 pipe 將結果輸出到 head 或 less 指令顯示: $ sudo apt list –installed | head或 $ sudo apt list –installed | …

隱藏 HTTP 檔頭內 Apache, Nginx, PHP 的版本

在預設的情況下, HTTP 的 Header 會包含了 Web Server 及 PHP 的版本, 基於安全理由, 可以用以下方法隱藏 Apache, Nginx 及 PHP 的版本資訊。Apache開啟 Apache 的 httpd.conf, CentOS 預設位置是 /etc/httpd/conf/httpd.conf: # vi /etc/httpd/conf/httpd.conf找到 “ServerTokens” 的一行, 如果沒有這一行便直接加入到最後面, 預設值是 …

SSH 遠端主機免密碼執行指令

系統管理員很多時也有多台伺服器需要管理, 以下會示範如何透過 SSH 在遠端主機執行指令, 並不用輸入密碼。本機設定首先在本機用 ssh-keygen 建立 private key 及 public key, 對於 ssh-keygen 的提問, 直接按 Enter 鍵即可: $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in …

Shell Script 檢查檔案是否有指定字串

在 Linux CLI 下可以用 grep 指令, 將檔案包含有指定字串的行印出, 或者配合 -c 參數直接印出匹配的行數, 例如: $ grep -c string filename.txt如果在 Shell Script 要檢查檔案是否有指定字串, 當然可以檢查以上指令輸出的數值, 但另一個更方便的方法, 是用 grep 的 -q 參數, 具體寫法是這樣: grep 指令當加上 …

Nginx 設定反向代理 Reverse Proxy

什麼是反向代理 Reverse Proxy?反向代理是在真實伺服器與客戶端間的代理伺服器, 當使用者透過客戶端 (瀏覽器) 訪問網站時, 反向代理伺服器會將請求轉送到背後的真實伺服器, 再將網站的結果傳送給客戶端。真實伺服器可能是本機的其他 Port, 也可能在內部網路, 或者在其他外部網路, 這樣使用者不會知道真實的伺服器在那裡, 可以隱藏真正伺服器的位置, 而且也可以實現 load balancing.安裝 Nginx 可以用 yum 或 apt-get 安裝: $ sudo yum install nginx或 $ sudo apt …

Nginx 設定目錄密碼保護

在 Apache 要設定密碼保護目錄, 可以用 .htaccess 及 .htpasswd 實現, 但在 Nginx 不支援 .htaccess..以下是 Nginx 設定密碼保護目錄的方法。1. 建立使用者名稱及密碼首先需要建立一個密碼檔, 裡面包含了使用者名稱, 以及加密了的密碼, 如果系統有安裝 Apache, 可以用以下語法建立密碼檔: # htpasswd -c /path/to/file/.htpasswd username然後跟著指示設定密碼即可。但如果沒有 htpasswd 指令可以使用, 那便要手動建立密碼檔, 但也是很簡單的。密碼檔的格式如下: username:encrypted-password:comment上面的 …