隱藏 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上面的 …

CentOS 7 安裝 PHP-FPM 及使用 mod_mpm_event

Apache 配置 PHP 一般會預設用 mod_php 的方法安裝, 安裝 Nginx 便會使用 PHP-FPM。但如果在 Apache 不想使用預設的 prefork 作為 MPM (通常基於效能因素), 想使用 worker 或 event, 便需要使用 PHP-FPM 的方法安裝 PHP。本文會示範在 CentOS 7 安裝 Apache 及 PHP-FPM …

cURL 查詢主機回應時間

測試主機的回應時間很多時都會用到, 而 cURL 可以自訂輸出的格式, 以取得主機的回應時間。首先建立儲存 cURL 格式的樣案: $ vi curl-format.txt加入以下內容: 然後執行以下指令測試主機的回應時間: 然後會輸出類似以下的結果: 上面的 cURL 指令會測試 https://www.google.com/ 的回應時間, 將網址換成要測試的網址即可。

touch – 修改檔案時間戳記及建立新檔

touch 指令可以建立空白的新檔案, 改變現有檔案及目錄的戳記, 以下是 touch 指令的用法。 linux-touch-command在介紹 touch 指令的用法前, 首先講一下 Linux 的檔案的 3 種時間戳記:atime (access time) -> 檔案最後被開啟、讀取或存取的時間。 mtime (modify time) -> 檔案最後被修改的時間。 ctime (change time) -> 檔案的屬性最後被修改的時間, 包括權限及 owner.要檢視檔案詳細資訊, …

crontab 開機自動執行指令

一般上設定開機自動執行指令, 可以編輯 /etc/rc.local 檔案, 而除了編輯 /etc/rc.local 外, 也可以用 crontab 完成。crontab 是十分好用的排程自動執行工具, 它指定執行時間間隔十分靈活, 其中一個做法是用 @reboot 參數, 設定成每次開機自動執行。首先開啟 crontab: # crontab -e加入以下一行: 以上一行設定開機後等待 1 分鐘 (60 秒), 自動執行 /root/my-script.sh, 將上面的 /root/my-script.sh …