Windows10でVCCWのWordMove機能でワードプレスサイトとローカルサイトを同期する方法

【この記事を読むのに必要な時間は約 8 分です。】

ワードプレスで作成したウェブサイトの場合、バックアップはFTPクライアントを使ってファイルをダウンロードしたりする。
また、サイトの変更作業もウェブサイトを確認しながら行うことが多いと思う。

VCCWのwordmove機能を使えば、ワードプレスで作成したウェブサイトを完全にローカル(パソコン上)に移植した上で、同期させることが出来る。

事前準備

VitualBoxとVagrantのインストール

VCCWのwordmove機能を使うには、まず、VirtualBoxとVagrantがインストールされている必要がある。

過去記事でWindowsユーザーがVitualBoxとVagrantでローカル開発環境を構築する方法を説明しているので、参考にして欲しい。

Windowsユーザーがドットインストールのローカル開発環境の構築 [Windows編]で自分なりのローカル開発環境を構築する方法
ドットインストールのローカル開発環境の構築 のレッスンが終わり、さて、自分用にカスタマイズしようとすると仲々思うようにできすに困る。...と...
WindowsユーザーがドットインストールのVagrant入門でつまずかない方法
ドットインストールのVagrant入門をWindows7/10で行おうとするとつまずく。...と思う。 つまずかないように予め同じような環...

PowerShellの設定や、SSH接続のためのクライアントなどについても説明している。

VCCWのインストール

次にVCCWをインストールする。
こちらについても過去記事で説明しているので、参考にして欲しい。

Windows10にVCCWをインストールしてみた
VirtualBoxもVagrantもWordPressも使っているので、VirtualBox上で簡単にローカルWordPress環境が整え...

wordmoveの使い方 – Movefile

Movefileを正しい内容に編集してからwordmoveコマンドを実行するだけだ。

Movefileの編集

MovefileはVCCWをインストールするとインストールしたフォルダに作成される。
Movefileは、ローカル側の情報、ウェブサイト側の情報、SSH接続情報で構成されている。

