[NG]Microsoft Azure上の超高速WordPress仮想マシン「KUSANAGI」を常時SSL・HTTP/2化に対応させるために移設する

[後記]今は失敗した記事です。

こんにちは。@ryorasppです。

今年に入ってからか、KUSANAGIを使っているのにもかかわらず、Let’s Encryptを使って、常時SSL・HTTP/2化・HTTPS化してなかった中、FirefoxやChromeでhttpsのサイトでない場合、そのことを表示するようになったので、

Chromeでは保護されていない通信と出る

Chrome-保護されていない通信

FIrefoxではこの接続は安全ではありませんと出る

Firefox-http-keikoku

 
確かに、httpsでない場合は、
このブログでは、検索のところ
コミュニティサイトでは、ログインIDとパスワードが、
暗号化してないサイトは、サーバー管理者、プロバイダ、ネットワーク管理者に筒抜けになってしまってるので、

https化する意味は大いにあります。

そして、HTTP/2にバージョンアップすることで、ページ読み込み時間が短くなるそうです。

ということで、
 

目次

Microsoft Azure上で新規に設置して移設してみる

# kusanagi remove プロファイル名
で、ryo.nagoyaを消して、再構築すればいいのですが、
それでは、作業してる間にブログが見れないようになってしまうので、
今回は、新しくKUSANAGIを構築してドメインに指定してあるIPを変えようと思います。

まずはMAMPでローカルに移設していきます

Screenshot of www.mamp.info

MAMP & MAMP PRO

これは、移設の練習になり、今の状態をバックアップできます。

各サイトのwp-config.phpとwp-contentをローカルに持っていく

SFTP接続のクライアントと言ったら、僕はCyberduckを使っているので、今回はこちらのクライアントを使って、ローカルにファイルを持っていきます。

Screenshot of cyberduck.io

Cyberduck | Libre FTP, SFTP, WebDAV, S3, Backblaze B2 & OpenStack Swift browser for Mac and Windows

Windowsの人でしたら、WinSCPもお勧めします。

Screenshot of winscp.net

WinSCPとは :: WinSCP

それでは、まずCyberduckを使ってみてみます。

Cyberduckの画面

21サイトあることがわかり、全部一気にtarに固めて持ってきたいところですが、そこまでするサーバーの空き容量がないので、
一つ一つwp-contentをtarで固めて持ってきます。

wp-contentをコマンドでtarに固める

まずは、ターミナルからコマンドでKUSANAGIにログインします。

ターミナルからKUSANAGIにログイン

suでrootユーザーに切り替えて、

# cd ../kusanagi/プロファイル名/DocumentRoot/

cd ../kusanagi/プロファイル名/DocumentRoot/

wp-contentをtarで固めます。

# tar cvf wp-content.tar wp-content

cvfのところと、.tarの名前はお好きなものでどうぞ

成功すると、wp-content.tarができてます。

.tarが完成

MAMPに移設する

MAMPの設定画面

ドキュメントルートが、htdocsになっているのでそこに増設します。

まず、ja.wordpress.orgからWordPressの日本語版をダウンロードし、そこに解凍しrenameします。

Screenshot of ja.wordpress.org

日本語 — WordPress

WordPressをダウンロード

WordPressダウンロード2

※4.7.1はREST APIに脆弱性があったため、4.7.2をダウンロードしましょう。

解凍してrenameする

wordpress-4.7.2-ja.zipを解凍し、ryo.nagoya20170211にリネームしました。

KUSANAGI上に設置していたphpMyAdminからデータベースを持ってくる

不完全ですが、KUSANAGIにphpMyAdminを導入する方法はここに書いてます。

Screenshot of ryo.nagoya

KUSANAGI(超高速WordPress仮想マシン)にphpMyAdminを導入する方法 | ryo.nagoya

KUSANAGI上のphpMyAdminを開く

KUSANAGI上のphpMyAdmin

ログインして、この画面を出します。

KUSANAGIのphpMyAdminを開く

この画面が出れば成功です。

エクスポートする

1にデータベース名をクリック
2にエクスポートをクリック

エクスポートを実行する

どうエクスポートしたいかはお好みで大丈夫です。
そして、実行を押しエクスポートします。

僕は.sqlでダウンロードしました。

.sqlでダウンロード

さて、これでだいたい揃いました。
あとは、wp-config.phpをダウンロードする必要もあります。

wp-config.phpを持ってくる

wp-config.phpをMAMPのWordPressのフォルダに移します。

wp-config.phpをMAMP用に書き換える

wp-config.phpをMAMP用に書き換える

ここで訂正があります。
ryonagoyaというデータベースですがこれは間違いで、ryoraspp2にしました。

MAMPの[オープンのWebStartの]を押して、トップページを開き、phpMyAdminを開きます。

MAMPのphpMyAdminを開く

MAMPのphpMyAdminデータベース作成

Newをクリックし、自分のサイトのデータベース名を入力して作成します。

データベースをMAMPにインポート

データベースをMAMPにインポートし完了したらこの画面になります。

WordPressのデータベースのwp_optionsのURLを変更する。

