CentOS6.3のApacheをバージョンアップする


昨年、作ったVMware上の開発環境が若干古くなってきたので、更新したときのメモ。
環境構築をする際に追加したリポジトリ(EPEL, Remi, RPMForge)には、当時と同じApache 2.2.15までしかなかったので、CentALTというリポジトリを追加しました。CentOSのバージョンは、当時の6.2から6.3へアップグレードしています。
リンク:CentOS開発環境の構築(Apache, MySQL, PHP)

Yumリポジトリの追加とApacheのupdate

最後の方に、以下のような警告が表示されました。

Apache2.2.23のデフォルトのhttpd.confに関するお知らせですね。2.2.15と2.2.23のdiffをとってみたら、Timeoutが60から、120に変更されていたり、設定項目にprefork ITKが増えていたりしていました。設定ファイルのインクルード状況等によって変わってきますので、各自の判断で切り替える等しましょう。また、 /etc/httpd/conf.d/proxy_ajp.confという設定ファイルが作成されていました。影響を与えることがないか確認しておきましょう。
以上で完了です。

Apacheが再起動できない場合の対処法

元々のhttpd.confの状態や、インクルードしている設定ファイルの状態によって変わってくるので、一概には言えませんが、ほとんど初期設定のままの私の環境では、以下のようなエラーが表示され、Apacheの再起動ができませんでした。その場合の対処法をメモしておきます。
Apache2.2.15をインストールしたときに作られたhttpd.confをそのまま使って、今回新しく作られたhttpd.conf.rpmnewは使っていないという状況下です。

4〜7行目は、80のポートをすでに使用しているために出ているエラーです。うまくApacheをshutdownできていないようです。Apacheのプロセスを強制終了します。

警告は表示されますが、無事に起動できました。

警告の解消

重複による警告

3行目:proxy_ajp_moduleが2重定義されているために表示される警告です。新規に追加されたproxy_ajp.confと元々のhttpd.conf内に存在しています。解消法としては、以下のようなものが考えられます。

  1. proxy_ajp.confを削除する
  2. httpd.conf内のproxy_ajp_moduleの設定を削除する
  3. 新しく作られたhttpd.conf.rpmnewを使うようにする
    例: mv httpd.conf httpd.conf.2.2.15.default mv httpd.conf.rpmnew httpd.conf

今回は3. の手法をとりました。

ServerNameによる警告

3行目:ServerNameの設定がないために表示される警告です。httpd.confないしは、インクルードするファイルで、ServerNameを適宜設定しましょう。

ログ