こんばんはEMIです。
すでに1度実施し成功したのですが、基本ローカルで実験してから本番アップ、という運用を考えておりまして今後も毎日のように更新する都度行う作業になるためメモしておき、きっちり覚えたいと思います。
状況:
1度アップし成功しているため今回はローカルでの更新部分のみ修正が目的
SITEGUARDを入れているため、「.htaccess」の修正が必要
環境:
PHP7.0.0
エックスサーバー
STEP1 コピーをとる
FTPにアップする更新用素材をまとめるフォルダをデスクトップなどに作成し、
アプリケーション>MAMP>htdocs>wordpress から下記をコピー。
・「wp-config.php」
・「wp-content」フォルダ内にある「plugins」「themes」「uploads」
STEP2 wp-config.phpを書き換える
*今回は2回目なので省略*
「wp-config.php」を開き、データベースへの接続情報を本番環境のものに書き換え保存。
(下記はlocalhost時の例)
===================================
/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘”wordpress’);
/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘wordpress’);
/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘wppass’);
/** MySQL のホスト名 */
define(‘DB_HOST’, ‘localhost’);
===================================
STEP3 FTPでサーバにアップする
更新用素材をまとめたフォルダ内のデータ4つをFTPでアップします。
「wp-config.php」「plugins」「themes」「uploads」ですね。
ひょっとして、今回は更新だからこれだけでいけるのでは、、という淡い期待はもろくも崩れ去ります。ぐはっ。「wp-content」内の全データを試しに全部アップしてみましたが、変りません。
仕方ないので、(*´д`)o
STEP4 FTPでサーバにアップする2
アプリケーション>MAMP>htdocs>wordpress内のデータをすべてアップ。
更新してみましたが、やはり変りません。ので今後この作業は不要かも??
次回、STEP5を先に行ってみますので必要可否が判明次第報告します。
*2016/5/26追記:.htaccessは中身がローカルのままなので上書きNGです!!
上書きする場合は本番環境のURLに書き換えてからにしてください。
STEP5
ローカルphpMyAdminでデータベースのバックアップをとる
phpMyAdminにてデータベースのバックアップをとります。
詳細バックアップの手順
「wordpress.sql」など、ZIP圧縮されたファイルが生成されましたので解凍しておきます。
STEP6
サーバ側phpMyAdminにデータベースのバックアップをインポートする
データベースの復元
次に、今度はサーバ側のphpMyAdminにログインします。
エックスサーバーの場合、「サーバーパネル」の中に「phpMyAdmin」はあります。
インポート先のデータベース(STEP2で設定したデータベース名)を選択すると「構造」タブが表示されます。
右から2番目の「インポート」タブをクリック。
「ファイルを選択」で、先ほどとったsqlファイルを開き、右下の「実行する」ボタンをクリック。
(この画像では見切れています)
「インポートは正常終了しました。xx 個のクエリを実行しました」と表示されれば完了です。
実は、この時点で更新ボタンを押してみたところ、正常に表示されておりました。
ですが、念には念を入れ。
STEP7
データベース内のURLをローカルから本番環境に書き換える
最後の仕上げです。
WORDPRESSではデータベースにサイトのURLの情報が含まれているので、移行する際には本番環境のURLに書き換えなければなりません。ただし、データベースにはシリアライズされたデータが入っているため、そのまま書き換えただけでは不具合が起こることがあります。
例)s:21:”http://www.example.com/wp”
データベースには、上記のように文字数を含んだデータで保存されているため、URLだけ置き換えてもこの部分が変わらないため整合性がとれなくなる。
(「現場でかならず使われているWordPressデザインのメソッド」P.50より転載)
んだそうな。。
というわけで、おなじみのこの方。
SEACH AND REPLACE TOOL様
の登場です。どうも、お世話になります。。
SEACH AND REPLACE TOOLのダウンロード
DLし、解凍すると「Search-Replace-DB-master」というフォルダが現れますので、FTPでwp-config.phpと同じ第一階層にアップします。
「http://www.example.com/Search-Replace-DB-master」でアクセスします。
1.自分でFTPアップしているのでまず間違いないと思いますが、一応確認。
2.変更前 例)localhost/wordpress
3.変更後 例)blog.example.com
*冒頭に「http://」や末尾に「/」は不要です
4.dry run もし実行したらどうなるのか数値が表示されます。
5.live run 実行!
6.削除
ここで、実行したらすぐにサイトを確認してみてください。
私は指定内容を間違えて、レイアウトが大変なことになっていました。。
が、そんな時はあせらず淡々とSTEP6に戻り、サーバ側phpMyAdminにバックアップデータを再インポートしてください。あっさり解決です!(^・∀・^)
STEP8
今回だけなのですが、SITEGUARDを入れていますので
エックスサーバーのサーバパネルから「.htaccessを編集」を選択し編集します。
が、うまくいかなかったため明日に持ち越します。。
また明日!