MAMP5
これで全て完了したので、あとはローカルに移せてるのか確認します。

MAMP1

オープンのWebStartのをクリック

MAMP2

私のウェブサイトをクリック

MAMP3

今回追加したサイトを探しクリックします。

※ここで気づきましたが、tarに固めたwp-contentをローカルに移すのを忘れてました。移す方法は割愛します。

MAMP成功

ローカルでryo.nagoyaを設置するのに成功しました!
これで、移設する時にもし失敗してもここのデータから復旧できます!

Microsoft Azure上のサーバーをもう一つ設置する

Microsoft Azure ポータルにログインしてサーバーを新しく建てる

Azure ポータル

ここからサーバーを新設します。

azure 新しくサーバーを建てる

「KUSANAGI for Microsoft Azure」と検索

「KU」まで入力すれば、「KUSANAGI for Microsoft Azure」と候補が出てくるのでそれをクリックします。

azure ku

公開元がPrime Strategyになっているのを確認

公開元が「Prime Strategy」になっているのを確認してクリックします。

作成をクリック

確認して「作成」をクリックします。

任意で設定

任意のところは、自分にとってわかりやすいものにし、
そして、忘れないように紙にメモしておきましょう

僕は、SSH 公開キーというものを使ったことがないので、今回は、パスワードでやります。

と、ここで問題発生・・・

仮想マシンのサイズを選択

仮想マシンのサイズを選択でフリーズしました・・・

何度やっても、Windowsパソコン使ってみても変わりませんでした。

と、ここでMicrosoft Azureの旧ポータルでいいじゃんと思い、
旧ポータルからやっていきます。

旧ポータルから新設

旧ポータルから新規

新規をクリックします。

ギャラリーからを選ぶ

COMPUTE-仮想マシン-ギャラリーから

COMPUTE-仮想マシン-ギャラリーからへと進みます。

KUSANAGIを検索

KUSANAGIと検索

「kusanagi」と検索すれば出てきます。

仮想マシンの構成

仮想マシンの構成

お好みで覚えやすいものにしてください。
パスワードは長めで記号など複雑なもので打ちやすいものがオススメです。

httpとhttpsのポートを開ける

httpとhttpsを追加

HTTPは80番で、HTTPSは443番であることを一応確認してください。

新設完了しました

仮想マシン作成中
仮想マシン作成に入り時期に、

新設完了

新設できました!

早速、ターミナルから
$ ssh ユーザー名@決めたもの.cloudapp.net
で、SSH接続してみます。

SSHからKUSANAGIにログイン

ログインできました!!!!
新設成功です!!

KUSNAGIを触る

新設ほやほやの状態では、先ほどの画像を見ての通り
Version 7.0 Previewとバージョンが古いので、初期設定を行う前に、バージョンアップを行います

バージョンアップ

KUSANAGIの新着情報では、この記事を書いてる現在、
8.0.4-1が最新のようです。

KUSANAGIのバージョンアップ情報

バージョンアップの方法はkusanagi.tokyoの記事を参考に行っていきます。

参考新着情報 – KUSANAGI

$ sudo su –
で、rootユーザーに切り替えます。

# yum update
でアップデートします。

何か問題があったようです


エラー: パッケージ: php-pecl-apcu-4.0.11-1.el7.x86_64 (epel)
             要求: php(api) = 20100412-64
            インストール: php-common-5.6.12-1.el7.remi.x86_64 (@remi-php56)
                php(api) = 20131106-64
            利用可能: php-common-5.4.16-42.el7.x86_64 (base)
                php(api) = 20100412-64
エラー: パッケージ: php-pecl-apcu-4.0.11-1.el7.x86_64 (epel)
             要求: php(zend-abi) = 20100525-64
            インストール: php-common-5.6.12-1.el7.remi.x86_64 (@remi-php56)
                php(zend-abi) = 20131226-64
            利用可能: php-common-5.4.16-42.el7.x86_64 (base)
                php(zend-abi) = 20100525-64

結果、何か問題があったようですが、ひとまず再起動します。

# reboot

ここで、KUSANAGIがアップデートしないことに気づいたので、

# yum update -y kusanagi*

これをすることで漸くKUSANAGIがアップデートできるようです。

結果、8.0.4にアップデート成功しました!

8.0.4にアップデート完了

kusanagi initで初期設定

KUSANAGIを初期設定する場合、
# kusanagi init
で初期設定するのが通例のようです。

こちらを参考に行っていきます。

参考KUSANAGIの初期設定 – KUSANAGI

今回の記事では初期設定するところは割愛します。

  1. Asia/Tokyo
  2. 日本語
  3. 英語キーボード(us配列)
  4. NGINX
  5. PHP7

結果、この設定にしました。

MySQLのパスワードとKUSANAGIのパスワードは秘密です笑

KUSANAGIに移設する

Macのhostsファイルの編集

kUSANAGIで構築したサイトががどこのIPに飛んだ時どうなるかを自分のパソコンの中だけで検証できる方法があるのです。

それが、hostsファイルの編集です。

ターミナル

