サーバージプシー

短期間に、2度サーバー移転をするはめになった。

最初はXREA Plus S266サーバーを利用していたのだが、負荷が急に高くなったので、負荷観測所で吟味して選んだのがS281サーバー。これなら快適だろうと思ったのもつかの間、このサーバーはデータベースに問題があるようで、頻繁にデータベースにアクセスできなくなった。いったいどれくらいの頻度でエラーになっているのか気になって、サーバーを監視してみると、日に何度もエラーメールが届く。だいたい一度のエラーで30分程度アクセス不能になっているようだ。

というわけで、またサーバー移転をすることに決めた。

WPのインポート機能は、やはりうまく動作しなかった。まったくしないのではなく、中途半端にインポートされるので、なにかこちらに問題があるような気がしないでもないが、もう面倒なのでphpMyAdminで直接やることにする。

まだドメインのDNSは書き換えていないので、事前に動作チェックするために、phpMyAdminを使ってインポートする場合、url指定の部分を書き換えておく必要がある。

wp_optionsのoption_nameのsiteurlを独自ドメインのものではないサーバーurlを入れておく。最終的には、ここは独自ドメインに変更。

インポートは無事に成功したようだったが、「ダッシュボード>設定>ブログのアドレス (URL)」に該当する箇所がphpMyAdminで見つけられなかったので、独自ドメイン(旧サーバー)へ飛んでしまう。
そこで、「http://新サーバードメイン/wp-admin/」でなんとか新サーバーのダッシュボードへログインしてこの部分を修正した。

無事、移転手続きも終わったが、リンクが全て切れてしまった。パーマリンクも前に使っていた「/%category%/web%post_id%.html」はきちんと入っている。ただ、なぜかWordPressを新サーバーにインストールした際に、勝手に.htaccessファイルが作られていてその中身がデフォルトを指定する記述になっていた。そこで、パーマリンク指定をデフォルトにしてみる。これだとリンクが効いている。そこで、新規に空の.htaccessファイルを設置し、改めてカスタム構造を指定した。無事リンクが効くようになった。これでやっとサーバー移転完了。WordPressのサーバー移転の勉強にはなったが、当分移転作業はしたくないな。

サーバー移転の手順

XREA Plusの場合

  1. 新サーバーに「web.level-k.jp」のディレクトリを作成する。これは、DNSの割当てがまだ旧サーバーに向いているためで、手動で行う。
  2. 「web.level-k.jp」内にWordPressデータをアップロードする。
  3. 現在使用しているテーマとプラグインも追加でアップ。空の.htaccessファイルもアップしておく(パーミッションは「666」)。
  4. 新サーバー用のwp-configファイルを作成しアップする。
  5. 新サーバーのWordPressにIPアドレスでアクセスする。URLをindex.phpまで含めないと認識しなかった。
  6. 旧サーバーのWordPressからエクスポートしたWXRファイルを新サーバーにインポートする。
    ダッシュボードにログインし、「管理>インポート」で、エラーが発生しました。アップロードしたファイルを…に移動できませんでした。というメッセージが出た。
    このエラーはパーミッションの問題かと思い、変更すると、次の画面「投稿者の割り当て」に進めた。ここでは、インポートした投稿や下書きの編集/保存を簡単にするために投稿者名を変更することができるようだ。添付ファイルののインポートはないので、チェッックしない状態で、「実行」。「実行」ボタンを押してから結構時間がかかった挙句にうまくいかない…
    が、何度か試したところ、インポートできたようだ。何度もボタンを押したせいだと思うが、サブカテゴリーが重複しまくっていた。手動で削除。サイドメニューとお問い合わせフォーム、パーマリンク設定もなぜか反映しなくて、面倒だから手動で再作成した。
    後記:他の問題解決の際に気がついたが、これは適切な場所にアップロードができなかったからかもしれない。「設定>その他の設定>アップロードするファイルの保存場所」が「wp-content/uploads」になっているか確認すること。また、「uploads」フォルダは最初から入っているが、これを削除してから、同じものを作成しパーミッションを適切に割り当てる。