1. HOME
  2. »
  3. プログラミング・Web
  4. »
  5. WordPress
  6. »
  7. WordMove | 運用中の WordPress 環境をローカルと FTP で同期

WordMove | 運用中の WordPress 環境をローカルと FTP で同期

道が覚えられない、@It_is_Rです。
人生さえ彷徨い続けてここにいます。

さて、運用中の WordPress サイトの環境を、ローカル開発環境と同期したい時、 WordMove を使うととても便利です。
今回は WordMove でリモートとローカルを FTP で同期させる方法を紹介します。

目次
  1. はじめに
  2. WordMove のインストール
  3. movefile.yml を作成
  4. movefile.yml を変更
  5. リモートの WordPress をローカルにダウンロード
  6. Internal Server Error
  7. データベースが同期されない場合
  8. まとめ

はじめに

今回、作業を行うまえに、あらかじめ、VirtualBox と Vagrant をインストールしておきます。
【 Mac 】 Vagrant と VirtualBox のインストール方法。

さらに、 WordPress のローカル開発環境も整えておきます。
VCCW で、超簡単に WordPress のローカル開発環境を整える方法。

WordMove のインストール

まず、インストールから始めましょう。
以下のコマンドを実行します。

$ gem install wordmove

movefile.yml を作成

vagrant up コマンドで、 Vagrant を起動すると、 movefile.yml が作成されます。
もし、このファイルを消してしまった場合は、以下のコマンドで、 movefile.yml を作成します。

$ wordmove init

movefile.yml を変更

では、設定を変更していきます。
movefile.yml を開き、以下のように書き換えます。

local:
  vhost: "http://vccw.test/"
  wordpress_path: "ローカルの、 WordPress をダウンロードしたいディレクトリを入力" # use an absolute path here

  database:
    name: "wordpress"
    user: "wordpress"
    password: "wordpress"
    host: "localhost"
    charset: "utf8"

production:
  vhost: "自分のサーバーのURLを入力"
  wordpress_path: "サーバー上のWordPressのディレクトリを入力。(多くの場合、 / と入力)" # use an absolute path here

  database:
    name: "データベース名を入力"
    user: "データベースのユーザー名を入力"
    password: "データベースのパスワードを入力"
    host: "データベースのホスト名を入力"
    charset: "utf8"
    # port: "3308" # Use just in case you have exotic server config
    # mysqldump_options: "--max_allowed_packet=1G" # Only available if using SSH

  exclude:
    - ".git/"
    - ".gitignore"
    - ".sass-cache/"
    - "bin/"
    - "tmp/*"
    - "Gemfile*"
    - "movefile.yml"
    - "wp-config.php"
    - "wp-content/*.sql"

  ftp:
    user: "FTP のユーザー名を入力"
    password: "FTP のパスワードを入力"
    host: "FTP のホスト名を入力"
    passive: true
    scheme: "ftps もしくは ftp かを入力" # default "ftp"

リモートの WordPress をローカルにダウンロード

では、以下のコマンドを実行し、 WordPress 全体をローカルにダウンロードします。

$ wordmove pull --all

これで、サイト全体をダウンロードすることができます。

また、部分ごとにダウンロードすることもできます。

//WordPress本体をダウンロード
$ wordmove pull -w
//メディアファイルをダウンロード
$ wordmove pull -u
//テーマをダウンロード
$ wordmove pull -t
//プラグインをダウンロード
$ wordmove pull -p
//言語ファイルをダウンロード
$ wordmove pull -l
//データベースをダウンロード
$ wordmove pull -d

また、 pull ではなく、 push にするとアップロードが開始されます。
間違えると、本当のサイトが壊れますので、注意です。

Internal Server Error

サイト全体をダウンロードし、アクセスすると、Internal Server Errorとなる場合があります。

その場合は、 wordpress フォルダ内の、「 .htaccess 」を削除すると、サイトが表示されます。
※意図的に .htaccess を変更していない場合。

データベースが同期されない場合

サイト全体のダウンロードが終わり、実際に vccw.test を開いてみると、サイトが初期状態のまま反映されていない場合があります。(私の場合がそれでした)
これはデータベースが同期されていないのが原因のようです。

そんな場合は、データベースのみ別にダウンロードして、ローカルのサイトに反映させる方法を使います。

まず、使っているサーバーから、 sql ファイルをダウンロードして、 vccw フォルダに保存します。

仮想マシンにログインする

