WordPressをLightsailに移行した(メール以外)

Lightsailの一番安いインスタンスとRoute 53を使って、
お名前.comのドメインとロリポップのWordPressサイトを移行したときの手順。

Contents

移行前の確認

移行したいサイト:

現在のサーバー: ロリポップ

現在のドメインレジストラ: お名前.com

Lightsail インスタンス作成と設定

AWS Console にログインして Lightsail を選択

次に作成ボタンをポチっと:
Image from Gyazo

OSやアプリ、プランの選択

Image from Gyazo

  • 一番安い 3.5 USD/月 を選択
  • Linux + WordPress

3.5USDプランは、現在のところ1ヶ月間は無料なので気軽に試せますね。

インスタンス一覧画面: 作成したインスタンスが表示されます。
Image from Gyazo

これで、インスタンスが立ち上がります。

WordPressブログ をブラウザでみてみる

インスタンス一覧画面にて、インスタンス名をポチッとして、インスタンス詳細画面に遷移します。
Image from Gyazo

すでにインスタンスは動いて、詳細画面にある「パブリックIPアドレス」をブラウザでアクセスすることでWordPressブログを表示させることができます。(「プライベートIPアドレスではありません)」

インスタンス詳細画面の パブリックIPアドレス: (IPアドレスは人によって異なります)
Image from Gyazo

ブラウザで「パブリックIPアドレス」にアクセス

Image from Gyazo

bitnami管理情報ページにアクセス

ページの右下になにやら見慣れない「b」という文字のバナーリンクがあります。

Lightsailでは「bitnami」というサービスが用意した特別なWordPressパッケージ(WordPress本体に加えて、それを動かすために必要なミドルウェア、DBなどを一つに束ねたイメージ)を使っているためです。

ちなみにですが、BitnamiはLightsailやWordPressに限らずさまざまなサーバ環境で、さまざまなアプリケーションを利用することができるパッケージ(Cloud Image)を提供しているウェブサービスおよび会社の名前です。
簡単にWordPress環境を構築できる Bitnami+WordPress ですが、課題としては、スタック(ミドルウェア)のアップデート方法やセキュリティパッチを当てる方法がいまのところ不明なところです。
VPSなので、そこらへんは自分でやらないといかんのです。

はい、次に、WordPressの管理画面にアクセスする手順を説明します。

WordPressの管理画面にアクセス

WordPressの管理画面にアクセスしたいので、WordPressトップページ右下の「b」のアイコンをクリックします。すると以下のように、英語でいろいろ書いてあるページが出てきます(bitnami管理情報ページ)。
Image from Gyazo

bitnami管理情報ページの「Access data for WordPress」の下に WordPressの管理者情報が一部表示されています。 「Username: user」とありますので、WordPressのログインアカウント名が「user」であることがわかります。

ではログインパスワードどこにあるのか?というと、セキュリティのため、このページには記載されていません。
ログインパスワードを得るには SSHでLightsailサーバの中に入る必要があります。

bitnamiバナーを非表示にするには?

apacheを再起動する

Lightsailインスタンス(サーバー)にSSH接続してWordPressのログインパスワードを取得

SSH接続するために必要な情報に「秘密鍵」があります。Lightsailの「アカウントページ」からダウンロードできます。

以下のリンクから秘密鍵をダウンロードして自分のマシンに配置します。
場所は自分のわかりやすい場所でOKですが、他人に不用意に渡したりしないでください。
Image from Gyazo

ダウンロードしたファイルの名前は「LightsailDefaultPrivateKey-ap-northeast-1.pem」みたいな感じになっていると思います。

秘密鍵のパーミッションを400に変更

以下のコマンドで先程ダウンロードした秘密鍵のファイルパーミッションを変更します。

sshコマンドでサーバーにログイン

以下のようにして ssh コマンドを実行します。
iオプションで秘密鍵のパス、そして「sshユーザー名@パブリックIPアドレス」を指定します。

