Sunny.st,

日記とかばかりになった サーバ屋のはしくれのブログ。

apache

apacheの起動有無を監視するスクリプト

apacheが起動しているかどうかを監視するスクリプト!


▼内容
psコマンドで'"httpd"を抽出

存在した場合 -> なにもしない

存在しなかった場合 -> メール送信


▼スクリプト内容
# vi /root/httpd_check.sh

---------------------------------------------------
#!/bin/sh

PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin
export PATH

FROM=watch@sunny.com
TO=hoge@sunny.com
PROCESS=`ps axco command | grep http | sort | uniq`

[ "x${PROCESS}" = "xhttpd" ] && exit

sendmail -t <<EOF
From: ${FROM}
To: ${TO}
Subject: Apache Warning

Apache died

EOF
---------------------------------------------------

↓作成後に実行権を忘れずに
# chmod 700 /root/httpd_check.sh

これをcronで30分ごとなりで実行させる!


例)
# crontab -e
30 * * * * /root/httpd_check.sh >/dev/null 2>&1
を追加

ちなみにテストコマンド[]内でわざと"x"をつけているのは
"="の左側が空白になってしまうと
"[: =: unary operator expected"
というエラーを吐いてしまうのを回避するためどぇす。

あとこれは自分のサーバ内で監視しているので
サーバ自体が落ちてしまうとまったく検知できませんw


ServerAlias

いまさらながらapacheにて
サーバネームのalias

たとえばDNSレコードが
sunny.com  A  192.168.11.2
taiyo.com   A  192.168.11.2
と設定されており

で192.168.11.2にはsunny.comというvirtualhostがある。

そんときにapacheのconf内に

Servename sunny.com
AerverAlias  taiyo.com

と記述することでtaiyo.comはsunny.comのAliasとなり
taiyo.comでアクセスしてきたものはsunny.comの内容が適用される

Basic認証の検証

Basic認証のかけ方
1.ディレクトリに.htaccessファイルを置く
2.httpd.confのセクションに書き込む
(たぶん)

があるが両方を同時に使用した場合
果たしてどちらが有効になるか??

■対象ディレクトリ
/usr/local/apache/htdocs
※DocumetRoot

■httpd.confのセクションの記述
AuthUserFile  /usr/local/apache/.htpasswd
AuthGroupFile /dev/null
AuthName      "test01"
AuthType       Basic
Require valid-user

■/usr/local/apache/htdocsの.htaccessの記述
AuthUserFile  /usr/local/apache/.htpasswd2
AuthGroupFile /dev/null
AuthName      "TEST02"
AuthType      Basic
require valid-user

というふうに.htpasswdファイルも変えておく
↓中身はこんな感じ
=========
# cat /usr/local/apache/.htpasswd
test01:********
# cat /usr/local/apache/.htpasswd2
test02:********
=========

設置したらhttpd.conf内のセクションで
AllowOverride ALL

※AllowOverrride・・・
.htaccessを有効にするとか前の(上の?)
ディレクトリで設定された.htaccessの
内容を上書きするか??の設定(と思う)

に変更してapacheを再起動!GO!


結果は・・・


.htaccessの内容が有効になりました☆


ひょっとしたらどっちの内容も有効になって
2回Basic認証がかかるのか??なんて思ったけど
そうじゃなかったようだ。


なぜ??とりあえず原因については
別途検証ということで。

httpd.confが下から読まれていることとか
関係あるのかな??


ちなみに、同じ設定で
・htdocsの.htaccessは削除
・htdocs以下に新規ディレクトリ作成
・新規ディレクトリにて.htaccess設置
をしたところ
htdocsディレクトリと新規ディレクトリで
別々のbasic認証がかかりました☆

AllowOnerride ALL
だからっすね(たぶん)
記事検索
パシフィカン
プロ野球データFreak
パリーグ順位表
Categories
アーカイブ
わたくし

てぃーだ§(TiidaS)

  • ライブドアブログ