ギークナビのサーバを新しくした話

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

こんにちは、先日会社外の知り合いウン十人で飲む機会があって、そこで初めて話した見た目私より年上そうな男の人と仲良く喋ってて「ちなみに何歳?」と聞かれて「今年27歳です~」と答えたら「オレより全然年上ですね!(汗)」とそれ以降の会話が急に敬語で話されるようになったおてらです。

全然ってなんだ全然って。

そんなことはどうでもいいのでさっさと本題に入ります。

教訓:初対面でも基本敬語で話しましょう(完)

 

冗談はここまでにして、本当に本題に入ります!

 

ギークナビのサーバを引っ越しました

ギークナビはAWSで稼動しています。

AWSで稼動しているとはいえ、(そこまで大量のアクセスはないので…)ELBやCloud Front使っている訳ではなく、EC2とS3、RDSを組み合わせた至ってシンプルな構成になっています。

EC2は自分たちで運用していますが、そこまで手間をかけたくなく、WordPressが動作する必要最低限の機能だけ備わっていればいいかな、という感じで今まで運用してきました。

 

その結果、見事にWordPressの動作対象外の環境になってしまいました

 

さすがにコレはイカン、ということでササっとサーバをお引越しさせました。

 

やること

現在の環境の把握とデータのバックアップ

今までのギークナビの動作環境をまずはおさらいします。

OS CentOS 6.8
PHP 5.3.3
MySQL 5.6.27(RDSのインスタンス)
Apache 2.2
WordPress 4.6.1

PHPのバージョン、さすがにこれはまずいですね…。

WordPressはサイン新盤ですが、その他はバージョンが低いのでこれを機に全て新しくしてしまいます!!

そしてEC2上にアップロードされている全てのWordPressのデータをローカルにダウンロードしておきます。

目標

こんな感じの環境を目指します。

OS CentOS 7.1
PHP 7.1
MySQL 5.6.27(継続)
h2o 2.1.0
WordPress 4.6.1 or 4.7

今回からWebサーバをApacheからh2oに変えたいと思います。

既存のサーバの各バージョンを上げる方法は万が一失敗したら面倒なので新しくインスタンスを立てました。

このあたりのスピード感はやはりクラウドならではですね。

引越開始

新サーバ構築

CentOS7のインスタンス作成からPHP7、h2oのインストールは以前私が書いた記事通りに実施しましたので割愛。

CentOS7 + PHP7.1 + h2o + MariaDB10.1 + Word Press

今回はMariaDBではなくAmazon RDSのMySQLをそのまま継続利用しました。

本当はAmazon Auroraとかに移行してみたかったんですが、大人の事情とかもあって一旦保留です。

 

Let’s Encryptの証明書を移行

h2oを起動させるために証明書が必要なので今まで使っていた証明書を移行させます。

ただ、OSが違うのでLet’s EncryptもCentOS7の手順でインストールします。そのあたりの手順は公式サイトを参照。

 

インストールできたら秘密鍵やら証明書やらを新サーバにコピーしてh2oの設定ファイルにパスを書けば無事起動できます。

 

WordPressをインストール

バックアップしたWordPressの全データをDocumentRootにアップロードします。

DocumentRoot直下が以下のファイル構成になるようにしました。ご参考までに。

アップロード完了後、自分のPCのhostsファイルに新サーバの情報を追記してブラウザからアクセスしてみると、少々見てくれが悪いものの、きちんと今までのデータが表示されていることが確認できました。

 

DocumentRootとWordPressディレクトリがイコールになった関係でデザインが崩れていたので管理画面から以下の項目を同じに設定して保存すると、きちんと今までのように見えるようになりました。

 

ひとまず動作確認してみると問題なさそうだったのでいざ切り替え。

DNSのAレコードを変えるのではなくて、現在使っているEIPが関連付けられているEC2インスタンスを旧から新に変更する形で切替えます。

 

もちろんその他の細かい設定(メールなど)も新しいサーバで一から構築しなおしたので若干手間ではありましたが、何とかこれでギークナビのサーバ移行が完了しました。

 

その後

無事に移行できてめでたしめでたし~と思っていたのですが、がせさんから「画像アップできないよー」と言われ試してみるとS3への接続が上手くいっていないことが発覚。

プラグインを利用してS3へ画像をアップロードさせていたのでプラグインの画面を見てみると真っ白…。Oh…。

 

その他のプラグインにも一部外部との連携が上手く行かないものが見つかり、そういったプラグインは一旦無効化して使用を断念…。

 

よくよく調べると、WordPressはPHP7.1にはまだ対応していないらしいです…。何てこった!!

公式サイトに書いてある推奨環境「PHP7以上」という表記にまんまと騙された気分です(苦笑)

 

かといって今更PHP7.0に下げるのも面倒なので、運用上の致命的な不具合が出ているわけではないのでこのままPHP7.1に対応するまでのんびりと待つことにします。

 

というわけで、皆さんもWordPressの動作環境を新しくする場合は、利用しているプラグインやWordPressそのものが対応しているかどうかをよく調べた上で実施しましょう。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメントを残す