WordMoveを使うとWordPressの環境をローカルに簡単にバックアップできます。先の記事ではWordMove/VCCW v3の動作環境構築から設定・利用までの手順を2回に分けてご紹介しました。今回は私自身がはまった事例とその対策についてご紹介します。
コンテンツ
トラブルシューティング
記事のリンク先がサーバーになってしまう
http://vccw.dev/ もしくは http://192.168.33.10/ でトップ画面は表示されるものの、記事をクリックすると全てサーバー側のアドレスに飛んでしまう場合の対応方法です。
この場合、ローカルの管理画面(http://192.168.33.10/wp-login.php)にログインして、設定→一般 で表示される「サイトアドレス 」を確認してみましょう。
上の図の様に、サイトアドレスがリモートサーバーを指していればすぐ上の「WordPress アドレス」に合わせます。これで不具合は解消するはずです。
以下、設定変更の方法です。
変更は上で示したWeb画面ではなく、wp-config.phpというファイルを編集することで行ないます。
画面上で変更することもできますが、データベースをバックアップする度に設定が上書きされて元に戻ってしまうのでご注意下さい。
wp-config.phpは仮想マシン上では /vagrant/wordpress 直下にあります。
また/vagrantにはホストマシンのvccwフォルダがマウントされているので、例えば D:\vccw\wordpress といった具合にWindowsからもアクセスできます。
wp-config.phpを適当なエディタで開き、以下のエントリーを追加します。
define( 'WP_SITEURL', 'http://vccw.dev' );
define( 'WP_HOME', 'http://vccw.dev' );
この変更を行なうと、Webの管理画面の一般設定の項目はグレーになって変更できなくなりますが、情報が上書きされてしまうことはなくなります。
ちなみにSQLを使ってWordPressのデータベースを直接変更する方法もあります。
実行するには以下のようなコマンドをmysqlのクライアントから実行します。ただしこの場合も、データベースをサーバーからバックアップすると、その時点で上書きされてしまうので一時的な設定変更になります。
# URL変更
UPDATE wp_options SET option_value = 'http://vccw.dev' where option_name IN ('home','siteurl');
# URLが変更されたか確認
SELECT * FROM wp_options WHERE option_name IN ('home','siteurl');
CDNサービスの利用開始時にはまる
CDNサービスの一つであるCloudFlareの利用時にも問題が発生しました。
CDNはサイトの表示速度向上に寄与する配信サービスです。私が使っているホスティング会社であるBluehostでも無料で提供されており、一時期利用していました。
ところがこのサービスを利用するとWordMoveでのバックアップに支障が出てしまいました。
原因はCloudFlareの利用に必須となるDNSサーバーの変更でした。
この変更を行うと、自分のサイト名に紐付けられていたIPアドレスがCloudFlareのものに変更されてしまいます。そのため、自分のホスティングサーバーにssh接続したつもりでも、実際にはCloudFlareに接続することになり、接続が失敗するというわけです。
この場合でもIPアドレスを指定すれば問題はなく、これをWordMoveの設定ファイルで指定すればOKです。
別の方法としては、sshアクセス用のDNSレコードを作るという方法もあります。先の設定・利用編ではこの方法による設定をご紹介しました。
CloudFlareでIPアドレスが変更されるのはサイトのURL(例えばcurosan.com)なので、これとは別にsshアクセス用のURL(例えば ssh.curosan.com)を作り、それに自サイトのIPアドレスを割り当てます。具体的には、CloudFlareが提供しているDNSサーバーにこのエントリを追加することになります。
WordMoveの設定の際、ここで新たに作ったURLを指定すれば、CloudFlareの影響は受けなくなると言うわけです。
便利なプラグイン
設定・利用編でも紹介しましたが、teratermを自動起動してくれるvagrant-teratermという便利なプラグインがあります。
インストールは下記の通り。
vagrant plugin install vagrant-teraterm
Installing the 'vagrant-teraterm' plugin. This can take a few minutes...
Fetching: vagrant-teraterm-1.0.0.gem (100%)
Installed the plugin 'vagrant-teraterm (1.0.0)'!
ネットワークからプラグインが読み込まれてインストールされます。
teratermのパスなどが標準と異なる場合は、vccwのフォルダにあるVagrantfileに下記の様な設定を加えます。
Vagrant.configure(2) do |config|
# ...
config.teraterm.exe_path = 'C:\Program Files (x86)\teraterm\ttermpro.exe'
config.teraterm.ini_path = 'C:\Program Files (x86)\teraterm\teraterm.ini'
config.teraterm.log_path = "teraterm.log"
config.teraterm.extra_args = "/ssh-v"
# ...
end
上記のように指定することで、設定ファイルはteratermフォルダにあるものが利用され、ログはvccwのフォルダに書き出されます。
起動は以下の通りです。
vagrant teraterm
teratermが自動的に起動され、仮想マシンへのログインまで行ってくれます。
以上、私自身が経験したWordMoveにまつわるトラブルとその解決方法、さらには便利なteratermプラグインについてご紹介しました。
お役に立てれば幸いです。