Sakura Internet

WordPress さくらインターネット

さくらインターネットのプラン乗り換えクーポンを使って、16倍早いさくらちゃんを導入した手順

2018/08/28

このブログは「さくらインターネット」のスタンダードプランで運営しているのですが、ページの更新をするだけで500エラー(Internal Server Error)が出たりするなど、最近はやったらと重かったので、Wordpressが最大16倍早くなる噂の『新生さくらのレンタルサーバ(スタンダード)』にプランを変更してみることにしました。

新生さくらのレンタルサーバは、以下のような特徴があるようです。

  • PHPモジュールモード採用で、Wordpressが最大16倍に高速化
  • Nginxを採用しサーバの処理能力を向上。HTTP/2対応により表示速度の向上
  • コントロールパネルを刷新
  • PHP7の導入
  • SSDでDBを高速化

せっかくなので、プラン変更の際のデータベースや WordPress、ドメインの移行方法など、乗り換え順などをまとめてみたいと思います。

余談ですが私が初めてさくらインターネットを契約したのが
--
登録完了日 2004年08月25日
--
と当時のメールにあるので、(ちょうど今日で!)驚きの14年ユーザとなってしまいました。

プラン変更によるサーバレスポンスの結果

「プランを変更してサーバのレスポンスは本当に早くなるのか?」というのはもっともな疑問だと思いますので、私の環境下での移行前、移行後のレスポンスの結果を先に出しておこうと思います。

プラン変更を考えている人の何かの足しになれば幸いです。

PageSpeed Insights

Googleの「PageSpeed Insights」で計測した値です。

URLが wataame.sumomo.ne.jp となっていますが、これは事前にキャプチャを撮り忘れてしまったので、変更前のサーバで用意されているサブドメインでブログを表示させて計測した結果です。

プラン変更前

変更前

Mobile:Low 52/100
パソコン:Medium 74/100
サーバの応答時間:1.6秒

プラン変更後

変更後

Mobile:Medium 72/100
パソコン:Good 82/100
サーバの応答時間:0.50秒

サーバを入れ替えるだけで、1/3ぐらいの時間まで短縮できました。
これはちょっと驚き。

サイト表示スピード測定

上記サイトでも計測してみました。
こちらは忘れずにきっちりとキャプチャを撮ったので、ドメインは nodoame.net となっています。

プラン変更前

変更後

測定結果 = 1.952(秒)

プラン変更後

変更前

測定結果 = 0.39(秒)

1/5 ぐらいの時間まで短縮できました。
ホンマかいな。

『新生さくらのレンタルサーバ』へのプラン変更及び移行手順

ということで、ここからは手順の解説。
SSHでログインする方法や、ファイルの圧縮コマンドなど、コピペレベルで使える情報を書いていきたいと思います。

ちなみに今回はMacで作業したので、SSHのログインなどはMacのターミナルを使っての解説となります。

1. データベースのエクスポート(ダンプ)

phpMyAdminを使ってデータベース(DB)をダンプします。

ダンプ(エクスポート)までは良かったのですが、ファイルサイズが大きかったのか、私の使っていたDBサーバが古いが原因なのかどうかは分かりませんでしたが、一括でエクスポートしても、そのまま新サーバのDBへインポートすることが出来ませんでした。
そもそも新プランでのデータベースの形式と違っていたのも原因か??

仕方ないので、Wordpressで必要なテーブルをいくつかに分割してダンプする方法を採用。
いきなりつまづきかけてちょっと萎えました。

↑ プレフィックスが「wp_」となっているテーブルが、Wordpressで使用しているテーブル

今回は私は4個ずつチェックしてエクスポートすることにしました。
エクスポート時のファイル名は「mizuame_001」など、任意で構いません。

2. サーバ上のWordpress構成ファイルを全てダウンロード

WordPress構成ファイルを全てダウンロードします。

FTPでちまちまDLしても構いませんが時間の無駄と断言できるので、ターミナルからディレクトリ(フォルダ)ごと圧縮して、一括ダウンロードする方法を紹介。

さくらのレンタルサーバへSSHログインする方法

MacのLauncherpadから「その他」を開き「ターミナル」を起動します。

terminal

↑ このアイコンのアプリ

下記SSHコマンドを実行し、ログインします。

SSH接続で使用するユーザ名、パスワードは、FTPで使用するユーザ名、パスワードと同じものを使います。
接続先ドメイン名は、コントロールパネルへのログイン時に入力するドメイン名を使います。

契約ドメインが「hogehoge.sakura.ne.jp」の場合、初期設定だと下記のようになっていると思います。

サンプル メモ
ユーザ名 hogehoge ドメイン名
ドメイン名 hogehoge.sakura.ne.jp コントロールパネルへのログイン時に入力するドメイン名
パスワード ********* コントロールパネルへのログイン時に入力するサーバパスワード

実際のターミナルでは以下のような感じです(一部伏せ字にしています)

WordPress構成ファイルを一括圧縮

おおよそ下記のコマンドを使えば目的のパスまで移動し、ディレクトリを圧縮することができると思います。

  • ファイルの一覧を表示する → ls
  • ディレクトリを移動する → cd
  • 現在のパスを表示 → pwd
  • ディレクトリごと圧縮 → tar
  • 圧縮ファイルを展開 → tar
lsコマンド

cdコマンド

pwdコマンド

tarコマンド

