Google、2017年1月提供予定の「Chrome 56」で、一部のHTTPサイトに警告を表示へ

なんてニュースが去年9月に流れました。

「えーでもそれって無料じゃないよねー?」
Let’s Encryptっていうのを使うと無料でできるみたいよ!」
「それってうちのレンタルサーバーでもできるの?」
「VPSとかクラウドとかサーバーの設定ができるのじゃないと・・・」
「そんなの難しいから自分には無理だな・・・」

とまあ、普通はこうなるわけです。

私は超絶めんどくさがりで、VPSとかAWSとか自分のサイトでは管理するモチベーションない人なので、さてどうしようかなと思ったわけです。そしたらまあ、WordCamp Tokyoの時にお話してたエックスサーバーさんのフライヤーが目に入りましてね。そういやここはサーバー管理画面から無料で設定できるじゃないですか!と思い出し、去年の秋にサイトのお引っ越しをしました。

その時のことを忘れないように「ローカルからのWordPressのお引っ越し」を例にして、設定の手順を書いておこうと思います。

前提条件

  • 使用マシンはMacBook Air
  • 使ってるアプリがAdobe DreamwerverCC
  • せっかくSSL設定するのだし、FTP接続もSFTPにする
  • コマンドラインは最小限で済ませたい
  • ドメインはレンタルサーバーとは別会社で契約
  • 使用するドメインは取得済み
  • エックスサーバーの申し込み済み

 

大まかな手順

  1. ドメインの設定をする(サーバーパネル)
  2. SSH設定をする(サーバーパネル)
  3. DreamwerverCCでサイト設定(SFTP設定)
  4. ローカルにあるファイルをSFTPで転送する
  5. データベースを作成とインポート(MySQL設定)
  6. サーバー上でWordPressサイトが動いていることを確認
  7. SSL設定をする(サーバーパネル)
  8. WordPress特有のSSL対応をする
  9. 作業用ファイルの削除

 

1.ドメインの設定をする(サーバーパネル)

使用するドメインを設定します。設定が出来るとサーバー内にドメイン用のディレクトリが作成されます。
https://www.xserver.ne.jp/manual/man_domain_setting.php

2.SSH設定をする(サーバーパネル)

そもそもSSHってなに?と言われたら「自分のコンピュータとサーバーコンピュータとの通信を暗号化する」ってことで安全にするわけです。SSLだってね、webサーバーと閲覧者の通信を暗号化するんで、せっかくなんですべて暗号しておこうと思いましてね。でもマニュアルには下記のような注意書きがありますので、納得できない人は通常のFTPするということで読み飛ばしてください。

ご注意ください

本機能を利用して実際に操作を行うには、UNIXの知識や、利用するコマンドに関する知識が必要です。本機能にてSSH接続を行われる場合、パスワード認証は利用できません。本機能をご利用いただくには、サーバーパネルの「SSH設定」にて設定を【ON(有効)】にする必要があります。SSHで接続を行うには、ご利用のパソコン上にSSHクライアントソフトが必要です。誤った操作を行うと、お客さまサーバー領域上のファイルの削除が行われたり、正常なWebの表示、メールの送受信が行えなくなる可能性がありますので、ご利用の際は十分に注意してください。

実際の設定手順はエックスサーバーのマニュアルの通りに沿ってください。
https://www.xserver.ne.jp/manual/man_server_ssh.php

 

2−1.SSH設定でONにする

2−2.公開鍵認証用鍵ペアの生成、公開鍵の登録

ここでは2種類の方法が掲載されています。

作り方わからなーい!ってことで前者のサーバー上で公開鍵ペアを生成します。ダウンロードした秘密鍵を大事なファイルをしまっておくフォルダに移動しておきましょう。

ちなみに、WindowsでFileZillaを使っている人は下記のリンクを参照に設定してみてください。
http://nelog.jp/xserver-sftp

 

3.DreamwerverCCでサイト設定(SFTP設定)