Movefileを編集する際は、インデントの位置を絶対に変更しないように注意して欲しい。インデントの位置で階層を確認している。
パウンド記号(#)を外す場合は、パウンド記号の位置にインデントの位置を合わせるように注意して欲しい。

ローカル側の情報

local:がローカル側の情報を記載する部分。
VCCWがインストールされ、仮想マシーン上のワードプレスサイトが正常に表示されていれば、基本的にMovefieのローカル側の情報も正しい情報に変更されているので、原則、編集する必要はない。
以下のように記載する。

# local=VCCW側
# 基本的にVCCWインストール時にvagrantfileの内容で自動で作成されるので変更する必要はないはず
local:
 # hostsファイルを編集して設定したホスト名(変更していなければデフォルトで)
 # hostsファイル編集時に最後に/を付けないように
  vhost: "http://wplocal.jump-up.info"
 # 絶対パスでwp-load.phpが入っているフォルダまで(変更していなければデフォルトで)
  wordpress_path: "/var/www/html/" 

 # wp-config.phpと同じ内容にする(変更していなければデフォルトのままで問題ない)
  database:
    name: "wordpress"
    user: "wordpress"
    password: "wordpress"
    host: "localhost"
    charset: "utf8"

 # 特にコメントインする必要はないのでこのままコメントアウトで
  # paths:  
  #   wp_content: "wp-content"
  #   uploads: "wp-content/uploads"
  #   plugins: "wp-content/plugins"
  #   mu_plugins: "wp-content/mu-plugins"
  #   themes: "wp-content/themes"
  #   languages: "wp-content/languages"

ウェブサイト側の情報

production:がウェブサイト側の情報を記載する部分。
ウェブサイト側の情報は、レンタルサーバーの情報を含めて正しく記載してやる必要がある。

絶対パス

必ず出てくるのが絶対パスでの記載。
使用しているレンタルサーバーに必ず絶対パスに関する記載があるので、それを確認して記載する。
例えば私が使用しているバリューサーバーの絶対パスは、

/virtual/アカウント名

となっている。
従って、wordpress_pathは、以下の通りとなる。

/virtual/アカウント名/public_html/jump-up.info

Tera Termでwordpress_pathまで移動したのが下記。

なお、ウェブサイト名やwordpress_pathの最後に「/」は入れないように。
databese情報

databese:には、ウェブサイト側のワードプレスのwp-config.phpのデータベース情報をそのまま記載すれば良い。

exclude

同期したくないものを記載する。
「.htaccess」を同期してサイトが上手く表示されなかったとのケースが多いので、追記している。
まとめて以下のように記載する。

# production=同期したいウェブサイト側
production:
  # 同期したいウェブサイト名
  vhost: "http://jump-up.info" 
  # 絶対パスでwp-load.phpが入っているフォルダまで_バリューサーバーの場合は以下
  wordpress_path: "/virtual/アカウント名/public_html/jump-up.info"

  # ウェブサイト側のワードプレスのwp-config.phpに記載されているものと同じname/user/password/host
  # portとmysqldumpはそのままで問題ない
  database:
    name: "userid_dbname"
    user: "userid_dbname"
    password: "password"
    host: "localhost"
    port: "3308"
    mysqldump_options: "--max_allowed_packet=50MB" # Only available if using SSH

  # excludeは同期しないもののリスト.htaccessは追記した
  exclude:
    - ".git/"
    - ".gitignore"
    - ".sass-cache/"
    - "bin/"
    - "tmp/*"
    - "Gemfile*"
    - "Movefile"
    - "wp-config.php"
    - "wp-content/*.sql"
    - ".htaccess" # 追記

ローカル側とウェブサイト側の接続

SSH接続のための情報は、使用しているレンタルサーバーに必ず記載があるので、それを確認して記載する。
例えば私が使用しているバリューサーバーのSSH接続方法については、以下の記事を参照して欲しい。

バリューサーバーにssh接続してみた
VCCWのwordmoveを使う前段階として、自分が借りているサーバーであるバリューサーバーにssh接続する方法を確認した。 手順 公開...

以下のように記載する。

  # レンタルサーバーとのssh接続情報host/user/passwordを確認して記入
  # portとrsync_optionsはそのままで問題ない
  ssh:
    host: "s1000.valueserver.jp" #valueserverのサーバー
    user: "userid" #valueserverのID
    port: 22 # 特に変更する必要はない
    password: "loginorftppassword" #valueserverのログインパスワード/メインのFTPパスワードで個別のFTPのパスワードではない
    rsync_options: --verbose

wordmoveの使い方 – wordmove

Wordfileの準備が終わったら、vagrantを起動して、コマンドを実行するだけだ。

wordmove pull-ウェブサイトをローカルに

まずは、ウェブサイトをローカルに移植してみよう。以下のようにコマンドを打つ。

cd vccw_test # vagrantfileの置いてあるフォルダ
vagrant up
vagrant ssh # ssh接続した時のルートディレクトリは/home/vagrantなのでmovefileの置いてあるフォルダまで移動する
cd ../../vagrant # デフォルトの共有フォルダ/vagrantにmovefileを置いている場合
wordmove pull --all #全てダウンロードする

その他のオプション

これで、全てが移植されているはずだ。
私のケースでは一部移植されていなかったので、その場合は、個別にpullすれば良いと思う。

wordmove push-ローカルの内容をウェブサイトに反映する

pushはウェブサイトに即座に反映されるので、慎重に行って欲しい。

コマンドオプション

個別のオプションについては以下のサイトを参考にしてほしい。

WordPressの開発をしていて、以下のようなことありませんか? 「WordPressの本番環境まるごとローカル環境に構築したい」 「本番で投稿するたびにローカル環境にも反映させ

今年最後の記事となりました。
みなさん、良いお年をお迎え下さい。
以上