Deep Shit」カテゴリーアーカイブ

Upgrade to Xenial Xerus.

サイトのHTTPS化が完了した勢いで、この間アップグレードしたばかりだけれど、16.04.01 LTSにアップグレードした。一番の強敵はPHP5からPHP7.0にアップグレードされることなので、HTTP回り(Apache2.4/PHP/MySQL)の設定は丸々バックアップを取るも、MySQLのDBは特にバックアップせず。WordPressのDBは先のHTTPS化で既に作成済。まずは既存のシステムを最新にしてから、お決まりのコマンドでアップグレードを開始した;

$ sudo apt update
$ sudo apt upgrade
$ sudo systemctl reboot
(...)
$ sudo do-release-upgrade

途中、設定ファイルの適用可否を聞かれることがあったがアップグレード自体は20分位で終了した:)。と言っても正常終了ではなく、こんな感じでMySQLサーバの起動に失敗していたけど:$

Errors were encountered while processing:
mysql-server-5.7
mysql-server
Error in function:
(...)
Could not install the upgrades

The upgrade has aborted. Your system could be in an unstable state. 
A recovery will run now (dpkg --configure -a).

Setting up mysql-server-5.7 (5.7.13-0ubuntu0.16.04.2) ...
invoke-rc.d: Unit mysql.service is masked
Renaming removed key_buffer and myisam-recover optoins (if present)
ERROR: Unable to start MySQL server:
2016-09-04T01:20:22.230428Z 0 [ERROR] unknown variable 'myisam-recover=BACKUP'
2016-09-04T01:20:22.234640Z 0 [ERROR] Aborting
(....)

こちらはMySQL-5.7になってオプション名が変更になり、mysqld.cnfを修正する必要があったことが原因。アップグレード中の設定ファイル適用可否の質問には全て(N)で答えていたのが影響したようで、MySQLは下位バージョンとは互換性がないようだ(という情報をリリースノートに期待しているんだけど・・・)。ということで、設定ファイルを修正したらあっさり起動した。ここで再びaptコマンドからupgradeを実行して、やっと16.04.01 LTSの環境になった:)

で、ここからが重要で、ウェブサービスを一つ一つ確認してくと、いろいろ問題がでてきたが代表的なものはこんな感じ。全てPHP7.0になったことが原因:

  1. MediaWikiが例外発生で起動しない
    [b6d53246] 2016-09-04 02:45:20: Fatal exception of type MWException
  2. 城攻め訪問記フォト集として使っていたO.r.i.g.i.n.a.l.が何も表示されなくなった

正直、PHPなんて「守備範囲外」なのでよくわからない。そのため最初はPHP5.6にダウングレードしようかと思ったけど、結局はいつか解決しないといけないので今やることにした。

1.の問題はデバッグログを出力するようにして実行時のバックトレースを見ると、どうやらキャッシュタイプが問題のようだった。PHP7.0になってphp-xcacheが提供されないことが原因。ということで、ここはキャッシュを無効することで解決した。

2.の問題は、error.logとPHP7.0への移植の際の注意点を見ながらDEPRECATEDなコードを一つ一つ修正した。まぁ、もともとが相当古いコードということもあって、PHP5時代からいろいろNOTICES(Warnings)が出ていたのだけれど。そういうこともあり、併せて他にも危なそうなコードを修正しておいた。

ということで半日がかりの作業になってしまったけれど、LTS+HTTPS環境の構築が完了で、やっと肩の荷が下りたといったところ:D:

 $ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial

A neighbor.

何が気に入らないのか、それとも単に癪に障っただけなのか、お客に延々と悪態をつく人間を間近でみたが、まったく大人げないものだ :$
かなりいい歳なのに恥ずかしくないのだろうか。
That’s annoying!
というか、こっちへ来て仕事の効率が落ちている元凶だな、まさに。
次行こう。

Getting serious by TOHOKU earthquake.

東北地方太平洋沖地震-20110313.png
日を追う毎に被害の甚大さに驚愕する。
我が家の本家は宮城県のため、連絡の取れない親戚の行方が心配だ。
しかし、日本の報道連中は何様なんだろうな。
どうしてあそこまで第三者的、他人様の立場でいられるのか理解できん。
See Also 東北地方太平洋沖地震: Google の Crisis Response プロジェクト
See Also Post-earthquake imagery of Japan: Google Earth の写真を使って地震発生前後を比較しているサイト