※ 「パブリックIP」と「sshユーザー名」はLightsaileの「インスタンス詳細ページ」で確認することができます。

以下のようなメッセージが出て来た場合は、「yes」と入力してエンターします。

sshコマンドがうまくいくと以下のような結果になって、サーバーに接続できたことがわかります。

WordPressのログインパスワードを表示させる

以下のコマンドをLightsailサーバー上で実行します。

catというコマンドで「bitnami_application_password」というファイルの中身を画面に表示させます。
このファイルの中にパスワードが記載されています。

コマンド実行すると以下のような文字列(12文字)がターミナルに表示されると思います。
これがWordPressのログインパスワードですので、テキストエディタなどにコピっておきましょう。

コマンドのパスを通す

bitnamiのphpにパスを通す:

mysqlにパスを通す

最新の WP-CLI のインストール

bitnami WordPressにはすでにWP-CLIが入っていますが、
バージョンが古い(1.5.1)ので、最新のWP-CLIのインストール方法を書いときます。

最初から入っているWP-CLIコマンド(1.5.1)について

インストール場所は以下です。

使う場合は wpコマンドのパスを通すと楽です。

サーバー情報収集

ついでにサーバーの情報を調べておきます。

OS情報:

CPU:

メモリ:

ディスク:

WordPressやPHP、MySQLなどのバージョン:

Application Root: /home/bitnami/apps/wordpress

DocumentRoot: /home/bitnami/apps/wordpress/htdocs/

WordPressのhttpd設定ファイル: /opt/bitnami/apps/wordpress/conf/httpd-app.conf

最初から入っているWordPressプラグイン(ただし無効化されている):

サーバーからログアウトする

exitコマンドでssh接続を切断しログアウトします。

WordPress 管理画面にアクセスする

ブラウザで「http://パブリックIPアドレス/wp-admin」にアクセスします。
※ パブリックIPアドレスはご自身のものに置き換えてください。

するとログイン画面が表示されるので、先程入手したパスワードとユーザー名でログインします。
Image from Gyazo

WordPressダッシュボードにアクセスしたところ:
Image from Gyazo

パブリックIPアドレスを固定(静的IP)にする

初期状態だとインスタンスのIPアドレスは動的になっています。
つまり、インスタンスを停止し再度起動するとIPアドレスが変わってしまいます。

それだと都合が悪いので、以下キャプチャのボタンをクリックしてIPアドレスを固定しましょう。

Image from Gyazo

静的IPアドレスの作成

すると、以下のような「静的IPアドレスの作成」というページになります。
Image from Gyazo

「インスタンスへのアタッチ」で、対象のインスタンスが選択されていることを確認して「作成」ボタンをクリックします。

静的IPの詳細画面に遷移すれば作成は完了です。以降は 静的IPアドレスを使うようにします。
Image from Gyazo

これで、インスタンスを再起動してもIPアドレスが変わることはなくなりました。

また、この時点で先程の動的なパブリックIPアドレスにはアクセスできなくなります。
sshするときや、ブラウザでチェックするときは、こちらの静的IPアドレスを使うようにしましょう。
Image from Gyazo

静的IPアドレスの料金について

ちなみに静的IPアドレスの料金について少しだけ注意点です:
よくある質問

Lightsail 静的 IP にかかるコストはどれくらいですか?
Lightsail を使用している間は無料です。 ある静的 IP がインスタンスにアタッチされている場合、その静的 IP に対する支払いは発生しません。パブリック IP は希少なリソースであり、Lightsail では効率的な利用に努めています。そのため、インスタンスに 1 時間以上アタッチされていない静的 IP に対しては、0.005 USD/時間という少額の料金を課金しています。

どのインスタンスにも紐付かない静的IPアドレスを保持していると
少額(年間にすると 43.8 UDS)ですが課金されます。

wordmove で移行させたいサイトをまるっとダウンロードする

以下はローカルで作業します。

