いい加減古い環境でのサービスを取りやめたいと思い、先ずはweb serverの移行をすることにした。
apache2.4、php7.4にアップグレード、MySQLからMariaDB 15.1へ移行。
と、一気に新しい環境になった。
ま、phpの最新は8.0らしいけどね〜(^_^;;
旧環境から新環境へのデータの移行は、phpMyAdminを使ってのデータベースをエクスポート&インポートすることで行った。
sqlとして書き出されるので、エディタを使ってpathやurlを一括置換することができた。これなら楽ちんである。(しかし何度か失敗しているっ!)
さて、この投稿を書いている現時点で、外からこのサーバーは見えない。
何故ならrouterの静的NATを変更しても反映されないからである。理由は判らんさっぱりである。
tcpdumpでport 80を監視しても、古い環境へとリクエストが行く。「いくら新しい環境を整えても無駄だっ!」とrouterに嘲笑われているかのよう……
更に、内部DNSの変更が反映しないということが起こる。
これは受け手のDNS cacheが面白い行動を取ったらしい。詳しくはこちら。
|
1 |
sudo killall -HUP mDNSResponder |
つまりmDNSResponderというのが、キャッシュしているので再起動させればいいと。
これが判ったお蔭で、この投稿もいつもの端末で書けているのだ。
理由が判った。
静的NAT設定をひたすらチェックしていたが、静的IPマスカレード設定を弄っていたことが判明。こちらが優先されていた。
設定されていたエントリを削除することで無事に外からも新しい環境が反映することとなった。
めでたしめでたし。
続けて、この記事を表示しようとしたら『このサイトで重大なエラーが発生しました。』と……え、今まで表示できてたよ?
サーバーのerror_logを見ると
|
1 |
PHP Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in /opt/local/www/apache2/html/niwakan/wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340 |
Crayon Syntax Highlighterの動作不良らしい。
外したら普通に見ることができた。(よかったよ〜、でも綺麗なコード表示ができないのは悲しい)

