超初心者がパソコンの知識ほぼゼロからワードプレスでブログを作っています。
ローカル環境で、ある程度サイトができたので、本番環境への移行を試みました。ローカル環境から本番環境への移行は、データベースの移行やURLの変更を伴い、超初心者の私にはちんぷんかんぷんです。
何度も失敗し、普通の人よりややパソコンを扱えるであろう夫に泣きつき助けてもらいながら、ようやく成功したと思われるので記録しておきます。
目次
1.使用環境
Windows10
WordPress Theme;STORK
レンタルサーバー エックスサーバー
ローカル環境 local by Flywheel
2.レンタルサーバーにデータベースを新規作成する
移行するWordPressが使用するデータベースを新規作成します。
サーバーパネルにログイン、MySQL設定を開きます。
MySQLの追加(確定)で新規データベースが作られます。
アクセス権未所有ユーザになっているので、追加をクリックするとアクセス権所有ユーザにユーザ名が表示されます。
3.Wordpressフォルダ(local)を編集し、サーバーへアップロードする
1.Wordpressフォルダ(local)を作業用フォルダへコピーする
Local by flywheelの「STOP SITE」をクリックして(START SITEが表示された状態にして)ローカル環境の起動を停止させます
Local by flywheelのサイト名下URLの右の>をクリックします
C:\Users\ユーザ名¥Local Sites\サイト名¥app\pablicのフォルダを作業用フォルダ(デスクトップ)にコピーします。
2.作業フォルダ内でwp-config.phpを修正する
ファイル内の「wp-config.php」をエディタで開きます。
以下の項目の編集を行います。
書き換え場所
define( ‘DB_NAME’, ‘local→DB名’ );
define( ‘DB_USER’, ‘root→DBのユーザー名’ );
define( ‘DB_PASSWORD’, ‘ root→DBパスワード’ );
define( ‘DB_HOST’, ‘ local host→mDBのホスト名’ );
データベース名:
レンタルサーバーに新規作成したデータベース名
ユーザー名:
レンタルサーバーで利用するデータベースのユーザー名
パスワード:
レンタルサーバーで利用するデータベースのパスワード
ホスト名:
レンタルサーバーで利用するデータベースのホスト名
上書き保存してファイルを閉じます。
3..htaccessの編集
私のlocal のwordpressフォルダには存在しなかった(?)ので何も編集していません。隠れていたのかもしれませんが、後にこれによる影響は考えられませんでした。
現在の.htaccessは、後の行程でレンタルサーバーにアップロードする際に、もとから入っているものが残っている状態です。
.htaccessを編集する場合
1.RewiteBase
2.RewiteRule
の「データベース名/」を削除。
と、他サイトにはありましたが、私かやっていないので詳しくは明記出来ません。。
4.WordPressフォルダをサーバーへアップロードする
編集したWordPressフォルダをFTPソフトにてサーバーへアップロードします。
「新しければ上書き」を選択します。
移行後、サイトの管理画面が表示されず、エックスサーバーの画面が表示された場合
WordPressフォルダを丸ごとアップロードする際は、
「FTPソフト」か「レンタルサーバーのファイルマネージャー」で、自分のドメインの直下の「public_html」を開き、その中の「index.html」を削除してから、ローカル環境のWordPressファイル一式をアップロードします。
WordPressのトップページを表示するファイルは「index.php」です。
読み込みの優先順位は「index.html」より下になりますので、「index.html」を削除しないとエックスサーバーのindex.html画面が表示されます。
もしそうなった方は「index.html」を削除してみてください。
ずいぶん初期に書いた記事なので、ちょこちょこおかしいところが多々あると思います。
修正出来るところはやっていますが、移行作業を行う機会が出来たらまたしっかり直します。
とりあえず、この当時は何回かやり直し、最終的にこの方法でうまくいきました。
ただ、今回、本番からローカルへの移行を改めてやってみて、WordPressフォルダのアップロード。
修正せず、上書き作業をしなければどうだろうか、と思いました。
本番からローカルに移すとき、
.htaccess
wp-config.php
wp-login.php
を退避して他のファイルを上書きしました。
その後、これらを戻しました。
試してはないですがwp-config.phpの内容が移行先のドメイン、情報に変わっていれば良いのであれば、上書きしていない元のファイルなら問題ないのかな。と。
皆さん、ローカルから本番へはwp-config.phpの修正が入っているように思います。
が、そう書かれているサイトを見つけました。
できれば初心者はファイルの中身を修正とかあまり触りたくないです。
ココで紹介した方法でうまくいかない場合、もし参考になれば。
完成されていない記事で申し訳ありません。
4.ローカル環境からエックスサーバーへデータベースを移す
1.ローカル環境のデータベースをエクスポートする
local by flywheelのDATABASE ADMINERを開きます。
*下記の写真○で囲ったところではなく、その下の「DATABASE」の下、枠で囲まれた「ADMINER」をクリックします。写真は間違いです。
Adminerの管理画面で、左側DB:local 「エクスポート」を選択します。
次の画面で、以下のように選択して、「エクスポート」を選択します。
任意のフォルダにデータベースのバックアップファイル(local.sql)が作成されます。
2.エックスサーバーにデータベースをインポートする
エックスサーバーのデータベース→phpmyadmin(MySQL5.7)を開きます。
インポートするデータベースを選択しておきます。
インポートのページを開き、ローカル環境で作成したデータベースのバックアップファイル(local.sql)を選択します。
実行ボタンを押すと、「~クエリーを実行しました」と表示されたらインポート終了です。
5.URLの書き換えを行う
ローカル環境下のURLを本番環境のURLに置換するのは、無料配布されているプログラムを使います。
1.「Search Replace DB」をダウンロードする
サイト:Search and Replace for WordPress Databases Script
ダウンロードはこちら
ダウンロードしたZipファイルを解凍し、「Search-Replace-DB-master」というフォルダをフォルダごとすべてWordPressフォルダの先頭フォルダにアップロードします。
*展開した「Search-Replace-DB-master」フォルダの中にさらに「Search-Replace-DB-master」と言うフォルダがあるのでそちらをアップロードして下さい。
2.URLの置換
ブラウザで、このフォルダにあるindex.phpを開きます。 「https://サイト名/Search-Replace-DB-master/index.php」
すると、以下の画面が表示されるので必要事項を入力します。
①旧ドメイン(ローカル環境のURL)
②新ドメイン(本番サイトURL)
*ドメイン入力は最後の/は入力しない。SSL化を行っている場合はhttpsと入力する。
ドメインと書きましたが、URLです。
参考にしたサイトがドメインと書いてあったのですが、自分が置換する際にうまくいかず、URLで成功しました。
他サイトでも、URL、(=サイトアドレス)の表記だったり、ドメインだったり、サイトによって違います。
私の場合、httpsとhttpで異なるためか、理由は私には分りかねますが、httpの部分で異なる場合はURLで入力してみて下さい。
③database情報 データベース名、ユーザー名、パスワード、host名が自動入力されているので確認します。
④「dry run」で正しく置換するか確認します。
⑤問題がなければ、「live run」で実際に置換を実行します。
⑥重要 「delete me」
置換が終了したら、このボタンでスクリプトを削除します。残っていると、アクセスされてデータベースを書き換えられてしまう危険性があるので必ず削除します。
以上で全ての行程が終了です。ブラウザで、移行したWordPressで作成したサイトが正しく表示されるか確認します。
6.問題点
私の入力間違いや操作ミスでエラーになり、サイトが開けなかったり、不具合生じました。結局、移行操作3回目にしてやっとスムーズに移行出来ました。
この後、もう一度確認していますが、上記の方法で、エラーなく移行出来ました。
以下がエラーになった内容です。
移行1回目:404表示エラー、サイトアイコンとプロフィール画像が反映されていない
移行2回目:プラグイン画面の不具合
移行3回目:データベース確立エラー
これらの対処と原因究明については次の記事にて、改めて整理しております。
ひとまず、無事移行出来て良かったです。これからは頑張って記事を書いていくのと、WordPressをしっかり使いこなせるようにしていきたいと思っています。
[…] にいなんこ 1 userWordPressローカル環境(local by Flywheel)から本番環境(エックスサーバー)への移…https://ninanico.com/how-to-migrate-local-to-server/超初心者がパソコンの知識ほぼゼロからワード […]