気になる話題

Apache2.4.60にしたらindex.phpがダウンロードされるように!解決方法は?

投稿日:

PHPでシステムを構築しているWEBサーバを更新することになりました。

それに伴い

PHPのバージョンを7.4から8.3に

Apacheも最新にすることになりました。

7月1日まではPHP8.3とApache2.4.59を使用してシステムの修正と動作確認を行っていましたが、7月1日に脆弱性対応版のApache2.4.60が公開されたということでこちらを使用することになりました。

httpd.confの内容も全く変わっておらず、同じ個所を修正すれば、問題なく動くものと思っていました。

目次

システムにアクセスするとindex.phpがダウンロードされる?

テスト環境の設定も終わって、localhostからシステムにアクセスしたところ

ブラウザからindex.phpがダウンロードされるようになっていました。

設定が間違っているのかと思い、httpd.confや.htaccessなどを見なおしましたが、特におかしいところはなさそうです。

phpinfo.phpを作成し起動してみたところ、問題なく表示されました。

ついでにindex.htmlも試してみたところ、当然問題ありませんでした。

index.phpを指定すると起動できる

phpinfo.phpが問題なかったのでURLにindex.phpを指定して起動してみました。

すると問題なくTOPページが表示されます。

ますます原因がわからなくなりました。

とりあえず起動はしたので、他の設定自体は間違っていないようです。

解決方法はAddtype→AddHndler

原因についてですが、httpd.confで設定した。

Apache2.4.59までは、下記の設定で動いていました。

AddType application/x-httpd-php .php

ただApache2.4.60では

AddtypeではなくAddHandlerにしないとindex.phpがダウンロードされてしまうようでした。

ということで

AddType application/x-httpd-php .php

AddHandler application/x-httpd-php .php

に記述を変更。

と思ったんですが、AddtypeとAddHndlerについて調べてみると、

拡張子にphpを含んでいれば(aaa.php.bbbなど)phpとしてマッチされるということで

PHPでは推奨していないみたいです。

で最終的には以下で設定しました。

<FilesMatch \.php$>

SetHandler application/x-httpd-php

</FilesMatch>

この設定でApacheを再始動したところ

正常にシステムが起動できました!

まとめ

今回の件についてですが、httpd.confの記述については、これまで何年も同じ内容で問題なかったので、全く変更したことはありませんでした。

結局問題解決に1日かかってしまいました。

2.4.59から2.4.60というマイナーバージョンの変更でこんなに苦労するとは・・・

PHPについても7.4から8.3に変更で色々修正箇所があり、結構時間がかかりました。

まあとりあえず解決!ということで原因がわかってよかったです。

追記

apache2.4.60のバグでした。

下記のページに記述がありました。

https://httpd.apache.org/security/vulnerabilities_24.html

Apache HTTP Server 2.4.60 のコアの回帰により、ハンドラーの従来のコンテンツ タイプ ベースの構成の一部が無視されます。ファイルが間接的に要求される状況によっては、「AddType」や同様の構成によって、ローカル コンテンツのソース コードが公開されることがあります。たとえば、PHP スクリプトが解釈されるのではなく、提供される場合があります。

まさにソースコードが公開される=index.phpがダウンロードされるということですね。

というわけで2.4.61をインストールしましょう。

-気になる話題

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

菅首相が忘年会をした銀座のステーキ店どこ?参加者は?

菅義偉首相が、銀座にある高級ステーキ店で忘年会をしたということでニュースになっていますね。 しかも忘年会を行った日というのが2020年12月14日という「Go To トラベル」を全国一斉に一時停止する …

no image

ソフトバンク新プラン「LINEMO」au「povo」は2480円!申し込み方法は?「ahamo」はどうなる?

ソフトバンクの新プランについてですが、名称が「SoftBank on LINE」から「LINEMO」に変更になることが発表されました。 料金もau「povo」に対抗して2480円に変更になるそうです。 …

no image

ドコモとアマゾンが連携!「ギガホ」「ギガライト」利用者はアマゾンプライム1年間無料!12月1日から

NTTドコモが、アマゾンとの提携を発表しました。 「ギガホ」「ギガライト」の契約者は、年額4900円または月額500円の 「Amazonプライム」の会員資格が1年間付与されるそうです。 目次 受付日時 …

no image

銀魂セミファイナルが無料で見れる動画配信サービスは?独占配信?

2021年1月公開の映画「銀魂 THE FINAL」が1週ですが「鬼滅の刃」を抜いて週間トップとなりました。 その映画「銀魂 THE FINAL」の前日譚になる「銀魂 THE SEMI-FINAL」が …

no image

iPhone12miniにするかXperia5Ⅱにするか迷ったので比較してみた

iPhone 12 miniの予約前日になって、やっとドコモが2020-2021冬春モデルを発表しました。 以前はずっとXperiaを使用していましたが、2年ちょっと前にiPhoneも使ってみようとい …