Apache を 2.2系から 2.4系に上げて大ごとになった(^^;[UNIXやLinux]
(2012-05-23 19:21:45) by shinoda


< ページ移動: 1 2 >

自社サーバの話。

現在稼働中の Apache 2.2.19 が、mod_rewrite や mod_proxy を使えるように make してなかったので、再インストールするついでにバージョン上げとくか・・・と軽く考えたのが失敗だった(^^;

2.2系から、2.4系ってけっこう大幅に変更がかかってんのね・・・

インストール自体は今までの Apache 同様にすぐ終わったんだけど(ソースからコンパイルした)、httpd.conf とか、2.2系のものをそのまま使うのって無理なんじゃね。
まあ、そのへんは既に有名な話みたいで、「Apache 使い」なら知っていて当然のようなんだが、ここのところ Apache のセットアップ案件ってなかったし、別件で忙しくて、その手の話題を全然追っかけてなかったんだわ・・・と言い訳しとく(笑)
もっとも、大事なサーバの Apache なら、2.4系にするなんてことせんけどね。2.2系の最新の 2.2.22 にしてたわな。

新しく設定ファイルを全部書きなおすんなら問題ないんだけど、ただ、うちのサーバも、テスト用に色々 VirtualHost 立ててるし、https サーバも動いてるし、出来ればそのまま 2.2.19 で使ってた設定ファイル使いたいのよ。

ちゅーことで、以下のような対応をして、取り敢えず BASIC 認証かけてるサイト以外は CGI や PHP も含めて動くようになった。

・機能がモジュールに切りだされていて、ちゃんと LoadModule しないとエラーになるもの多数。
 例えば、unixd_module をロードしておかないと Invalid command 'User' になるとか、mime_module をロードしておかないと、Invalid command 'AddHandler' になるとか。
 結局、うちの設定だと、以下のようなモジュールのロードが必要だった。

LoadModule unixd_module modules/mod_unixd.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
LoadModule mime_module modules/mod_mime.so
LoadModule alias_module modules/mod_alias.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule cgid_module modules/mod_cgid.so

・Ignoring deprecated use of DefaultType なエラーになるので、httpd.conf から DefaultType text/plain の行は削除。

・NameVirtualHost has no effect and will be removed in the next release なエラーが出るので、extra/httpd-vhosts.conf から該当行を削除。

・extra/httpd-ssl.conf の SSLMutex 行は、Mutex default ssl-cache に変更。

まあ、こう書くと簡単なんだけど、実際には Invalid command になったディレクティブがどのモジュールに関係しているかとか、なかなかそのものズバリの資料がなくて苦労したわ。

後は、BASIC 認証のためのアクセスコントロール設定の記述が、

< ページ移動: 1 2 >


コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8