データベースを反映させたいので、仮装マシンにログインしましょう。

$ vagrant ssh

データベースをリセットする

仮想マシンにログインした状態で、以下のコマンドを入力すると、データベースをリセットすることができます。

vagrant@vccw:~$ wp db reset
Are you sure you want to reset the 'wordpress' database? [y/n] y

ダウンロードした sql ファイルを反映させる

では、先ほどダウンロードした sql ファイルを反映させてみましょう。

vagrant@vccw:~$ cd /vagrant
vagrant@vccw:/vagrant$ wp db import ファイル名.sql

これで、ローカルでサイトが見れるようになったはずです。

文字列を変換する

このままでは、サイト内のリンク先がリモートのURLになっているので、不便です。
文字列の変換で、直しておきましょう。

vagrant@vccw:/vagrant$ wp search-replace '実際のサイトのURL' 'vccw.test'

最後に仮想マシンからログアウトしておきます。

vagrant@vccw:/vagrant$ exit

まとめ

私のように格安サーバーを使っている場合、 SSH が使えず、 FTP を使わざるをえない場合があります。
そんな訳で、今回は、 WordMove を使った FTP でのローカルとリモートのサイトの同期でした。

スポンサードリンク

関連コンテンツ

オススメ記事

宇宙一分かりやすい JavaScript のかなり詳しい基本の解説。

宇宙一分かりやすい JavaScript のかなり詳しい基本の解説。

JavaScriptを使ってゲームを作成するのが好きです。@It_is_Rです。 JavaScriptはWebページに動きを出すのによく使われ、ブラウザゲームなども作ることができます。今回は

Scratchで じゃんけんゲームを作ろう!

Scratchでじゃんけんゲームを作ろう! 小学生からのプログラミング入門

こんにちは! 今日(きょう)もプログラミングのお勉強(べんきょう)をはじめていきますよ! 前回の「Scratchの使い方と、ゲーム作りの基礎知識を学ぼう!」では、Scratch(スクラッチ)っ

.zshrc で zsh をカスタマイズしてみよう。(プラグイン無し)

昔、車に幽霊が乗っていたので、じっと目を凝らして見ていたら、ただの人だったことがあります。@It_is_Rです。 あの時は気まずかった。。。女性の方でした。 さて、今回はターミナルをかっこよく

KSSでスタイルガイドを作る方法。インストールと使い方。

そのうちWordPressのテーマを作る方法の解説とかしたいなーと思っている@It_is_Rです。 いま準備中ですので、もうちょっとお待ちくださいねー。 そして今回ですが、KSSを使ったスタイ

【Xcode7】Swift2でMacアプリ開発。画像を読み込む為のボタンを作る。

犬も歩けば棒にあたる。だからRは歩かない。@It_is_Rです。 最近はSwiftの記事が多いと思っている人もいるのでは無いでしょうか。実はRは現在、Swiftを使ってゲーム開発のお助けアプリを

Android StudioをMacにインストールする方法

Android Studioを使って、Androidアプリ開発を行っていきましょう! 今回は Android Studioをインストールする手順を解説します。 Android Studio

FC2 blog customize

FC2ブログ ”最強” カスタマイズ入門講座。背景を変更する。

三度の飯よりも好きなものが多すぎて比較にならない@It_is_Rです。 FC2ブログ"最強"カスタマイズ入門講座の続きですね。最強にカスタマイズしていきましょう。 今回は背景色の変更をメインに

【Android Studio】TextView を使ってテキストを変更、追加する方法。

TextViewの文字列を変更するより、これまでの人生を変更したい@It_is_Rです。 Android Studioを使ったアプリ開発講座6回目です。 今回はアプリに表示されたテキストを変更

キーボードで画像を動かすよ!

【JavaScript】キー入力でキャラを動かしてみよう! 小学生からのプログラミング入門

小学生からのJavaScript入門講座(にゅうもんこうざ)、第4弾です。 前回はHTMLでりこちゃんの画像を表示し、クリックすると前に一歩動くというのをJavaScriptで作りました。 Java

【Android Studio】 GridLayout の使い方。複雑なレイアウトを表現する方法

スマホの充電がいつの間にか無くなっている@It_is_Rです。 Androidアプリ開発、10回目となりました。 前回、様々なレイアウトの使い方を紹介しましたが、今回はその中でもちょっと難しい

コメントをどうぞ!(コメントは承認後に反映されます)

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です