通常のFTPはこちらのマニュアルを参照にしていただければいいと思いますが、SSH設定をした後のエックスサーバーはユーザー名とパスワードでの接続ができなくなります。

使用する接続 SFTP
SFTPアドレス 初期ドメイン
 ポート 10022
認証 プライベートキーファイルを選択
ユーザー名 サーバーID
IDファイル 2−2で保存した公開鍵
パスフレーズ 設定したパスフレーズ

で、ここまで入力して、接続テストしてみましょう。

あれ?おかしい・・・

3-1.秘密鍵ファイルの変換

2−2でダウンロードした公開鍵、.keyってファイルだったと思います。実はDreamwerverCCはそのままで鍵ファイルとして扱ってくれないのでエラーになります。上記の表示だとIDとかが悪いみたいじゃないで、しばらく悩むドハマりポイントです。

ここで秘密鍵をPEM形式に変換すると言う作業が入りますが、ここだけターミナルで作業した方が簡単です。

参考リンク:

4.ローカルにあるファイルをSFTPで転送する

 

5.データベースを作成とインポート(MySQL設定)

5−1.MySQLユーザー追加

MySQLに接続出来るユーザーを追加(作成)します。

5−2.MySQL設定

データベースを作成し、一覧でアクセス権所有ユーザを設定します。

5−3.ローカルのデータをインポート

エックスサーバーのMySQLデータベースにphpMyAdminを利用してインポートします。

サーバーからサーバーの引越し(同ドメイン)の際には特に必要がありませんが、ローカル(http://localhost/など)の場合には WordPressデータベース用検索と置換スクリプトなどを使ってデータベース内のURL変換をしておきます。(私はこのスクリプトのver.2系をずっと前から使ってます)

参考リンク:WordPressでサーバ移行時にデータベース上のドメインを書き換える方法

5−4.wp-config.phpの設定を書き換えてアップロード

/** WordPress のためのデータベース名 */
define('DB_NAME', '5−2で作成したDB名');

/** MySQL データベースのユーザー名 */
define('DB_USER', '5−1で作成したユーザー名');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', '5−1で作成したユーザーのパスワード');

/** MySQL のホスト名 */
define('DB_HOST', 'MySQL設定に記載されたホスト名');

 

6.サーバー上でWordPressサイトが動いていることを確認

実際に使用するドメインで正しく表示されているか、ログインをして管理画面から設定ができるかどうか確認しましょう。

既に稼働しているドメインの場合には、ファイルやデータベースの移動が終わったらDNSをエックスサーバーに切り替えます。DNSが切り替わったのを確認してから次の作業に入りましょう。

一度 http://〜の状態で正しく動いてからSSLの確認をしないと、どの段階でうまくいっていないのか判断できないですよね。

 

7.SSL設定をする(サーバーパネル)

ドメインを選んでSSLの追加をします。この時にCSR情報を設定する必要はありません。

 

 

8.WordPress特有のSSL対応をする

ドメインがhttps://〜で表示されるようになったら下記の参考リンクにしたがって設定をしていきます。

参考リンク:WordPressをhttpからhttpsにSSL化した全手順まとめ(エックスサーバー環境)

自分が作業した時に違う点といえば、

  • バックアップ用プラグインは使ってない
  • 変換スクリプトがあるので内部リンクの置換はそれでやった
  • .htaccessはエックスサーバーのサーバーパネル内でしてしまった
  • カウントしてないのでSNSの引き継ぎは特にしてない

とかとか。いろいろありますけど、ここの環境は皆さん違うと思うので

 

9.作業用ファイルの削除

5−3や8で使った「WordPressデータベース用検索と置換スクリプト」がサーバーに残っていたら必ず削除してください。

 

concrete5の場合はDBを書き換えたり変換したりする必要ないので、サーバーパネルからSSL設定して・・・ってくらいだった気がする。
うん、WordPressはめんどい。

 

自分のメモに書いているのとCSSカスタマイズしてないので、読みずらかったらすいません。