Category: Apache

個別 VirtualHost 或目錄停用 PHP

在 Linux 安裝 Apache 及 PHP 後, 可以按需要設定個別 VirtualHost 或目錄停用 VirtualHost, 例如一個只用作儲存上載圖片的目錄, 不需要執行 PHP 的權限, 以下的設定方法。VirtualHost 停用 PHP: 首先開啟儲存 VirtualHost 的檔案, RHEL 及 CentOS 是 /etc/httpd/conf/httpd.conf, 而 Debian 及 Ubuntu …

Apache Log 儲存到 MySQL

Apache 預設會將 Log 記錄檔儲存到文字檔,一般會在 logs/ 目錄,或者 /var/log/httpd/ 目錄。將 Apache Log 儲存到 MySQL 除了可以方便過濾記錄檔內資訊外,也可以實現多個 Apache Log 集中管理。以前試過自己寫 Shell Script 將 Log 插入 MySQL,但原來已經有 Apache Module 可以做這件事,十分方便。以下是 Apache 設定將 Log 儲存到 MySQL …

Apache 設定忽略檔案字母大小寫

在 Unix Like 的作業系統, 檔案及目錄名稱的英文字母大小寫有分別, 而在 Windows 內則沒有分別, 所以有些網頁放在 Windows 主機上可以正常瀏覽, 而放到 Linux 上便會出現連結失效, 或者圖片, CSS, Javascript 不能載入等問題。例如這樣一個超連結:〈a href=’Filename.htm’〉links〈/a〉在 Windows 下, 只要檔案符合連結內的字母, 不會區分大小寫, 所以如果檔案名稱是 “filename.htm” 可以正確瀏覽, 而在 Linux 下相同情況便會出現連結失效。如果未能將網頁內容一一修正, 可以設定 …

Apache 動態管理 VirtualHost

VirtualHost 可以讓多個網站在一台主機上運行, 一般上每個 VirtualHost 都需要加入一段 “ “, 然後設定 ServerName, ServerAlias 及 DocumentRoot, 例如有兩個網址, 分別是 www.mydomain.com 及 blog.mydomain.com, 在 httpd.conf 部份要加入類似這樣的設定:另一種方法是動態設定 VirtualHost, 以上面的例子, 可以用一段 設定。首先開啟 httpd.conf: # vi /etc/httpd/conf/httpd.conf 將上面兩個 VirtualHost …

Apache 設定 http to https 轉址

當網站從 http 轉換到 https 後,想自動將前往 http 的訪客自動轉址到 https,可以通過修改 .htaccess 設定mod_rewrite,或者直接編譯 httpd.conf 實現,以下是兩種方法的設定步驟。.htaccess 例如我想將所有訪客重新導向 https 相應的頁面,只要在 .htaccess 設定即可:修改後便會生效,不用重新啟動 Apache.httpd.conf 在 httpd.conf 找到 http 的相關 virtualhost, 在段落最後加上以下一行: Redirect permanent / https://www.phpini.com 修改後需要重新啟動 …

Apache 開啟 .htaccess 設定

.htaccess 檔案是目錄層面的設定檔, 可以對目錄變更 Apache 的設定, 例如更改 DocumentIndex, 轉址及密碼保護等在 httpd.conf 的設定。要使用 .htaccess 檔案, 需要在 Apache 的設定檔 (httpd.conf 或 apache2.conf) 開啟使用, 否則 Apache 是不會處理 .htaccess 的設定的。開啟 .htaccess, 首先開檔 Apache 的設定檔Redhat, CentOS 及 …

RHEL / CentOS 7 安裝 Apache mod_ssl

以下會記錄在 RHEL 及 CentOS 7 安裝及設定 Apache mod_ssl 的的方法, 以下假設已經使用 YUM 安裝好 Apache, 並會示範安裝自簽憑證及 CA 發行感證的步驟。首先用 YUM 安裝 mod_ssl: # yum install mod_ssl 安裝好 mod_ssl 後, 系統會自動建立 Apache 的 ssl …

Apache 限制 IP 存取

Apache 內建了限制 IP 存取的功能, 可以設定成禁止某些 IP 不能存問, 或者只允許特定 IP 存取, 以下會以 Apache 2.4 為例, 設定 Apache 的存取限制。以下假設 /var/www/html/members 目錄, 只允許特定 IP (192.168.1.100 及 192.168.1.101) 存取, 可以透過修改 httpd.conf 或 .htaccess, 以下會以修改 …

找出存取 Apache 最多的 IP 地址

一台開放的網頁伺服器內, 除了正常的訪問外, 也包括其他像 Search Engine Bots 及惡意攻擊的連接, 這些連接資料都儲存在 Apache 的紀錄檔內。要找出存取 Apache 最多的 IP 地址, 可以透過 awk, sort, uniq 及 head 指令完成。Apache 預設的紀錄檔位置是:/var/log/httpd/access_log /var/log/apache2/access_log以下指令會找出紀錄檔內, 連線數量最多的 10 個 IP:如果不是要找出最高連線數的 10 個 IP, …