KUSANAGIにwordmoveをインストールする

全体のインストール手順は
ConoHaにKUSANAGIをインストールしてWordPressサーバを立ち上げるときの手順を一通り解説します。 このページが連載の目次ですので、ブックマークするならこのページをおすすめします。
を参照ください。

前々回はKUSANAGIをセットアップして、WordPressが動く所までこぎ着けました。

前回はSSHを設定してリモート管理できるようにしました。

本記事はKUSANAGIへwordmoveをインストールする手順です。
(もしUbuntuへwordmoveをインストールする手順をお探しでしたら、こちらを参照ください)

新規ブログであれば後は記事を追加してゆくのみですが、

  • 旧サーバーのブログを新サーバーに移行したい
  • 正サーバーと副サーバーでデータを同期させたい

こういった場合には記事データのコピーが必要です。

移行の方法には色々あると思いますが、私の場合はcronで正サーバー(エックスサーバー)を副サーバー(ConoHa+KUSANAGI)に同期を取りたかったのでwordmoveを使いました。

wordmoveのインストール

作業ユーザからrootになる

rubygemsをインストール

wordmoveをインストールするためには先ずrubygemsというパッケージ管理ツールをインストールしなければなりません。

OSのツールは yum 、rubyスクリプトは rubygems がインストーラーという対応関係です。
ドザ的解釈ではSetup.exeChocolateyですかね。

wordmoveをインストール

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

Linuxは便利ですね。2つコマンドを打っただけで入っちゃいました。
以後、wordmoveというコマンドが使えるようになります。

wordmove設定

rootからkusanagiになる

WordPressの各種ファイルはkusanagiが所有者になっています。
rootwordmoveを実行するとファイルの所有者がrootになります。
権限不足などトラブルの元になるような気がするのでkusanagiに代わります。

DocumentRootに移動

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

Movefile作成

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

Movefile編集

Movefileをエディタで開き、

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

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

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

wordmove実行

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

もう一息…だが…

やったあ!完成だあ!
…と思いきや、管理画面を開くとCAPTCHAが表示されないのでログインできない…。

screenshot_20161130_212029

どうも「SiteGuard WP Plugin」とKUSANAGIの相性が良くないようです。
SiteGuard用テンポラリディレクトリに何らかの原因で画像ファイルが作られていません。

(2017/04/30追記)
テンポラリ用ディレクトリにグループ書き込み権限を与えると表示されるようになります。

関連記事

こちらの記事では「ConoHaにKUSANAGIをインストールしてWordPressサーバーを公開する」までを扱っています。

ConoHaにKUSANAGIをインストールしてWordPressサーバを立ち上げるときの手順を一通り解説します。 このページが連載の目次ですので、ブックマークするならこのページをおすすめします。

もし、Ubuntuへwordmoveをインストールする手順をお探しでしたら、この記事を参照ください。

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

この他にもWeb開発に関するトピックはこちらに集めています。

ブログ内から、Web開発に関連する記事をピックアップしています。