2月27日(土) CMS演習⑩ 講義内容

WordPress、サーバーへのアップロード

これまで、ローカル環境(Xampp下)でWordPressの制作を行ってきた。
もちろん通常のWebサイトと同様、このままではインターネット上で閲覧する事は出来ない。
Xamppはあくまでテスト環境であり、公開前に見た目や機能を試す役割に過ぎない。
その為、最終的にはレンタルサーバー等にアップロードする必要性がある。
以前にも触れたが、サーバーによってはPHPやMySQLが使えない(=それらを利用しているWordPressも使えない)ので注意しよう。

今回は以前配布したhetemlのサーバーで設定を行った。
接続自体は依然行っているので、必要なのは、

  • DBホスト名
  • DBユーザー名
  • DBパスワード

の三つの情報になる。通常は「データベース名」も必要だが、配布したサーバーではユーザー名と同じ名前のデータベース一つしか扱えないように設定されている為、ユーザー名と同じものを使用する。
これはXamppへのWordPress導入時や、PDOの講義の時にも設定したものだが、ホスト名は「localhost」、ユーザー名は「root」、パスワードは空という、仮の設定だった。
WordPressはデータベース内に投稿や設定などのデータを保存する為、データベースに接続しなければならず接続する為に最低限必要な情報がこの三つになる
今回は紙で配ったものだが、通常のレンタルサーバーであれば、契約後にログインできる「マイページ」等に同様の情報が載っている。
*掲載場所はサーバーによって変わるので注意!

wp_config.phpの編集

WordPressをインストールしなおす際に、上述の必要情報を設定するファイル。
アップロード用のwordpressを用意(今回は、xampp内のWordPressを、Lessonにコピーした)。
コピーした(或いは新規にダウンロードした)WordPressフォルダの直下にある「wp-config.php」の該当箇所を書き直す。他の部分は書き換えない事!

define('DB_NAME', '使用するデータベースの名前');

/** MySQL データベースのユーザー名 */
define('DB_USER', '使用するデータベースのユーザー名');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', '使用するデータベースのパスワード');

/** MySQL のホスト名 */
define('DB_HOST', '使用するデータベースのホスト名');

それぞれ必要情報を書き込んで、アップロードすればOK。
注意しなければならないのは「データベース名」で、今回配布したサーバーではユーザー名と同じ名前のデータベースを利用してもらっているだけ。
通常は、Xamppの時と同様に、専用のデータベースを作成する必要がある。

アップロードと設定

configファイルの準備が出来たら、サーバーに接続し、wordpressフォルダをそのままアップロードする。(容量が大きいので、それなりに時間がかかります)。
アップロード終了後、ブラウザで、「閲覧URL/wordpress/」にアクセスする。
成功していれば、xamppの時にも設定した、サイト名などを入力できるエリアが生成される。「データベース確立エラー」等が表示される場合は、先に設定した項目のいずれかが間違っている可能性が高いので、修正してwp_confing.phpだけをアップロードしよう。

後の設定はXamppの時と同じ。
サーバー上のものは、一応パスワードが「普通」以上になるよう設定した上で、きちんと通じるメールアドレス(パスワードを忘れた時にメール送信される)を設定しておこう。

エクスポートとインポート

wp_transport
WordPressの移転作業では、フォルダとは別にデータベースの内容も移行する必要がある

ここまででWordPressのインストールができた。
今回はテーマなどのフォルダごとアップロードした為、見た目の変更などは直ぐにできる。
しかし、WordPressの投稿などのデータはデータベースの中に保存されている為、まだ参照されていない。
つまり、投稿や固定ページなどを移動するには、データベース間の引っ越しも必要になる。
そこで使われる作業が、エクスポート(データの書き出し)とインポート(データの読み込み)である。
インポートとエクスポートはダッシュボードの「ツール」から行える。

データを書き出したい方(移行前のWordPress)から、
ツール>エクスポート>全てのコンテンツ(必要に応じて、投稿等だけを選択してもいいと思います)>エクスポートファイルをダウンロード
すると、移行情報のつまったxmlファイルがダウンロードされる。

次に、移行先のWordPressで
ツール>インポート>WordPress(この時、初インポート時のみ、インポート用プラグインのインストールが必要になります)→ファイルを選択→エクスポートしたxmlファイルを選ぶ→ファイルをアップロードしてインポート

バックアップとしてのエクスポート

今回のような引っ越し目的とは別に、データのエクスポートを行う事がある。
それがバックアップファイルとしてのエクスポートファイルの排出である。
基本的にデータベース内のデータが壊れてしまう事態には余り陥らないが、万一に備えて復旧できるよう、データを取っておくことが推奨される。
自分で定期的にエクスポートしても構わないが、BackWPUpというプラグインで周期を設定し、自動バックアップを取れるので、長期運用サイトの場合は利用してあげよう。

エクスポート・インポートの注意点

これでWordPressの引っ越し完了! ……と言いたいところだが、幾つか落とし穴が存在している。
実はこれだけでは、きちんと移動できない部分が存在する。

  • メディア画像(のURL)
  • ウィジェット
  • プラグイン毎の設定

これらのデータはエクスポートの範囲に含まれないので、設定しなおす必要がある。
特にメディア画像は、URLが元々のもの(今回はlocalhost)のままになってしまう為、問題が大きい。

こちらのサイト様ではインポートエクスポートの手順に加え、プラグイン「Search Regex」を使ったディレクトリの変換での解決策まで書いてくれているので、参考にしていただきたい。

ウィジェットに関しても、最近は良いプラグインがあるようなので、量が多い時は使ってみよう。WordPressサイトの移転時に強い味方になる6つのプラグイン

プラグインの設定移行

プラグイン個別の設定の移行は、基本的にそれぞれ手作業で行う必要がある。
しかし使うプラグインの量が多ければ、それだけ手間になる。
そこで今回の様にダッシュボード上からのエクスポート・インポートではなく、データベースから直接全てのデータをエクスポート・インポートする方法がとられる場合がある。
(ダッシュボード上のものは一部のデータを移行するだけなので、全移行するとデータベースに自動生成されたデータまで移行は出来る)
ただし、もちろんだが直接データベースを触る上、一部設定情報を書き換えなければならない関係上かなり上級者向きにはなるので、自信が無ければやめておこう。
参考:WordPress移転phpMyadminデータベースを使ってまるごとサーバー引っ越し
移行の手間を考えると、プラグインの導入数自体を減らしておくのも一つの方法にはなる