気になる話題

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

5Gギガホプレミア開始日に5Gギガライトから変更したら翌月からになった

3月までスマホで5GギガライトとD3WiFi(100G)というモバイルWiFiを使っていたんですが、最近は在宅ワークが多く外でPCを使う機会も減りました。 そんな中、ドコモから5Gギガホプレミアという …

no image

2020-21チャンピオンズリーグ決勝トーナメントがWOWOWで独占生中継!放送予定は?

スポーツ動画配信サービスの「DAZN(ダゾーン)」が、2020-21の欧州チャンピオンズリーグ(CL)の日本での放映権を手放したため、「UEFA.tv」を見るしかありませんでした。 と思っていたところ …

no image

「スラムダンク」がアニメ映画化!内容はアニメの続き?声優はどうなる?

スラムダンク作者の井上雄彦先生が、2021年1月7日にTwitterで「【スラムダンク】映画になります!」とツイートしました。 【スラムダンク】映画になります!#slamdunkmovie pic.t …

no image

Excelを使用して透過PNG画像を作る方法

通常、透過PNG画像を作成する場合には、有料無料を問わずペイントソフト等を使用すると思います。 ただし、1から複雑な画像を作るのではなく、単に透過させたいだけであればExcelで簡単にできます。 透過 …

no image

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

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