<圧縮>

<展開>
展開するのもtarコマンドを使用します。圧縮とはコマンドオプションが違うだけです。

手順としては以下のようになると思います。

  1. さくらインターネットで用意されている個人用ドキュメントルート「www」へ移動し、一覧を表示してディレクトリ名を確認。
  2. WordPress関連ファイルが格納されているディレクトリ(私の場合は「wp」)を一括で圧縮。
  3. 圧縮したファイルをFTPでダウンロード

圧縮コマンドは下記となります。

以上で手順2は完了です。

(手順3)新サーバにデータベースを作成し、インポート

手順1でダンプしたデータを、新サーバへphpMyAdminを使ってインポートします。

(3-1)データベースの新規作成

新サーバのコントロールパネルにログインし、新規データベースを作成します。
ベータ版のコントロールパネルから作成しようとしたらなぜか出来なかったので、旧来のコンパネから作成します。

↑「データベースの新規作成」リンクをクリック

↑ データベース名を入力
「wp」や「wordpress」とするのが一般的でしょう。
出来上がりは『hogehoge_データベース名』(例:hogehpge_wp)という名称となります。

オプションのバージョンは5.7のみ選択可能で、データベースの文字コードは

  • UTF-8(utf8mb4)
  • UTF-8(utf8)
  • EUC-JP(ujis)
  • EUC-JP(eucjpms)

の中から選択可能。
EUCはほぼ使うことがないので、UTF-8(utf8mb4) or UTF-8(utf8) になると思います。

「utf8mb4」は、UTF8で4バイト文字を扱う事が出来るものとのこと。
実は使ったことがないので、よく分かりませんでした(えー)

ということで、いつも使っている「UTF-8(utf8)」を選択しました。
現状、特に困ったことはありません。
(※もしかしたら、一番最初にWordpressをインストールしたときも、よくわからんという同じ理由で「UTF-8(utf8)」を選択したのかも…。)

(3-2)データのインポート

作成したデータベースへphpMyAdminでアクセスし、上部グローバルメニューから「インポート」をクリック。
今回は複数個に分けてダンプしたので、その個数回インポートを行います。

↑ 手順1でダンプしたデータをインポートしていきます

(手順4)Wordpress構成ファイルをアップロード

(4-1) 圧縮ファイルを展開する

手順2でダウンロードした圧縮ファイルをFTPで新サーバの www へアップし、展開します。
新サーバにSSHでログインし、www へ移動。

展開はファイルサイズにもよりますが、数秒~数十秒で終わると思います。

不要になった圧縮ファイルは、FTPで削除すればOKです。
コマンドを使っても良いのですが、事故が怖いので削除はFTPで行いました。

(4-2) データベース設定の修正

データベースの接続先情報を書き換えます。
wordpressのディレクトリ直下にある wp-config.php というファイルにDBの接続先が書いているので、そこを修正。

(手順5)PHPの設定

PHPが7.2になりましたので、php.iniの設定をいくつか行います。
以前のポストにPHP5版の設定方法を書きましたが、バージョンが違うと少し違うところがあったので、新たにまとめておきます。

(関連)php5の設定ポストはこちら。

【PHP】さくらインターネットのPHP(php.ini)の設定変更方法

date.timezone

タイムゾーンが設定されていないとエラーログがたまる恐れがあるので設定します。
「Asia/Tokyo」を設定し、日本標準時間とします

default_charset

デフォルト文字コードを設定します。
「UTF-8」とします。

mbstring.language

mbstringのデフォルト言語を設定します。
「Japanese」とします。

mbstring.encoding_translation

HTTP入力文字のエンコーディングを内部文字のエンコーディングに自動的に変換するかどうかを設定します。
「Off」を指定し、自動的に変換しないようにします。

mbstring.detect_order

文字コードを自動検出する際の優先順位を設定します。
「UTF-8,SJIS,EUC-JP,JIS,ASCII」とします。

expose_php

HTTPのレスポンスにPHPのバージョン情報を出力するX-Powered-Byヘッダを含めるかどうかを設定します。
「Off」を指定し、HTTPのレスポンスによりPHPのバージョン情報が出ないようにします。

post_max_size

POSTデータに許可される最大サイズを設定します。
次の「upload_max_filesize」より大きな値を設定する必要があり、且つ、一般的に memory_limit は post_max_sizeよりも大きくする必要があるので、今回は「100M」としました。
なお memory_limit はデフォルトで「128M」となっていました。

upload_max_filesize

ファイルをアップロードする際のファイルの最大サイズを設定します。
今回は「50M」としました。

まとめると、以下のようになります。

まだ他にも設定する箇所はあると思いますが、取り急ぎ設定が必要そうなところをまとめてみました。

上記の設定を、コントロールパネル → PHP言語に関する設定 → PHP設定の編集 と移動し、フォームに書き込んで「保存する」ボタンをクリックすれば完了です。

以下のオプションは使わない

下記のオプションは PHP5.6以降は非推奨となっているので、使用しないようにします。

  • mbstring.internal_encoding
  • mbstring.http_input
  • mbstring.http_output

(手順6)ドメインの移行処理

私の場合は、nodoame.net という独自ドメインにて運営していたので必要な処理でした。
nodoame.net 自体は「お名前コム」にて取得したドメインでしたので、そちらの処理も書いておきたいと思います。

-WordPress, さくらインターネット
-