今更 Debian Jessie

1年前に計画したJessie(Debian 8)へのアップグレード計画をようやく実行。

このblogを運用しているサーバはChefで構築していて、レシピの動作確認と開発環境を兼ねてVagrantでローカルのVirtualBoxの仮想環境に同じものを構築している。

ということでローカルの仮想環境で気兼ねなくアップグレードの練習をして、アップグレード手順を作ってから一気にこの運用サーバを更新した。Vagrant 1.8からsnapshot機能が標準で用意され3rd party製プラグインに使わなくても仮想環境の状態をそのまま保存・復元できるようになり、アップグレード前の状態を保存しておけば繰り返しアップグレードの練習ができるのも安心できるところ。結局、1回で上手く言ったので復元はしていないが。

はまって手順で対応したところ

  • 時間表示がUTCになっている → cp -p /usr/share/zoneinfo/Japan /etc/localtime
  • WordPressが動かない → php5-fpmphp7.0-fpmでsocketの待ち受けPATHが変わっていたのでnginxの設定を変更
  • Ruby 2.3.3にしたらChefのdatabasecookbookがmysql2 gemがなくて動かない → mysql2 gemインストール

基本、全部Chefのレシピで対応したので新規のインストールでも大丈夫なはず。

そうこうしているうちにDebian 9もリリースされてしまうのだが、今回はDebianのバージョンアップというよりPHP7に移行するのが目的だった。DotdebリポジトリからPHP7はJessie向けにしか提供されていないため。Debian 8も暫くサポートされるだろうから必要がある時にアップグレードすればよいだろう。

  • Debian 7.11 -> 8.6
  • PHP 5.5.38 -> 7.0.14
  • Ruby 1.9.3 -> 2.3.3
  • MySQL 5.6.35 -> MariaDB 10.0.28

とりあえず以上のようにアップグレードした。rbenvで入れているのでJessie関係ないがRubyを2.3.3にあげた。最近Redmineをバージョンアップする度にRedmineの依存パッケージがRuby 2.0以上を必要として運用に苦しんでいたので2.3.3にした。クリスマスに2.4がリリースされていたがアップグレードした時点ではRedmineのホームページの対応rubyバージョンに2.4が載っていないのでひとまず2.3系にした。

PHPにはOpcacheもついでに入れてみた。いろいろ速くなったような気もするし、気のせいかもしれない。そもそも自分のブログをアクセスして読まないのでよくわからない。