Tag: Apache

PHP 開啟及關閉錯誤訊息輸出

要開啟或關閉 PHP 的錯誤訊息有幾種方法, 分別是在 php.ini 內設定, httpd.conf 及 .htaccess 設定, 或者在 PHP 程式內設定, 以下是各種方法的設定方法。1. php.ini在 php.ini 一般預設路徑在 /etc/php.ini, 在 php.ini 內找到 display_errors, 設定為 On 是開啟錯誤信息, Off 是關閉輸出:另一個可以設定的選項是 error_reporting, 它可以設定輸出那些錯誤提示, 常用的設定有:修改 …

Apache 限制上載容量大小

想要透過 Apache 實現上載限制, 可以通過限制 HTTP 請求的大小來實現, 並根據需要對個別目錄、檔案或位置進行限制。例如要設定 /var/www/html/uploads 目錄的上載限制為 5MB, 可以在 httpd.conf 或 .htaccess 加入以下設定, 以下是 httpd.conf 的預設位置:RHEL / CentOS: # vi /etc/httpd/conf/httpd.conf Debian / Ubuntu: # vi /etc/apache2/apache2.conf 在檔案最後加入以下內容:如果是編輯 …

RHEL / CentOS 安裝 Certbot 取得及更新 Let’s Encrypt 憑證

Let’s Encrypt 推出免費 SSL 憑證,讓想使用 SSL 的網站節省不少成本,而且使用 Let’s Encrypt 提供的客戶端申請及 renew 憑證,比起在網上購買更加方便。雖然 Let’s Encrypt 的憑證每次只可以申請 3 個月,但可以使用 crontab 自動 renew 憑證,使用上也是很方便。以下介紹在 RHEL 及 CentOS 7 安裝 Let’s Encrypt 客戶端 Certbot,及使用 …

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 …

Apache 編譯錯誤 – cannot install ‘libaprutil-1.la’ to a directory

今天編譯安裝 Apache, Apache 的預設安裝目錄是 /usr/local/apache2, 但我將它安裝到 /usr/local/apache, 但在編譯時出現以下錯誤:原因可能是之前編譯 Apache 時, 有一些紀錄是安裝到 /usr/local/apache2 所致, 解決方法是有兩個:1. 執行 make clean 指令, 再重新編譯。2. 將原始碼的目錄刪除, 再重新解壓 Apache 的源始碼, 再進行編譯安裝即可。

解決 Ubuntu Apache 找不到 ServerName

用 Ubuntu 安裝好 Apache 後,啟動 Apache 時會出現以下報錯:apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message出現錯誤的原因是 Apache 不能抓取系統的 …

Apache log 的 internal dummy connection

當開啟 Apache 的 access_log 查看裡面的內容,查詢記錄內簡中會看到一堆 “internal dummy connection” 的記錄: ::1 – – “OPTIONS * HTTP/1.0” 200 – “-” “Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.4.16 (internal dummy connection)” 根據 Apache 官方的說明, 這是 …

Apache httpd 設定預設首頁

Apache 設定了 DirectoryIndex 後, Apache 會自動開啟目錄下的相應頁面, 例如:DirectoryIndex index.html index.htm index.php如果沒有 DirectoryIndex 設定的頁面, 會顯示 403 Forbidden 或者顯示所有檔案。用 YUM 安裝好 httpd 後, 如果網頁根目錄沒有 DirectoryIndex, 預設會出現一個 “Testing 123” 的頁面, 這個設定方法很實用, 因為可以在 VirtualHost 沒有 …

Fail2ban 攔截暴力入侵 WordPress

WordPress 是目前最受歡迎的 CMS, 而針對 WordPress 的攻擊也很多, 本文會講述使用 Fail2ban 攔截對 WordPress 的暴力入侵。如果未安裝 Fail2ban, 先安裝 Fail2ban, 可以參考本站另一篇文章:攔截暴力入侵的 IP — Fail2Ban安裝好 Fail2ban 後, 在 Fail2ban 的 filter 目錄建立 wordpress 的 filter, 以下會以 /etc/fail2ban/filter.d/wordpress.conf …

Shell Script – 發現 Load Average 高自動執行指令

當系統的 Load Average 很高時, 可能面臨當機的風險, 遇到這個問題可以用 Shell Script 定時檢查系統的 Load Average, 當發現 Load Average 到達某一個設定好的數值時, 便自動執行一些指令, 例如重啟服務, kill process 或向系統管理員發出電郵通知等。以下 Shell Script 會透過定時讀取 /proc/loadavg 的數值, 當發現 Load Average 高時 (以下設定為 …