在 CentOS 7 下安裝 Apache 2.4 的 mod_watch 模組供 Cacti 統計 (2018.03.27更新)

因為鸚鵡習慣使用 RPM 來管理 server 上的套件,所以都會盡可能將 source 打包成 rpm 檔案後在安裝,方便日後的版本管理或移除。所以這篇教學主要是打包成 rpm 檔案再進行安裝

環境:

  • CentOS 7 (7.2.1511 x86_64)
  • Apache 2.4.6

安裝所需套件:

  1. rpmbuild 及依賴的相關套件
  2. 編譯環境
  3. Apache 的開發環境
  4. 檔案下載工具

 

所需檔案:

  1. mod_watch: 義守大學載點 或 FileWatcher
  2. RPM的 spec 檔案:httpd-mod_watch-rpmbuild.tar
    檔案取自 GitHub,鸚鵡針對環境稍做修改,並加入一個 patch 檔案

開始進行操作:

  1. 建立 rpmbuild 的工作目錄
  2. 下載 mod_watch: 這邊使用義守大學的載點,檔案遺失可以自行更換其他載點
  3. 下載 鸚鵡修改後 的 spec 檔案 及 所需的 patch 檔案
  4. 將 httpd-mod_watch-rpmbuild.tar.gz 解壓縮到 ~/rpmbuild/SOURCE/ 裡面
  5. 打包成 rpm檔案,需要 src.rpm 檔案的話請將參數 -bb 改成 -ba
  6. 完成後檔案會放在 home 目錄下的 rpmbuild/RPMS/x86_64/ 資料夾裡面
  7. 最後自行使用 rpm 指令安裝即可

安裝完成後,可以開啟 /etc/httpd/conf.d/99_mod_watch.conf 進行設定
因為鸚鵡安裝 mod_watch 主要是要搭配 cacti 使用
所以設定檔就只限制 server 本機瀏覽

 

另外,上面有提到鸚鵡有增加一個 patch
主要是不讓 mod_watch 的相關資訊出現在 Apache 輸出的 Server header 裡
若不想隱藏,可以在 rpmbuild 指令前自行註解 httpd-mod_watch.spec 檔案的第55行

 

以上是鸚鵡的安裝方式


2018.03.27 更新
檔案 httpd-mod_watch-rpmbuild.tar.gz 增加一個 patch 檔案
修正 mod_watch_cacti.pl 請求時可能得到 HTTP 400 Bed Request 的問題