始めに
WordPress制作のお仕事をいただいたときに複数人で作業するのにAWSでWordPress環境を構築し、商用環境はロリポップのレンタルサーバーに配置するというケースがあったため、WordPressの環境移行についての手順をまとめようと思います。
流れは簡単でデータインポート時にphpMyAdminというツール上でSQLというDBを操作するコマンドを叩く必要がありますが、簡単にできるようにするためテンプレートを載せておくのでURLの部分をご自身の環境に書き換えてコピペして実行していただければと思います。
またこちらAWS→ロリポップという環境移行になりますが、ご自身のPC上で作成されている場合→ロリポップ、またはロリポップだけでなく別の環境でも全体的な流れは一緒なのでご参考にしていただければ幸いです。
準備
Wordpress本体をAWSからダウンロードする
AWSにSFTP接続を行いフォルダをダウンロードします。
FTPソフトを使うことで簡単に行えます。
AWSではFTPでのアクセスができないのでSFTPで秘密鍵を使って認証を行いサーバーへアクセスします。
ご自身のPC上で作業されている方は不要です。
DBデータをエクスポートする
phpMyAdminに接続してエクスポートを行います。
phpMyAdminを開き、wordpressからDBへアクセスする際に使用しているユーザーでログインしてください。
最初に画面の左側のメニューにあるエクスポート対象のDBを選択します。
今回は「wordpress-db2」を選択してエクスポート作業を行います。
赤枠の「エクスポート」ボタンをクリックしてください。
特に細かい設定はせずにそのまま「実行」ボタンをクリックします。
そうすると .sql
という拡張子のついたファイルがダウンロードされるのでそちらを大切に保管しておきましょう。
【注意】
私は制作時にDB管理しており基本私しかphpMyAdminへアクセスしなかったため、基本root権限(管理者のことどんな操作でも可能)でログインしていたのでうっかりエクスポート時もrootユーザーでログインしてしまっていたのですが、
rootユーザーでエクスポートすると出力されるファイルにrootユーザーへの切り替るような処理が追加されており、これがレンタルサーバーのような作成したユーザーでのみしかログインできない環境の場合、
インポート時にエラーが発生してしまうのでVPS上でDBを構築した場合やローカルでご自身で構築したDBを使用している方は必ずWordpPress用に作成したユーザーでログインしてからエクスポート作業を行うと上手くいくと思います。
参考に貼っておきますが以下のようなエラーです。
思いっきり「Access denied」と書かれていますね。
これで気づきました…
手順
ロリポップ公式サイトにある移行に関しての詳しい説明はこちらです。
ロリポップへwordpressをアップロードする
まずはレンタルサーバーへFTPソフトを使ってアクセスしましょう!
準備で用意したwordpress本体をそのままアップロードします。
画像や動画などを使っていると重いので気長に待ちます。
DB作成
アップロードにある程度時間がかかるので、その間にDBの作成を行います。
ロリポップの管理画面から左側のメニューにて「サーバーの管理・設定」→「データベース」を選択すると以下ような画面が開きます。 (こちらの画像は2021/10時点のものです)
「作成」ボタンをクリックします。
そうするとDB作成画面が開きます。
以下3つの項目があります。
- 作成するサーバー
- データベース名
- 接続パスワード
順番に説明していくと作成するサーバーに関しては特にデフォルトのままでもよいと思います。 (何か違いがあれば教えてください。)
データベース名はDBの名前です。
ただしロリポップの場合は[ユーザー名]-[任意の文字列]
がデータベース名となっており、データベース名の名前付けに制限があります。
接続パスワードは任意の文字列にしてください。
私は以下のパスワードジェネレータで最強にしてパスワードを入力しています。
DBデータをインポートする
DB作成が完了したら、準備で用意した.sql
という拡張子が付いたファイルを読み込ませてインポート作業を行います。
まずはロリポップのphpMyAdminへアクセスしましょう。
詳しいインポート手順は公式サイトに任せます。
インポート後、データベースが選択された状態で以下の画像の上にあるメニューから「SQL」を選択して、開いた画面のテキストエリアに以下のSQLコピペして「実行」をクリックします。 ※事前にhttp://from-example.comとhttps://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へアクセスしたときに表示されるようになります!
最後に
ロリポップは公式サイトに手順なども掲載されているのでとても使いやすかったです。
レンタルサーバーをご検討中の方は無料期間もありますので試しに使用してみるのが一番理解が早いと思います。
ちなみに、ベーシックプランでは「ドメインずっと無料」というオプションも付いてきて、個別でドメインを契約するよりも設定が簡単だったり費用が安く抑えられます。
ベーシックプランより下位プランでは付いてないので個別で取ることになりますが、同じGMOが運営するムームードメインというサービスがあり、これを併せて利用するとDNS設定等の面倒な作業が簡単に行えるので便利です。
ちなみに当サイトのドメインもムームードメイン で取得しています!
また、ご自身でのデータ移行作業に抵抗があったり、不安があるかたは サーバー移転代行サービス「サイト引越し屋さん」 を利用することで安心して移行することが可能です。
良ければ他にもWordPress関連の記事があるので読んでいただければ幸いです。