ターミナルにてこちらのコマンドを実行します!

$ sudo vi /private/etc/hosts

そうしたらこちらの画面になります。

hosts ターミナル

そして、「i」キーを押して、insertモードにします。

Microsoft Azure の仮想マシンのダッシュボードをみて、IPを確認します。

Microsoft Azure の仮想マシンのダッシュボード

そのIPをhostsに記述します

IPアドレスとドメインを記述

IPアドレスとドメインを記述できたら、僕の場合はryo.nagoyaにアクセスしてみてください!(キャッシュの残ってないプライベートブラウジングや普段使ってないブラウザからの確認をオススメします)

設定したドメインにアクセス!

この画面が出たら成功!

Nginxの初期の画面が出たら成功です!

ここで問題発生

# kusanagi provision test3.ryo.nagoya

で、試しにやってみましたが、

Cannot get Let\’s Encrypt SSL Certificate files

Cannot get Let\’s Encrypt SSL Certificate files.
と証明書を取得できず、何度どやっても、ドメイン変えてもメールアドレスを変えても、エラーが出るようになりました。

そして、
# kusanagi update cert
とやってもダメで、

# /usr/local/certbot/certbot-auto renew

をやってもダメでした・・・

しかし、新設する前の今のサーバーで、
https://ai.ryo.nagoya
はなぜか成功し、
証明書の期限が切れても、

# /usr/local/certbot/certbot-auto renew

でhttpsでも行けるようになってました。

今回どこがダメなのでしょう。

NGですみません

ちょっと今回のこの記事はひとまずNGにして、

KUSANAGI for VMwareでMacのVMwareに新設して色々試してみます。

KUSANAGI for VMware – KUSANAGI

そして、成功したらまた、このブログを更新し、ryo.nagoyaはhttpsになります。

さてどれくらい時間がかかることやら・・・

頑張ります。

そしてそして、
サーバーを新設しなくても、
今あるプロビジョンで作ったサイトをhttps化するコマンドがあるそうです。

# kusanagi ssl –email メールアドレス プロビジョン名

しかしこれを実行してもエラーが出ました・・・

きっと根本的なところがダメなのでしょう。

頑張ってなんとかします。

参考HTTPで稼働しているWordPressサイトを「常時SSL、HTTP/2化」する方法(準備編) (1/3)

参考SSL証明書の透明性ってなんですか?

参考KUSANAGIに移設する際の5つの手順をまとめてみた

参考KUSANAGIをAWSとLet’s Encryptで安全高速化する

参考橋川吾教の「業務改善へのミチノリ」コラム第1回「Webサイト脆弱性&SEO対策は常時SSL化で決まり!」

参考「KUSANAGI」応用テクニック 常時SSLとHTTP/2の導入方法(商用SSLサーバ証明書編)

参考とにかく速いWordPress(14):「KUSANAGI」応用テクニック 常時SSLとHTTP/2の導入方法(商用SSLサーバ証明書編) (1/3) – @IT

参考「KUSANAGI」応用テクニック 常時SSLとHTTP/2の導入方法(Let’s Encrypt編) (1/3)

参考KUSANAGIの初期設定

参考KUSANAGIコマンド

参考AWS + KUSANAGIのHTTPS環境にブログを移行した手順 | 経験知

参考KUSANAGI(WordPress)をLet’s EncryptでSSL対応する – Qiita

参考KUSANAGIでブログをHTTPS化する手順 | みやの宝箱

参考KUSANAGIでブログをHTTPS化するときに発生するエラーの対処法 | みやの宝箱

参考KUSANAGIをHTTP/2に対応させる方法

参考WordPress + KUSANAGI + HTTPS インストール – gza.jp

投稿者プロフィール

魚住諒
魚住諒
26歳 統合失調症の回復期の認知機能障害やうつ症状などに悩んでいるが、克服して、勉強や仕事ができる頃の脳に戻したい。
愛知産業大学短期大学通信教育学部国際コミュニケーション学科卒業(英語)
2016年セブ島へ1ヶ月語学留学してきた。
WordPress/PHP/HTML/CSS/React を習得中
英語とプラグインやテーマを開発できる人になるよう日々研鑽
ジャズトランペットとガジェット関連が好きです。

[ 最近のWordPressコミュニティでの活動 ]
contents.nagoya 2019 オープンセッションスピーカー
WordCamp Haneda 2019 – START!セッションスピーカー
Aichi WordPress Meetup #9「WordPress用のレンタルサーバーの選び方 /Emmetツールの実演」
WordBench Nagoya 6月度 (初心者向け)「PHP入門からテーマ作成さらにWordPressを使う上で知っておくと幸せになることまでとことん知ろう!
Aichi WordPress Meetup #5「カスタムブロックを活用してみよう!」
2017 WordFesNagoya 実行委員 Webサイト制作チーム & セッションスピーカー
2016 WordFesNagoya 実行委員 Webサイト制作チーム & セッションスピーカー

TOEIC
2016年03月13日 LR 235 (Listening 180 Reading 55)
2018年04月08日 LR 300 (Listening 180 Reading 120)