WordPress

【WordPress】LightsailでPHPをアップデートする方法


Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

こんにちは!SE ブログの相馬です。

 

 

今回は、Lightsail で PHP をアップデートする方法について、実際このブログが使っているインスタンスで実証してみました。

 

 

まず先に言わなければならないのは、Lightsail のインスタンス上で PHP をアップデートする事は非常に困難を極める為に、新しいインスタンスを作成してから WordPress を丸ごとお引越しする方法しかないとほぼ断言しても良いかと思います。

 

 

Lightsail の PHP は bitnami と言われるもので構成されており、PHP をアップデートする場合は bitnami 全てをアップデートしなければならなさそうです。半年くらいかけて英語含めて時間をかけて検索魔となりググりまくったのですが(時間かけすぎだろといわれそうですが。。)、結局これと言った有効な情報はありませんでした。。残念無念!!

 

 

 

Lightsail の PHP をアップデートしないと起こる問題

 

 

何が一番問題かというと、PHP をアップデートしないとセキュリティやパフォーマンスの問題、Google の評価まで落ちます。これは、Lightsail を使っているブロガーの方としては大きな問題です。同じ Lightsail のインスタンスを使っている以上、古い PHP のバージョンを使わざるを得ない事になる為に対応は必須となります。

 

 

 

Lightsail の PHP をアップデートする主な2つの方法

 

 

これらの問題を解決する方法は主に2つしかないと思います。

 

 

1つ目は Lightsail を使わず EC2 を使うか AWS 以外を使うかです。いずれもかなり大きな決断だと思います。というか、自分で突っ込みますがそもそもこれってアップデートじゃなくて代替え手段になるんですよね。。汗 ですが一応方法として書いた次第です。

 

 

2つ目は上にも書きましたが、WordPress の移行方法を確立させておき、必要な時に時間やリスクを抱えずに対応する事です。これも PHP のアップデートではありませんが、アップデートは困難を極めるのでアップデート方法は無いという前提で、Lightsail を継続して使う観点での方法になります。

 

 

という事で、私は色々悩みましたが、WordPress の移行方法を確立させる事にしました。Lightsail に愛着があり使い慣れている事と、たぶん他にも同じ悩みを抱えている方も当然いると思うので、私が確立できた方法を基に実践してほしい為です。

 

 

という事で、少し手間取ったところもありましたが大きな問題も無く移行できましたので方法をまとめました。ご参考にどうぞ。

 

 

 

実践した WordPress の移行方法

 

 

簡単に段取りをまとめると以下のようになりました。概要としては、All-in-One WP Migration  を使えば DB 含めて WordPress 丸ごと移行できるので、新しい Lightsail インスタンスを作ってそこに移行すれば簡単にできるといった内容です。

 

 

他にも様々な方法があるかと思いますが、これは継続して行う作業なので簡単な方法以外は辞めました。移行そのものはブログの執筆作業の妨げになります。いつか失敗した時の挫折でブログが正しく動作しなくなたり、そういったマイナス要因でブログを継続する事をあきらめるなんてこんな悲しいことは決して起きてはならないからです。

 

 

で、こんな段取りになりました。お使いの環境によってはこれ以上になるかもしれません。

 

  1. 移行元の WordPress に All-in-One WP Migration プラグインをインストールする
  2. All-in-One WP Migration から File でエクスポートする
  3. 新規で WordPress のインスタンスを作る(これが移行先になる)
  4. 移行先の WordPress に All-in-One WP Migration プラグインをインストールする (多分インストール済みかも)
  5. All-in-One WP Migration から移行元の WordPressの File でエクスポートしたファイルをインポートする
  6. 移行元の Lightsail インスタンスの パブリック IP をデタッチし、移行先にアタッチする
  7. 移行先の WordPress で必要な設定を行う(SSL 設定、ログインシールの削除や DB テーブルのプレフィックス名変更など)
  8. 記事やサイトのリンクがドメイン名ではなく IP アドレスになっているのでプラグインを使い一括修正する
  9. 移行元の Lightsail インスタンスを停止し、動作テストを実施する

 

補足をしますと、5 番のインポートはファイルの容量に制限がありますので、ほとんどの場合、有料で 69 ドルくらいで、All-in-One WP Migration Unlimited Extension プラグインを購入して制限を解除しなければなりません。要はお金がかかるという事ですよね。

 

 

ただし、これは継続した作業になりますのでワンタイムの費用としてではないのでそう考えれば決して高くはないと思います。

 

 

あと、気を付けなければならない点としては 6 番ですね。移行元のLightsail インスタンスにアタッチされているパブリック IP を、必ず移行先の Lightsail インスタンスにアタッチしてください。これをしないと Google 検索の評価において致命的な問題が発生しますので注意が必要です。

 

 

7 番は抜かりなく確認してください。SSL の設定は当然ですが必須ですし、ログインシールはセキュリティ上とても危険なので必ず削除してください。DB のテーブルのプレフィックス名もやり残すのではなく、このタイミングで変更しておきましょう。

 

 

8番も対応しておきましょう。内部リンクの問題につながりますのでいらぬ事で後で問題が起きるよりはここで対応すべきかと思います。

 

 

 

WordPress の移行に必要な物まとめ

 

 

必要なものは最低でも以下の 4 つになると思います。お使いの環境によってはこれ以上になると思います。

 

Lightsail の 新しい WordPress インスタンス ← 移行先

