$ apachectl status
でステータスが表示されなかったので、調査しました。
【環境】
CentOS 6.2 x86_64
Apache 2.2.15
The ‘links’ package is required for this functionality.
apachectl スクリプトの中身を解析してみると、/usr/bin/links というコマンドがないため発生しているエラーのようです。/usr/bin/links とは何かを調べてみると elinks というテキストブラウザのことでした。
elinks をインストールします。
$ yum -y install elinks
インストール後再度
$ apachectl status
The requested URL /server-status was not found on this server.
やはり、上記エラーメッセージが表示されステータスは表示されません。
また調べてみると、httpd.conf の中に
#<Location /server-status>; # SetHandler server-status # Order deny,allow # Deny from all # Allow from .example.com #</Location>;
という記述が、コメントアウトされていました。 ということで、何も考えずにコメントを外し,
$ apachectl status
You don’t have permission to access /server-status on this server.
まだ、うまくいきません。
エラー文言も変わっていたので前回の修正部分を再度見直しました。 “.example.com” これは、明らかに変なので、localhost に修正しました。
<Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from localhost </Location>
$ apachectl status Apache Server Status for localhost Server Version: Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 Server Built: Dec 8 2011 18:10:49 -------------------------------------------------------------------------- Current Time: Monday, 29-Oct-2012 12:13:43 JST Restart Time: Monday, 29-Oct-2012 12:13:36 JST Parent Server Generation: 5 Server uptime: 6 seconds 1 requests currently being processed, 7 idle workers W_______........................................................ ................................................................ ................................................................ ................................................................ Scoreboard Key: "_" Waiting for Connection, "S" Starting up, "R" Reading Request, "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup, "C" Closing connection, "L" Logging, "G" Gracefully finishing, "I" Idle cleanup of worker, "." Open slot with no current process
正しくステータスが表示されたようです。