Apache 設定了 DirectoryIndex 後, Apache 會自動開啟目錄下的相應頁面, 例如: DirectoryIndex index.html index.htm index.php 如果沒有 DirectoryIndex 設定的頁面, 會顯示 403 Forbidden 或者顯示所有檔案。 用 YUM 安裝好 httpd 後, 如果網頁根目錄沒有 DirectoryIndex, 預設會出現一個 “Testing 123” 的頁面, …
WordPress 是目前最受歡迎的 CMS, 而針對 WordPress 的攻擊也很多, 本文會講述使用 Fail2ban 攔截對 WordPress 的暴力入侵。 如果未安裝 Fail2ban, 先安裝 Fail2ban, 可以參考本站另一篇文章: 攔截暴力入侵的 IP — Fail2Ban 安裝好 Fail2ban 後, 在 Fail2ban 的 filter 目錄建立 wordpress …
如果忘記了路由器的登入密碼, 可以嘗試將路由器 reset (這樣原來的路由器設定會全部刪除), 然後用路由器的預設密碼登入設定, 路由器出廠時會預設一組登入名稱及密碼, 以下是一些常用路由器的預設登入密碼。 路由器品版 登入 IP 登入名稱:密碼 Asus http://192.168.1.1 admin:admin Buffalo http://192.168.11.1 root: DD-WRT http://192.168.1.1 root:admin D-Link http://192.168.0.1 admin: Linksys http://192.168.1.1 admin:admin Netgear http://192.168.0.1 admin:password …
對於硬碟空間比較緊張的主機, 尤其是一些 VPS, 定時監測硬碟分割區使用量很有用。以下 Shell Script 可以檢查每個硬碟分割區的使用量, 如果達到預先設定的百份比, 會以電郵通知系統管理員。 先建立一支 Shell Script, 以下會用檔案名稱 check-disk.sh 作為例子, 加入以下內容 第 3 行設定系統管理員的電郵, 第 4 行設定發出通知的使用量百份比, 條改好後給 check-disk.sh 執行權限: # chmod +x check-disk.sh …
rsync 是一套 Linux 下的同步備份工具, 對日常備份十分有用。如果是從遠端主機進行備份, 而且備份的檔案容量很大, 有可能會將主機的頻寬全部吃掉, 那便會在備份時影響主機的正常使用。 rsync 內建已經支援限速的功能, 只要使用 –bwlimit 參數, 便可以限制傳送檔案時硬碟的 I/O 速度, 從而達到限速的效果。即使是本機備份, –bwlimit 也可以避免備份時系統的負載過高。 例如將 I/O 限制為 1000 KBytes, 語法是這樣: 備份到逹端主機的做法相同, 只要加上 –bwlimit=速度 便可以:
當系統的 Load Average 很高時, 可能面臨當機的風險, 遇到這個問題可以用 Shell Script 定時檢查系統的 Load Average, 當發現 Load Average 到達某一個設定好的數值時, 便自動執行一些指令, 例如重啟服務, kill process 或向系統管理員發出電郵通知等。 以下 Shell Script 會透過定時讀取 /proc/loadavg 的數值, 當發現 Load Average …
如果主機出現問題時, 可能負載過高或者服務當掉, 最理想的做法還是要找出原因, 很多時只要修改一些設定便可以。 早前遇到一位客戶, 他安裝在 VPS 的 Apache 會無故當掉, 間隔由幾小時到一天不等, 檢查後 Load Average 一點也不高, 當掉後只要重新啟動 Apache 便沒問題, 初部估計可能是 mpm_prefork 的設定問題。 由於修改後要觀察一段時間, 這段時間 Apache 也可能當掉, 便寫了這支 Shell Script, 會自動檢查 …
MySQL 會將 InnoDB 的資料表內的資料及索引全部儲存到共享空間, 即是所有 InnoDB 資料表的資料全都放到 ibdata1 檔案內。而 innodb_file_per_table 就可以設定每個資料表, 使用獨立表空間儲存資料, 即是每個資料表有屬於自己的 .ibd 檔案。 這樣做的好處是對日後的管理較容易, 在 MySQL 5.6.6 開始, innodb_file_per_table 預設是開啟, 而在 5.6.6 前的版本預設是關閉的, 要查詢目前 MySQL 的 innodb_file_per_table …
用 Liunx 的 rm 刪除檔案時, 如果檔案的容量很細小, 通常看不到變化; 但如果檔案的容量很大, 用 df 指令查看硬碟空間是沒有釋放, 但用 du 指令檢視目錄的使用量, 則沒有計算已刪除檔案。 出現這個問題的原因, 是已刪除的檔案被其他 process 開啟, 用 lsof 指令可以檢視正在開啟已刪除檔案的 process: # lsof | grep deleted 找到開啟已刪除檔案的 …
當發現 MySQL / MariaDB 伺服器的硬碟使用空間越來越多, 想找出那一個資料庫佔用最多空間時, 以前用 MyISAM 儲存引擎時, 可以直接用 du 指令查看資料庫目錄。但如果是用 InnoDB 的話, 用 du 指令就沒有用了。 要找出所有 MySQL 資料庫的空間大小, 可以用 MySQL 的 root 帳號登入 MySQL CLI 或 PHPMyAdmin, …