Apache httpdのバージョンアップに悪戦苦闘…

この前、Apache webserverのバージョンアップを行ったのですがいつもより大変でした…

APR及びAPR-Utilの更新は大したことなかったのですが、このバージョンからOpenSSL 1.1.0に対応し、今まで使ってたLibreSSLとの相性が悪くなったのか、うまくmakeができなくて、まずそこで1時間くらい…最終的にOpenSSLを入れることにしました。本当は脆弱性の観点からあまり使いたくないですが…さらにOpenSSLを切替えたせいなのか、分からないがPHPの動作もおかしくなって、大変でした…

何故かディレクトリ名が取得できず…

PHPの動作がおかしくなったというのは$_SERVER[‘PHP_SELF’]と$_SERVER[‘REQUEST_URI’]の環境変数が通常と異なる?ものを出していたようで、Wordpressの編集画面が表示されなくなるなどのトラブルがありましたが、一応、こんなプログラムを作って、回避させましたw

phpself.php
<?php
$_SERVER['SCRIPT_NAME'] = str_replace($_SERVER['DOCUMENT_ROOT'] , "", $_SERVER['SCRIPT_FILENAME']);
$_SERVER['PHP_SELF'] = str_replace($_SERVER['DOCUMENT_ROOT'] , "", $_SERVER['SCRIPT_FILENAME']); ?>

これを適当な場所に保存する。

php.ini
; Automatically add files before PHP document.

; http://php.net/auto-prepend-file
auto_prepend_file =

auto_prepend_fileを次のようにする

; Automatically add files before PHP document.
; http://php.net/auto-prepend-file
auto_prepend_file = /設置したディレクトリ/phpself.php

こうすることで正しい値を取得してくれるはずだ。今回の場合これでなんとかできました。

その後、無事バージョンアップに成功しました。今回のバージョンアップにより、brotliによる圧縮が利用できるようになり、TLS+HTTP/2及びbrotliによって、表示速度の高速化が期待されると思われます。

最後に写真を1枚…

仁王門とヨウくん
仁王門とヨウくん

この前、祇園行ってきたときに撮ったものですwヨウくんかわいい!

nginxに移行してみました

どれくらいの効果があるかは分かりませんが。やっぱり、一番大変だったのがApacheの設定をnginxに移植することでしたな。.htaccessを変換してくれる所もあったけど、Apache 2.4に準拠した設定だったためか、思ったように機能してくれなくて大変でした。

Apacheより速いとされるnginxなんですが、ぼくの環境では言うほど変わりません。PHPの設定に問題があるのかもしれませんけど。

勿論、今まで通りHTTP/2にも対応しておりますし、SSLライブラリもBoringSSLに切替えてみました。気分次第では元に戻すかもしれませんので、その辺はあしからず