Ubuntuにwordmoveをインストールする方法

Gustavo_Belemmi / Pixabay

Ubuntu Server 16.04にwordmoveをインストールしたときの記録。

エックスサーバーにある本番サイトを、自宅内のUbuntu Server 16.04にwordmoveでバックアップを取りました。

以前KUSANAGIとエックスサーバー間でもやったことあるんですが、殆ど変わりません。
再現性の高さはCUIならではですね。

スポンサーリンク

wordmoveのインストール

rubygemsをインストール

wordmoveをインストールするためには先ずrubygemsというパッケージ管理ツールをインストールしなければなりません。
OSは apt 、rubyスクリプトは rubygems がインストーラーという対応関係です。

wordmoveをインストール

rubygemsをインストールするとgemコマンドが使えるようになります。
gemを使ってwordmoveをインストールします。
以後、wordmoveというコマンドが使えるようになります。

wordmove設定

WordPressのディレクトリに移動

WordPressの設置ディレクトリに移動します。

Movefile作成

を実行すると、カレントディレクトリにMovefileというテキスト形式の設定ファイルが出来ます。wordmoveはこの設定を読み取って動作します。

Movefile編集

Movefileをエディタで開き、

下記のように設定します。

localにはテスト機の情報を、production側には本番機(エックスサーバー)の情報を設定します。
幾つかのポイントを。

  • vhost欄を適切に設定しておくとデータコピー時に記事中のURLを自動置換してくれます。
  • インデント位置とインデント文字には超デリケートです。
    インデント文字は半角スペースでなければならないようで、気付かずタブ文字を入れていたため動かず、ハマりました。
  • 私なりの隠し味は exclude 節の .htaccess です。
    これが無いとエックスサーバー用の .htaccess がコピーされてしまい動作不良の原因になりました。これは各ホストで設定を分けて吸収するしか無いと思います。
  • sshが糞ハマりました。
    私はサーバ毎に秘密鍵を使い分けているので、各接続先毎に「相手先サーバ名.pem」という名前で秘密鍵ファイルを置いています(却って危ないのかね?この運用)。
    sshコマンド単体では接続できるのに、wordmove(rsync)では「Permission Denied」で動かないので何でかなあと悩んでいましたが、多分都度秘密鍵ファイルの場所を指定しなきゃいけない(rsync_optionsにssh -iオプションを付けなきゃいけない)んでしょうね。多分。
    rsync_optionsにそういう指定ができるか自信が無かったので、秘密鍵ファイルの名前をデフォルト値(id_rsa)にしたら動くようになりました。

wordmove実行

を実行すると、エックスサーバーの内容がローカルにコピーされます。
【push】と【pull】を間違えると大事故になりますので要指差し確認ポイントですね。