wordmoveで全部ダウンロードします:
(movefile.ymlをすでに記述済みであることを想定しています)

これでローカルにWordPressをコピーできました。

wordmove でLightsailにまるっとアップロードする

以下はローカルで作業します。
まず、wordmoveの設定ファイル(movefile.yml)に移行先(Lightsail)の情報を追記します。

以下のように記述します:

上でLightsailにSSH接続する際は、iオプションで鍵ファイルのパスを指定しましたが、
その秘密鍵のパスをwordmoveにも伝えて上げる必要があります。そのためには、.ssh/config
を以下のように編集します(ファイルがなければ作ります)。

以下を追記します。

そうしたら、ようやく wordmove でアップロードします。

スタイルが効いてない

アップロードできたのはいいものの、なにやらいろいろおかしな状態です。

Image from Gyazo

wpwand.comではbeans theme frameworkというテーマフレームワークを使っているのですが、
lessを毎回トランスパイルしている設定にしています。なのでファイルを書き込めずエラーになっていると考えました。なので一旦パーミッションをもとに戻します。

とりあえず直った:
Image from Gyazo

wordmoveでpushするとパーミッションが変わってしまうので、その点は注意ですね。

一旦ここまで。
次は、メールとドメイン設定について説明します。

お名前.comのドメインをLightsailに向ける

やり方は いろいろありますが、今回は AWSにドメインを移管するのではなく、お名前.comにAWSのネームサーバー(### NS)を参照してもらうことにします。

いまのところ、パブリックIPアドレスでしかLightsailインスタンスにアクセスできていない状態。
本来は、 wpwand.com にアクセスしたら 移行先のパブリックIPアドレスを見てほしいわけです。

ドメイン wpwand.com はお名前.comを利用していますので、適宜読み替えていただければと思います。

AWS Route 53 の設定

AWS マネージメントコンソール から Route53 にアクセスします。

Image from Gyazo

HostedZones の作成:

DNS Managementのボタンをクリック。
Image from Gyazo

「Create Hosted Zone」ボタンをクリック。
Image from Gyazo

管理したいドメイン(wpwand.com)を入力して「Create」する。
Image from Gyazo

するとこんな感じで NSとSOA ができる。
Image from Gyazo

次に、パブリックIPアドレスとネームサーバーを結びつけたいので、「Create Record Set」ボタンを押します。TTLは300で ValueにはLightsailインスタンスの「パブリックIPアドレス」を入力します。
Image from Gyazo

確認したら「Create」します。

これで Aレコードが追加されて、NSとIPアドレスが紐付けることができました。
また、digって確認してみます。

パブリックIPアドレスが出力されれば、OK!

この NSレコードの値をお名前.com に登録すれば wppand.com にアクセスすると Lightsailインスタンスのサイトを表示させることができるはず。

お名前.comでの作業

設定変更する前に現在のDNSの状況を確認しておこう。

上で取得したRoute53のネームサーバーをすべてお名前.comに登録します。
ネームサーバーの変更画面で設定することができます。

Image from Gyazo

SSL設定 (Let’s Encryptを使う)

ロードバランサー使うと月額18USD かかるので、無料のLet’s Encrypt を使います。
以下のスクリプトをLightsailインスタンスにsshログインして実行するとサクッとできるかと思います。

  • あなたのドメイン 例:wpwand.com
  • あなたのメールアドレス 例 example@example.com

Let’s encryptの証明書更新コマンド

証明書は約3ヶ月ごとに更新する必要があります。
以下のコマンドで更新します。

オプションとかは適宜読み替えてください。

httpをhttpsに転送する

サーバー上のhttpd設定ファイルを開きます

以下のところに追記します。

apacheを再起動して反映させます。

ブラウザ確認

Image from Gyazo

メールはめんどいのでまた今度。
ではでは。

Filed under: WordPressの運用Tagged with: ,

No comment yet, add your voice below!


Add a Comment

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください