[Server & Network] 新生さくらのレンタルサーバへ WordPress を引っ越すための手順 (1)

Pocket

「新生さくらのレンタルサーバ スタンダード」へ移行するための引っ越し手順。

契約

「新生さくらのレンタルサーバ」の特徴を3行でまとめる。

  • PHP 7.2 モジュールモードで動かせる。
  • ハードウェアが増強された。
  • HTTP/2 に対応した。

こちらの新サイトから契約ができる。
手順は今までと変わらない。

サーバコントロールパネルの設定

契約が完了すると、メールでお知らせが届く。
サーバコントロールパネルの表示順に従って確認を進める。

ちなみに「新サーバコントロールパネル(β版)」が公開されている。
今後の展開に期待。

SSLサーバ証明書

Let’s Encrypt の導入もできる。
今回はサーバ証明書が既にあるのでスキップする。

サーバパスワードの変更

何はともあれパスワードを変更する。
初期パスワードは「仮登録完了のお知らせ」と言うメールに記載されている。

サーバ情報の表示

Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz / 48GB
Apache v2.4.33
OS は Ubuntu になるのかなと思ったが FreeBSD 9.1 でした。
まだ ruby v1.8 系がディフォルトで残念。

  • IP アドレス を確認しておく。

メールに関する設定

メールは別サーバを運用しているのでスキップ。

データベースの設定

WordPress 用のデータベースを作成する。
モダンな設定でありがたい。

  • MySQL 5.7 のみ選択可能。初期値で選択されている。
  • 文字コードの選択肢に utf8mb4 が存在し、初期値で選択されている。

アクセスログの設定

必要な設定に変更する。

PHPのバージョン選択

  • PHP 7.2.7 (モジュール版) が初期設定済み。

CRONの設定

CRONは5つまで設定可能。

クイックインストール

クイックインストールで WordPress をインストールする。
インストールパスを以下に設定する。

  • com.example.www/wordpress

ディフォルトで以下のプラグインがインストールされていた。
有効化はされていない。

  • Akismet Anti-Spam (アンチスパム)
  • All In One WP Security
  • Autoptimize
  • Disable Google Fonts
  • Hello Dolly
  • ImageMagick Engine
  • Protect Uploads
  • Remove Query Strings From Static Resources
  • SAKURA RS WP SSL
  • TS Webfonts for SAKURA RS
  • WP Multibyte Patch

国外IPアドレスフィルタ

wp-login.php のようなファイルやディレクトリへのアクセスを制限してくれるそう。
ディフォルトでオンとなっている。

Webアプリケーションファイアウォール

様子を見て利用を検討する予定。
ひとまずスキップ。

バックアップ & ステージング

BackWPup プラグインから、こちらに切り替えを予定。
ひとまずスキップ。

Snapup というサービスと連携することで、バックアップを最大8、ステージング環境を1つ用意する事ができる。

ドメイン/SSL設定

ドメインと DNS は他社のサービスで管理している。

「新しいドメインの追加 > 他社で取得したドメインを移管せずに使う > 他社で取得された独自ドメインのサブドメインを追加」を選択する。

  • stg.example.com

「ドメイン詳細設定」を行う。

  • 「wwwを付与せずマルチドメインとして使用する(上級者向け)」を選択する。
  • 「マルチドメインの対象のフォルダをご指定ください」に com.example.www を設定する。
  • 「SSLの利用をお選びください」は「共有SSL、SNI SSLを利用しない」としておく。

なお、2018/08 から「初期ドメイン、さくらのサブドメイン」でもサーバ証明書が無料で利用できるようになるそう。

他社の DNS 管理サービスでの作業

  • サブドメイン stg の A レコードに「新しいさくらのレンタルサーバの IP アドレス」を登録する。
  • 設定の反映を待つ。設定したサブドメインで「このサーバは、さくらのレンタルサーバで提供されています。」画面が表示されれば OK 。

コントロールパネルに戻り、「ドメイン/SSL設定」の一覧より「SSL証明書 > 登録」を選択する。
ステージング用に「無料SSL証明書」を設定する。
ワンクリックで設定が完了、かつ自動更新される!

WordPress ステージング環境の整備

初期設定を行う。

  • 現行サイトと同じ管理者を作成しておく。
  • 必要に応じて「検索エンジンがサイトをインデックスしない」ように設定する。

Basic 認証

公開前の環境なので Basic 認証を設定する。
ファイルマネージャーが楽。

サイトアドレスの調整

WordPress の「ダッシュボード > 設定 > 一般」からドメインを設定する。

  • WordPress アドレス (URL) https://stg.example.com/wordpress
  • サイトアドレス (URL) https://stg.example.com/wordpress

HTTPS 対応

さくらレンタルサーバ上の WordPress の HTTPS 対応は手間だったが、下記のプラグインを利用することで簡単になった。

WordPress の「ダッシュボード > 設定 > SAKURA RS SSL」から設定する。

追加のリダイレクト設定

WordPress 以外の HTML ファイルの提供があれば、必要に応じて .htaccess による http -> https 転送の設定を行う。
サイトの構成に応じて、以下のサンプルも書き換えが必要。

編集対象は www/com.example.www/.htaccess となる。

/home/user_name/www/com.example.www/.htaccess
SetEnvIf REDIRECT_HTTPS (.*) HTTPS=$1 
<IfModule mod_rewrite.c>
RewriteEngine on 
RewriteCond %{ENV:HTTPS} !on 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
</IfModule>

必要に応じて www ありの URL に統一する設定を行う。

また初期ドメインを独自ドメインにリダイレクトする設定を行う。

編集対象は www/.htaccess となる。

/home/user_name/www/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(example\.com)$ [OR,NC]
RewriteCond %{HTTP_HOST} ^(www\.)?example\.sakura\.ne\.jp$ [NC]
RewriteRule .* https://www.example.com%{REQUEST_URI} [R=301,L]
</IfModule>

SSH / SFTP 公開鍵認証設定

お好みで SSH / SFTP に公開鍵認証の設定を行う。

ローカル環境からさくらのサーバへパスワードで ssh 接続できることを確認する。

% ssh <ID>@<IP Address>
    :
Welcome to FreeBSD!

$ exit

ローカルに戻り ~/.ssh/config を設定する。

~/.ssh/config
Host example
  UseKeychain     yes
  AddKeysToAgent  yes
  ForwardAgent    yes
  PreferredAuthentications publickey
  Hostname        <IP Adress>
  User            <ID>
  Port            22
  IdentityFile    ~/.ssh/id_rsa

RSA認証鍵を作成する。

% cd ~/.ssh
% ssh-keygen -t rsa -f id_rsa

作成した公開鍵をさくらのサーバへ SCP する。

% scp ~/.ssh/id_rsa.pub <ID>@<IP Address>:/home/<ID>/.ssh/authorized_keys

さくらのサーバへ接続し、authorized_keys のパーミッションを変更する。

% ssh example

$ chmod 600 .ssh/authorized_keys
$ exit

SFTP も公開鍵認証を設定できる。

以上で、基本的な WordPress サイトの準備は完了となる。
新規サイト開設も同じような手順となる。

ToDo

ここまでの積み残しは以下の通り。

  • 「WordPress」のデータ・テーマ・プラグイン移行の全般。
  • 「ドメイン/SSL設定」の本番環境への切り替え。
  • 「Webアプリケーションファイアウォール」の設定を保留。
  • 「バックアップ & ステージング」の設定を保留。

つづく。

Pocket