All-in-One WP Migration (無料版はインポート40 MB まで)

Change Table Prefix ← 移行後に DB テーブルのプレフィックス名を変更

Better Search Replace ← 移行後に 内部リンクのアドレスがドメイン名ではなく IP アドレスになっているので修正

 

 

 

WordPress を移行する

 

 

では WordPress を移行してゆきましょう。

 

 

 

Lightsail インスタンスの作成

 

 

1. まずは、AWS にログインしてインスタンスを作成します。

 

 

2. インスタンスができました。

 

 

 

 

WordPress のエクスポート

 

 

1. All-inOne WP Migration プラグインをインストールします。

 

 

 

2. 「ファイル」をクリックして WordPress 丸ごとエクスポートします。

 

 

 

 

WordPress のインポート

 

 

1. 新しく作成した Lightsail インスタンスのパブリック IP を確認します。

 

 

 

2. 念のためサイトへのアクセスができるか確認しておきます。

 

 

 

3. 新しく作成した Lightsail インスタンスのコンソールで WordPress にログインする為のパスワードを確認します。

 

 

 

 

4. ユーザー名は「user」、パスワードは上の手順で確認したパスワードを入力してログインします。

 

 

 

5. All-in-One WP Migration プラグインが入っていなければインストールしておきましょう。

 

 

 

6. All-in-One WP Migration プラグインから移行元の WordPress でエクスポートしたファイルをインポートします。ファイルが 40 MB を超えるとインポートできませんので、有償版を購入してインポートする必要があります。

 

 

 

 

7. インポート手順は以下のような流れとなります。かかる時間はエクスポートしたファイルのサイズやインターネットの回線によります。

 

 

 

 

WordPress の移行後に行うこと

 

 

パーマリンク設定を確認して保存する

 

 

移行前の WordPress とパーマリンクが同じか確認して保存します。これが間違うを Google 検索などの評価で致命的な問題が発生しますので必ず確認しましょう。

 

 

 

 

ログインシールの削除

 

 

WordPress のファイルをインポートしてもログインシールは消えませんので、コマンドを実行して削除する必要があります。

 

 

 

 

 

パブリックIPの移行

 

 

1. 以下の方法でパブリックIPも必ず移行しましょう。同じパブリックIPでないと Google のサイト評価が落ちますので必ず実施しましょう。

 

 

 

2. 移行した後は nslookup コマンドを実行してドメインに対して移行したパブリックIPが表示されている事を確認します。

 

 

 

 

SSL化

 

 

サイトが SSL 化されていませんので、SSL 化する必要があります。

 

 

 

 

1. まずは、「wp-config.php」を開いて設定内容を一部変更しましょう。※以下のようにHTTP から HTTPS に変更します。

 

 

 

 

 

2. その後に、以下の記事を参考に Bitnami HTTPS Configuration Tool というものを使い証明書をインストールして SSL 化します。

 

 

 

 

これで基本的な部分は全て完了です。環境によっては他にも設定をする事があれば確認して修正などしましょう。

 

 

 

まとめ

 

 

いかがでしょうか。私もこれで長い間古い PHP や MySQL のバージョンから解放されたので良かったです。

 

 

 

古い PHP や MySQL のバージョンを使っていると Google の評価も落ちますので定期的にこの方法を使って WordPress を引っ越すようにしましょう。

 

 

 

それでは最後までお読みいただきありがとうございました!

 

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴3年。PVは月15万PV程度。
趣味はボクシング、筋トレ、登山です。
穏やかで人見知りな性格です。

人気記事

1

こんにちは!そーまんです。 今回は、PC に適用されている GPO を確認する方法について書きました。 本題に入る前に、一応参考までにGPOの適用タイミングについての記事をここに貼りましたので、必要に ...

2

こんにちは!そーまんです。 今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは前置きからです。 まずはじめに 組織では PC のラ ...

3

こんにちは!そーまんです。 今回は、グループポリシー (GPO) を使って、特定のコンピューターに対して、ドメインユーザーに ローカル管理者権限 (以下は特権と記載) を付与する方法について書きました ...

4

こんにちは!そーまんです。 今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 Windows 10 の検証環境をいじってたらサイン ...

5

こんにちは!そーまんです。 今回は、ユーザープロファイルを削除する方法について書いてみました。 企業の場合よくあることですが、1 台の PC を共有 PC として複数人で使ったり、また余り無いかもしれ ...

6

こんにちは!SE ブログの相馬です。       今回は、繰り返し文について書いてみました。PowerShell では他のプログラミング言語同様、繰り返し処理を行うことが ...

7

コマンドを使って CPU とメモリの使用率をデータで取得してみましたので、例えば PC のトラブルシューティングで問題を再現させる際にデータを取得しておくと、原因の特定に役立つ場合があるかと思います。

8

既存の PC と同じ構成で別のメーカーの PC でマスターイメージを作る際、インストールされているアプリを同一にする為に必要になるかと思います。

9

企業で多くの GPO が適用されている環境では、PC に GPO が適用されなかったりする問題が発生する場合があるかと思います。その中でも、コンピューターの構成またはユーザーの構成のどちらかで、...

10

こんにちは!そーまんです。 今回は、Windows Server 2019 で NTP サーバーと同期する方法について書きました。 NTP サーバーの必要性や時刻同期の重要性を理解することは社内のシス ...

-WordPress
-,


Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637