httpヘッダ情報からPHPの情報を隠す

PHPはデフォルトの php.ini の設定のまま使用すると、PHPを使用しているという情報が、httpのヘッダ情報に設定されてしまいます。 私もhttpヘッダ情報のチェックをしていて気づき、対策を施しました。 デフォルトの php.ini の設定のままだと、例えば次のようなヘッダ情報になっています。「X-Powered-By: PHP/5.3.9」との情報が確認できると思います。

[root ~]# curl -I http://www.goofoo.jp/ HTTP/1.1 200 OK Date: Tue, 31 Jan 2012 01:31:38 GMT Server: Apache X-Powered-By: PHP/5.3.9 (略)

これが設定されないようにするには、基本的な方法としては php.ini の設定を、次のように変更します。

[root ~]# vim /etc/php.ini expose_php = On ↓ expose_php = Off

SELinuxを無効にする

Linuxのカーネルアクセス保護のためのモジュールであるSELinuxを無効化するための方法をまとめておきます。 なお、ここでは CentOS 5.7 での実行結果に基づいています。

1.SELinuxの無効化

有効である場合には、次のように「Enforcing」と表示されます。

[root ~]# getenforce Enforcing

次のコマンド実行でSELinuxを無効化します。

[root ~]# setenforce 0

無効化の結果を確認します。無効化されていれば、次のように「Permissive」と表示されます。

[root ~]# getenforce Permissive 2.SELinuxの恒久的無効化

再起動した際にも継続して恒久的にSELinuxを無効化するために、次のように /etc/sysconfig/selinux を編集します。

[root ~]# vim /etc/sysconfig/selinux SELINUX=enforcing ↓ SELINUX=disabled

ServersMan@VPSで物理メモリキャッシュが実装された

ServersMan@VPSのメンテナンスが行われました。 目的は、ディスクI/Oパフォーマンスの改善とのことでしたが、メンテナンス後の施策結果を確認してみると、ディスクI/Oを減らすために、物理メモリキャッシュを導入したようです。 次のように、Mem:cached = 227632 バイトが示す通りです。

[root@vps2 ~]# free total used free shared buffers cached Mem: 2097152 935048 1162104 0 0 227632 -/+ buffers/cache: 707416 1389736 Swap: 0 0 0

トータルの使用可能メモリ容量は変わりませんが、ディスクI/Oのキャッシュが行われることで、全体パフォーマンスの改善・向上が期待できそうです。 ちなみにメンテナンス前は次のような数値でした。

[root@vps2 ~]# free total used free shared buffers cached Mem: 2097152 1046972 1050180 0 0 0 -/+ buffers/cache: 1046972 1050180 Swap: 0 続きを読む »

MuninでのMySQL InnoDB監視でMySQL InnoDB free tablespace に関する「CRITICAL state」への対応

MuninでMySQLのInnoDBを監視していたところ、次のような「CRITICAL state」を知らせるメッセージが表示されました。

munin_innodbでのCRITICAL stateメッセージ

こちらのサイト『MUNIN Plugin WARN: MySQL InnoDB free tablespace』の情報によりますと、どうもMuninのバグのようです。

/etc/munin/plugins/mysql_innodb (実際はこのシンボリックリンク先) を編集してしまう方法も提案されていますが、innodb_file_per_table = OFF で使用しているのであれば、監視は不要で意味がないということでもあります。

ちなみに、innodb_file_per_table = ON にするとテーブル毎にファイルを作成します。

当サイトの環境でも次の通り、innodb_file_per_table = OFF で使用しています。

mysql> show variables like ‘innodb_file_per_table’; +———————–+——-+ | Variable_name | Value | +———————–+——-+ | innodb_file_per_table | OFF | +———————–+——-+

結局、私の対応としては、mysql_innodbプラグインへのシンボリックリンクを削除して、監視しないことにしました。

[root ~]# rm -f /etc/munin/plugins/mysql_innodb 続きを読む »

Muninの「[FATAL] There is nothing to do here, since there are no nodes with any plugins.」への対応

Muninを使い始めて、数日経った頃に次のようなエラーメッセージが管理者宛てのメールで送信されてきました。

[FATAL] There is nothing to do here, since there are no nodes with any plugins. Please refer to http://munin-monitoring.org/wiki/FAQ_no_graphs at /usr/share/munin/munin-html line 38

参照先として案内されている『FAQ_no_graphs – Munin – Trac』の記述を元に、次のコマンドを実行し、munin-node を再起動して、様子を見て見ることにしました。

[root ~]# munin-node-configure –shell | sh -x # The following plugins caused errors: # diskstats: # Non-zero exit during autoconf (1) # 続きを読む »