気になる話題

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

子供が高校卒業したので、自動車保険の年齢制限を18歳以上に変更

今年、子供が高校を卒業し免許を取るということで、車を買ってやることはしませんが、自分の車を運転できるように任意保険の見直しを行いました。 ちょうど4月で満期ということで、今まで入っていた「三井ダイレク …

若八幡宮(やくはちまんぐう)で厄払いをしてきた!混雑状況も

1月3日に朝に福岡の厄払いで有名な若八幡宮(やくはちまんぐう)で厄払いをしてきました。 ここ2、3年は、混雑するであろう3が日は避けて平日やちょっと後に行っていたんですが、今回は、暇だったということも …

no image

iOS14でドコモメールが送信できないときの対応方法は?

自分ではXperia5Ⅱを使用しているため関係ないのですが、奥さんが使用しているiPhpne でドコモメールが送信できない状況になりました。 実は、ちょっと前から送信できなくなっていたのですが、ほとん …

no image

タスクスケジューラでネットワークドライブからファイルをコピーするバッチが実行できない

ネットワークドライブの割り当てで使用しているフォルダ内にあるファイルをコピーするバッチファイルを作成して、定期的に実行するためにタスクスケジューラに登録しました。 バッチを直接実行した場合は問題なく処 …

no image

Lexar NM790 NVMe SSD(蝉SSD)を外付けにしてみた!

最近いろいろなメーカーから発売されている、いわゆる「蝉SSD」ですが セール中なら2TBで13,000円程度で買えるものもありますね。 少し前になりますが「HIKUSEMI FUTURE」の2TBを自 …