======WordPressのリモートとローカルの同期======
**WordPress開発環境を本番と同期する方法、まとめ。**\\
http://www-creators.com/archives/494
====前準備====
* WordPressの [[https://wordpress.org/plugins/wp-migrate-db/|Migrate DBプラグイン]] をインストール
* SiteGuardプラグインを使っている場合は、ログインページ変更をOFFにしておいたほうが無難(ログインページのURLがわからなくなる。.htaccessを見ればわかるが)。
====データベースのエクスポート====
ツール→Migrate DB\\
**Find**と**Replace**に、\\
''%%//%%site.url.jp/wordpress'' → ''%%//%%localhost/wordpress''\\
''%%//%%home/web/wordpress'' → ''C:\xampp\htdocs\wordpress''\\
**Save Migration Profile**にチェックを付け、Create New Profileでプロフィール名を記入しておけば、上記の設定が保存される。
**Export&Save**を押す。
エクスポートが終わると.gzのファイルをダウンロードするように促されるので、保存する。
====LFTPで転送する====
lftp -e "set ftp:ssl-allow false; mirror --delete --verbose --parallel=3 /wordpress /cygdrive/c/xampp/htdocs/wordpress; bye" ftp.server.jp
* 速度を稼ぐためにFTPSではなくFTPを指定(set ftp:ssl-allow false)
* リモートの /wordpress フォルダを、XAMPPの htdocs/wordpress フォルダに同期
* リモートにないファイルはローカルから削除(--delete)
* 並列ダウンロード指定(--parallel=3)
====ダウンロードしたデータベースファイルのインポート====
- XAMPPのMySQLのAdminボタンを押す。\\
- phpMyAdminにログインする(ユーザー名とパスワードはXAMPPインストール時に指定したもの)。\\
- データベースを選択(あるいは新規作成する)。\\
- 「インポート」を選択。\\
- アップロードファイルにさきほどダウンロードしたファイルを指定し、「実行」
====wp-config.php を編集====
htdocs/wordpress にある wp-config.php を編集する。
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'name_of_database');
/** MySQL データベースのユーザー名 */
define('DB_USER', 'username');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'password');
/** MySQL のホスト名 */
define('DB_HOST', 'localhost');
/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');
...
/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
$table_prefix = 'wp_prefex_';
====.htaccessを書き換える====
# BEGIN WordPress
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
RewriteBaseと最後のRewriteRuleの変更が必要。
====ブラウザで localhost/wordpress/wp-login.php にアクセスする====
キャッシュプラグインを導入している場合には、再作成が必要な場合がある
====続き====
ローカルでの記事編集が終わったら、ローカルのMigrate DBでデータベースのエクスポート、リモートでのインポートを行う。\\
画像とかアップロードした場合はそのフォルダもFTPする。\\
(詳述予定)。