我が家にあるもう7年モノのサーバー、最近しょっちゅうストライキを起こしてネットワーク管理者に再起動してもらわなければならない状況になっていた。
昔はこのサーバーで開発もしていたし、ちょっと使ってみたいアプリを入れてみたりするにも全て公開してるサーバーに直接インストールしちゃっていたのでだいぶゴミも溜まっている。 (最近だと開発中のものはすべて VirtualBox と Vagrant で VM を立てて開発しているので、そういうことはしなくなったな。)
MySQLが5.1系を使い続けていてそろそろバージョンアップ等の対応をしないといけないと思っていた。
というもろもろの事情があり、ようやく重い腰を上げて今もなお必要なサイトの引っ越しを始めた。
引越し先は1年位前に作ってもらったUbuntuサーバー。一度OSは上げたはずだけど、それでも13.04だったので13.10に上げた。
ssh越しに作業してて警告が出るも、ネットワーク管理者はスポーツジムに行ってしまって不在。先に移動したサイトはHTMLのみの静的コンテンツしかなかったから最悪ダメに成ってもダメージは少ないということで、OSアップグレード決行。
Ubuntu
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 13.10
Release: 13.10
Codename: saucy
PHP
before
$ php -v
PHP 5.3.3-7+squeeze8 with Suhosin-Patch (cli) (built: Feb 10 2012 14:12:26)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with the ionCube PHP Loader v4.0.9, Copyright (c) 2002-2011, by ionCube Ltd.
with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH
after
$ php -v
PHP 5.5.3-1ubuntu2.1 (cli) (built: Dec 12 2013 04:24:35)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
Database
before
$ mysql -V
mysql Ver 14.14 Distrib 5.1.61, for debian-linux-gnu (i486) using readline 6.1
after
$ mysql --version
mysql Ver 15.1 Distrib 10.0.7-MariaDB, for debian-linux-gnu (x86_64) using readline 5.1
Apache
Apacheも2.4にバージョンアップ
Apache.conf の vhost を include するところの記述が変わっていて、 .conf の拡張子になっていないと読み込まない、というところでハマった。
IncludeOptional sites-enabled/*.conf
さらに2.4から追加された設定の、 Require all denied の設定が効いていてサイトにアクセスすると403になったのもハマった。
(ネットワーク管理者に対応してもらった)
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
WordPress
WordPress本体のバージョンを最新に更新。 プラグインも更新があるものは全部更新。
特に問題なさそう。
DNS変更
先に家庭内用の設定だけ変更してブログの動作確認した。
久しぶりの更新、ついでだからもうサイトを消してしまったサブドメインをお掃除しておいた。
リバースプロキシ
ここは自分には手がでないところなので、
ネットワーク管理者に設定変更依頼。