[MAMP][wordpress]ローカルから本番サーバーへアップ

<h3前提

  • ローカル(MAMP)にwordpressを「wordpress」等のディレクトリ内にインストールしている。
  • ローカルにてすべての記事、画像、投稿が済んでいる
  • 本番サーバはroot(www)直下にwordpressを展開
  • プラグイン使用なし

1.ローカル上のphpmyadminからSQLダウンロード

とくになにもせずに.sqlをエクスポートで一括ダウンロード
それなりな容量の場合はdump使用向けの設定で

2.本番サーバにDBを設定

さくらインターネットの場合)

サーバコントロールパネルから「データベースの設定」に。
初期選択がeucのため、utf-8で作成

3.本番サーバにDBを移行

phpmyadminから先ほどダウンロードしたsqlを
一括インポート(容量が少なければ)
容量が多い場合はdump使用

4.本番サーバにFTPでアップロード

root直下にまるっとアップロード
容量やファイル数が多いのでローカル上にてtar.gz圧縮後、sshで展開の方が楽

5.wordpressの設定を本番に変更

wp-config.phpを本番サーバーからダウンロードし、
下記内を編集

/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘本番サーバーデータベース名’);

/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘本番サーバーユーザー名’);

/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, 本番サーバーパスワード’);

/** MySQL のホスト名 */
define(‘DB_HOST’, ‘本番サーバーデータベースアドレス’);

編集後同場所にアップロードし、
hogehoge.com/wp-admin/に正常に(とりあえず)移動できることを確認。

6.DB上の色々な所を修正

変更場所

  • ドメインがlocalhostの箇所
  • /wordpress/wp-content/○○とかの箇所

プラグインがある訳ではないので
phpmyadminから直接置換

○「wp_option/siteurl/option_value」を正しいアドレスに
もしくは下記のSQL文で一括置換

UPDATE wp_options SET option_value=REPLACE(option_value,"旧ドメイン","新ドメイン");

○wp_posts内のguid(localhost→本番サーバー)が
“htttp://localhost:8888/〜”とか”htttp://localhost:8888?p=〜”になっているはずなので、
下記のSQL文で一括変換

UPDATE wp_posts SET guid=REPLACE(guid,"旧ドメイン","新ドメイン");

○また、固定ページや投稿等でimgを呼び出している場合、
urlが/wordpress/wp-content/〜になってしまっているので、それを
/wp-content/〜に変換する必要がある。
下記のSQL文で一括変換

UPDATE wp_posts SET post_content=REPLACE(post_content,"/wordpress/wp-content/","/wp-content/");

○meta情報もいれているなら

UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,"旧ドメイン","新ドメイン");

なお、プラグインがある場合は手動変換だと厳しいらしいので下記のリンク参照に
http://dogmap.jp/2012/09/20/wordpress-replace-siteurl/

後は、phpでたまに<?php bloginfo(‘template_url’); ?>を使わずに、
生urlを使ってしまっていたりする場合(/wordpress/wp-content/〜)があるので、
そこを外観→「テーマの編集」から手動で置換

以上で移行OKなはず

追記/
こっちの方が安全!
WordPress移行時にURLをSQLで直接一括置換はダメ! 「Search and Replace for WordPress Databases Script」を使おう
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/


Similar Projects

  • [EC-CUBE]受注管理CSVに顧客情報追加

    dtb_csvにテーブル追加 csv_id→3 に(受注管理に該当) col に dtb_customer.○○(該当ID) dtb.customerから○○というIDを読み込み disp_name に 表示したい名称 […]

  • [MAMP][wordpress]ローカルから本番サーバーへアップ

    <h3前提 ローカル(MAMP)にwordpressを「wordpress」等のディレクトリ内にインストールしている。 ローカルにてすべての記事、画像、投稿が済んでいる 本番サーバはroot(www)直下にword […]

  • DBのお引越

    1. ○phpmyadminでエクスポート 圧縮 sqlで。 その際に50000から300に設定変更 2. ○BigDumpインストール bigdump.phpを必要情報を入れて、適当なディレクトリにアップ 3. ○アッ […]

  • [illustrator]スポイトでアピアランスコピーの方法

    デフォルトではコピーできない仕様。 ただし、方法は簡単。 1.スポイトツールを選択 2.何も選択してない状態で”enter” 3.「アピアランス」にチェック 以上。

  • ブラウザ内でダウンロード禁止PDFをacrobatで表示

    まずはじめに、 ブラウザ内のacrobatにて開く必要があります。 windows版 ie Internet Explorer で PDF ファイルを表示するための設定について(Windows 版 Acrobat 8/A […]

  • ダウンロードテスト
  • sshで一気にお引っ越し

    ①ターミナルを起動→ログイン 1.ログイン ssh hogehoge(アカウントID)@hogehoge.hoge.hoge(サーバ名) 改行 新規の場合は Are you sure you want to contin […]

  • [photoshop]スマートオブジェクト(AI)をワープさせる

    イラストレーターから引っ張ってきたスマートオブジェクトを command + T などで自由変型をさせようとしても角選択で平行に動いてしまう。 ラスタライズさせれば勿論変型できるけど、 そうすると修正がきかない一発データ […]

  • [css]absolute + vertical-align + table-cell

    absoluteブロックにtable-cellは効かないため、 ・HTML ・CSS ↑みたいなことをやりたい時は一回要素を咬ませるとうまくいったりする ・HTML ・CSS