自社サーバの話。
現在稼働中の 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.soLoadModule access_compat_module modules/mod_access_compat.soLoadModule authz_core_module modules/mod_authz_core.soLoadModule userdir_module modules/mod_userdir.soLoadModule log_config_module modules/mod_log_config.soLoadModule dir_module modules/mod_dir.soLoadModule actions_module modules/mod_actions.soLoadModule mime_module modules/mod_mime.soLoadModule alias_module modules/mod_alias.soLoadModule ssl_module modules/mod_ssl.soLoadModule socache_shmcb_module modules/mod_socache_shmcb.soLoadModule setenvif_module modules/mod_setenvif.soLoadModule 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 認証のためのアクセスコントロール設定の記述が、
Order allow,denyAllow from all
であれば、
Require all granted
のように修正しないといかんらしい。
いっぱいあるよ、そういう記述。全部直すのか。やれやれ。(ま、このサーバで公開しているのは、ごく内輪のメンバー向けサイトかテストサイトだけなので、気楽に修正していくけどねぇ~)
電気ウナギ的○○
About Backコメント(0)
電気ウナギ的○○