Cntlog

WockerでWordPressの本番環境をローカルに持ってくる方法

CMS

投稿日

Wockerには便利なコマンドがいくつかあって、その中にsqlを取り込んでくれるものがあります。

そういった記事を見つけたのですがバージョンが古いようでしたので自分用に書き直しました。

参考サイト
[WIP] Wocker を使って公開されているサイトをローカルにコピーする

Wockerの起動

すでにWockerが入っている前提での記載になります。
Wockerを導入されてない方はこちらを参考にしてください。

ますはWockerを起動させます。
vagrant up

それからSSLにログイン
vagrant ssh

それからコンテナの起動
wocker start <CONTAINER>
※<CONTAINER>は起動させたいコンテナ名です。

sqlのインポート

本番環境から吸い出したsqlファイルをWockerの使用しているcontainerに置いて、そのファイルをコマンドを叩いて取り込みます。
※私はcontainerの直下にいつもおいてます。

wocker wp db import <sql>
※<sql>はsqlのファイル名

URLの置換

sqlを取り込んだだけだとsql内のURLが本番環境のままなのでそれを置換します。

問題ないかテスト
wocker wp search-replace '公開されているサイトのURL(http://等はないほうがいい)''wocker.dev' --dry-run
置換実行
wocker wp search-replace '公開されているサイトのURL(http://等はないほうがいい)''wocker.dev'

公開サーバーのwp-contentディレクトリを全てWockerの新しいコンテナに入れ替えれば本番環境と同じ構成になります。

おまけ

新規の案件でsqlもらっただけだと自分のアカウントがなくてログインできないケースもあるかと思います。

そんな時はwp−cliで簡単にユーザーを作れるのでオススメです。

ユーザー作る場合

wocker wp user create <user名> <メールアドレス> --role=<権限名>


wocker wp user create conti hogegoe.com --role=administrator

他にもオプションが色々あってパスワードとかもしていできたりします。
詳細はドキュメントをご確認ください。
WP-CLI公式ページ