Sassyブログ

埼玉県在住のシステムエンジニアです。多ジャンルなブログですが、基本的にはIT関連の内容を中心に発信していきます。

【Wordpress】デモサイト用に立てたAWS EC2からロリポップへWordpressのデータ移行する際の手順と注意点

f:id:y_saiki:20211007153834p:plain

始めに

WordPress制作のお仕事をいただいたときに複数人で作業するのにAWSWordPress環境を構築し、商用環境はロリポップレンタルサーバーに配置するというケースがあったため、WordPressの環境移行についての手順をまとめようと思います。

流れは簡単でデータインポート時にphpMyAdminというツール上でSQLというDBを操作するコマンドを叩く必要がありますが、簡単にできるようにするためテンプレートを載せておくのでURLの部分をご自身の環境に書き換えてコピペして実行していただければと思います。

またこちらAWSロリポップという環境移行になりますが、ご自身のPC上で作成されている場合→ロリポップ、またはロリポップだけでなく別の環境でも全体的な流れは一緒なのでご参考にしていただければ幸いです。

準備

Wordpress本体をAWSからダウンロードする

AWSにSFTP接続を行いフォルダをダウンロードします。

FTPソフトを使うことで簡単に行えます。

AWSではFTPでのアクセスができないのでSFTPで秘密鍵を使って認証を行いサーバーへアクセスします。

ご自身のPC上で作業されている方は不要です。

DBデータをエクスポートする

phpMyAdminに接続してエクスポートを行います。

phpMyAdminを開き、wordpressからDBへアクセスする際に使用しているユーザーでログインしてください。

最初に画面の左側のメニューにあるエクスポート対象のDBを選択します。

今回は「wordpress-db2」を選択してエクスポート作業を行います。

赤枠の「エクスポート」ボタンをクリックしてください。

f:id:y_saiki:20211007044954p:plain

特に細かい設定はせずにそのまま「実行」ボタンをクリックします。

f:id:y_saiki:20211007044958p:plain

そうすると .sqlという拡張子のついたファイルがダウンロードされるのでそちらを大切に保管しておきましょう。

【注意】

私は制作時にDB管理しており基本私しかphpMyAdminへアクセスしなかったため、基本root権限(管理者のことどんな操作でも可能)でログインしていたのでうっかりエクスポート時もrootユーザーでログインしてしまっていたのですが、

rootユーザーでエクスポートすると出力されるファイルにrootユーザーへの切り替るような処理が追加されており、これがレンタルサーバーのような作成したユーザーでのみしかログインできない環境の場合、

インポート時にエラーが発生してしまうのでVPS上でDBを構築した場合やローカルでご自身で構築したDBを使用している方は必ずWordpPress用に作成したユーザーでログインしてからエクスポート作業を行うと上手くいくと思います。

参考に貼っておきますが以下のようなエラーです。

思いっきり「Access denied」と書かれていますね。

これで気づきました( ゚Д゚)

f:id:y_saiki:20211007045112p:plain

手順

ロリポップ公式サイトにある移行に関しての詳しい説明はこちらです。

lolipop.jp

ロリポップwordpressをアップロードする

まずはレンタルサーバーへFTPソフトを使ってアクセスしましょう!

準備で用意したwordpress本体をそのままアップロードします。

画像や動画などを使っていると重いので気長に待ちます。

DB作成

アップロードにある程度時間がかかるので、その間にDBの作成を行います。

ロリポップの管理画面から左側のメニューにて「サーバーの管理・設定」→「データベース」を選択すると以下ような画面が開きます。 (こちらの画像は2021/10時点のものです)

「作成」ボタンをクリックします。

f:id:y_saiki:20211007045026p:plain

そうするとDB作成画面が開きます。

f:id:y_saiki:20211007045030p:plain

以下3つの項目があります。

  • 作成するサーバー
  • データベース名
  • 接続パスワード

順番に説明していくと作成するサーバーに関しては特にデフォルトのままでもよいと思います。 (何か違いがあれば教えてください。)

データベース名はDBの名前です。

ただしロリポップの場合は[ユーザー名]-[任意の文字列]がデータベース名となっており、データベース名の名前付けに制限があります。

接続パスワードは任意の文字列にしてください。

私は以下のパスワードジェネレータで最強にしてパスワードを入力しています。

www.luft.co.jp

DBデータをインポートする

DB作成が完了したら、準備で用意した.sqlという拡張子が付いたファイルを読み込ませてインポート作業を行います。

まずはロリポップphpMyAdminへアクセスしましょう。

詳しいインポート手順は公式サイトに任せます。

webkaru.net

インポート後、データベースが選択された状態で以下の画像の上にあるメニューから「SQL」を選択して、開いた画面のテキストエリアに以下のSQLコピペして「実行」をクリックします。 ※事前にhttp://from-example.comhttps://to-example.comの部分の文字列はご自身の環境に合わせて変更してください。

UPDATE wp_options SET option_value=REPLACE(option_value,"http://from-example.com","https://to-example.com");
UPDATE wp_posts SET post_content=REPLACE(post_content,"http://from-example.com","https://to-example.com");
UPDATE wp_posts SET guid=REPLACE(guid,"http://from-example.com","https://to-example.com");
UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,"http://from-example.com","https://to-example.com");

これでインポート作業は完了です。

wp-config.phpを編集する

FTPソフト上でよいのでwp-config.phpを開いて以下の部分を編集します。

先ほど作成したDBの情報に合わせて書き換えてください。

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'xxxxxxxxxx' );

/** MySQL database username */
define( 'DB_USER', 'xxxxxxxxxx' );

/** MySQL database password */
define( 'DB_PASSWORD', 'xxxxxxxxxx' );

/** MySQL hostname */
define( 'DB_HOST', 'mysql●●●.phy.lolipop.lan' );

書き換え後保存を行います。

公開設定を行う

最後にアップロードしただけではブラウザで確認できません。

WordPress本体をフォルダのままアップロードしたかと思うので、フォルダを指定しましょう。

ロリポップ管理画面の左側メニューから「サーバーの管理・設定」→「独自ドメインを選択してください。

開いた画面内に公開フォルダという入力項目があるのでこちらのテキストボックスにアップロードしたWordPressのフォルダ名を入力してください。

私はwordpressというフォルダ名にしたのでwordpressと入力しました。

これで更新を行うとブラウザからサイトのURLへアクセスしたときに表示されるようになります!

最後に

ロリポップは公式サイトに手順なども掲載されているのでとても使いやすかったです。

レンタルサーバーをご検討中の方は無料期間もありますので試しに使用してみるのもよいかなと思います!

合わせて独自ドメイン取得については同じ運営会社が提供するムームードメインというサービスもあります。!

ちなみに当サイトのドメインムームードメインで取得しています!

良ければ他にもWordPress関連の記事があるので読んでいただければ幸いです。

www.sassy-blog.com

www.sassy-blog.com

www.sassy-blog.com