Mikeforceサーバ」タグアーカイブ

自宅で自ら構築したMikeforce Serverについて

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

Migrated my all sites to HTTPS.

昨今はなかなか便利なネットワーク環境になったもので、ついこの間までは有料であったSSL/TLS証明書によるサーバ認証が無料で実現できるようになった。自宅サーバ派としてはまったく嬉しい限りで、サーバをLTS版にアップグレードする前にこちらの認証局を利用してWebサービスをHTTPSに移行してみた。この認証局は今年の4月にはβ運用を経て正式運用が開始されており、さらにご親切に見事な翻訳でとても読みやすい日本語ポータルサイトを参考にすることで、導入にはほとんど苦労はなかった;)。ただしWordPressとRewriteRuleを除いては:O。あとからWordPressをHTTPSに変更する場合、記事に含まれる内部URLを全てHTTPSに置き換える必要があり、とても面倒臭い。まぁDBベースのBlogは皆そうなのだけれども。さらにRewriteRulesは大の苦手で、なんとか強制的にHTTP→HTTPSしようとかなり苦心した:(。とはいえ念願のHTTPS化で少し安心。

See AlsoMikeforce::Homepage (HTTPS対応)

Upgrade to Wily Werewolf.

と言ってもサーバの方だけど。念の為、練習がてら WP と Bugzilla のバックアップを取ってから。特に大きな問題にはならず完了。Kernel 4.2、glibc 2.21 + CVE-2015-7547対策

とはいえ、 まだ LTS ではないので多少不安だけれども。次の Xenial Xerus へもアップグレードしないと。

デスクトップは・・・・どうしょうかな。まだ G3.16なんだけど、 Xenial Xerus にするなら G3.20 まで待つか。;)