WordPress 2

WordPress 2

藤沢市パークゴルフ協会(FPGA)のサイトの立ち上げのボランティアをやって、WordPressの便利さは良く分かりました。この作業でインタネットに肝心の情報がないため、悪戦苦闘した内容を書き残しておこうと思います。

「ホームページビルダーというWebサイトの作成ソフトがあったなぁ」と思いだしました。今、どうなっているのだろうと検索したら、

ということでありました。

日本における2013年のCMS作成ソフトのマーケットシェアです(出典はこちら)。
ホームページビルダーはシェアの第3位、10%を占めていたのですね。そして、10年後の2023年、命脈がつきようとしている。

何故そうなったか。スマホを中心にしたインタネットの新展開にこのソフトが対応しきれなかったということでしょう。売り切りのパッケージソフトでは、急激に変化する時代の流れについていくことは出来なかった。
「オープンな形のコアになるソフト(WordPress)を中心にして、周辺に様々なテーマやプラグインが存在するという開発スタイルが正解だった。核の部分はオープンソフトとして先見性に富む少数の英才により無料で開発され、多数のWebプログラマーが、それを使い、付帯するソフトをビジネスとして開発する。インタネットの変化に柔軟に対応するためには、このような役割分担が必須だった。」ということだと思います。

WordPressの情報はインタネット上に大量に存在します。その圧倒的なマーケットシェアの反映ですね。
ただ、折角、大量の情報があるのですが、肝心な情報を見つけるにはこつが必要です。HTMLやCSSなど既知の初心者向けの情報とか、サーバ会社のプロモーション的な紹介とか、自社のテーマ、プラグインの売り込みのためのガイドなどどうでも良い情報が氾濫しているため、本当に必要な技術情報が見つけにくいと感じます。その辺りを説明するつもりです。

ここまでが前置き。
本題に入ります。今回はWordPressで作成したサイトのバックアップとリカバリについて。

ググって見つけたのがここのサイト(WordPressブログの引っ越し(サーバー移行)手順を解説!)。Xserver対応のサーバ移行の手順です(このサイト、一見してWordPressを使ったと分かるデザインですね^^;;;)。『国内シェアNo1サービスの「中の人」がブログ運営に役立つ情報をわかりやすくお届け!』とありますので、ブログの書き手はXserverの関係者なのでしょう。
実はFPGAは Xserverの無料のサーバエリア提供サービス(シン・クラウド for Free)を使っています。
というわけで、僕にとってここの記述は助かります。Xserver以外のユーザだと、書いてある内容の半分は不要な情報でしょう。直前に書いた「どうでも良い情報が氾濫しているため、本当に必要な技術情報が見つけにくい」ということになります。まあ「どうでも良い情報」の部分を切り分けて読めば良いわけで、対応は可能出来るだろうと考えた。これが甘かった。

上記サイトにはトラブルに対応するためのバックアップ方法とリカバリ方法に関する記事もあります。これ(【初心者向け】おすすめのWordPressバックアップ方法とは?簡単なバックアップの設定方法を解説)これ(WordPressをバックアップから復元!おすすめの方法も紹介)です。検証はしていませんが、通常のトラブル対応のためのパックアップ・リカバリであれば、これらの記事の通りにすれば良いのではないかと思います。

今回のパックアップ・リカバリは、異なるURL間でのWordPressデータのコピーです。実験のため、運用中のWordPressデータを、予備用として確保しているサーバスペース(URLが異なります)にコピー(移行)しようとしました。
このため、最初のリンク先の記事の方法でサーバ移行のバックアップ・リカバリしてみました。
ところが、記事の手順通り移行を終えて、ログインすると旧サイトに戻ってしまうとか、ログインが出来ないとか、上手くいきません。

上手くいかない理由はブログの記事の環境とこちらの環境の違いだでしょう。理屈がわからず、ただ真似をするだけでは駄目だったようです。

というわけで、出直し。基本に戻って考えることにします。
WordPressのバックアップとリカバリについていえば、サーバ側に公開しているデータの原本があります。これが話をややこしくする。理屈としては、
①サーバ側のプログラム・データ構成(配置)を調べる
②どのデータをどのようにバックアップすれば良いか決める
③パックアップしたデータを移行する環境に適合させる
④適合させたデータを適切な方法でリカバリする
という手順となります。
紹介した記事は①の部分がちゃんと書かれていないので、②以降は丁寧に解説されているが、トラブルが発生した時、役に立たないということになります。

それでは①サーバ側データ構成。

これは Xserver for free のpublic_html(ルートディレクトリ)です。n
ご覧のようにphpで全ての処理を行っているようです。phpファイルの中身をチェックしてみましたが、wp-config.phpを除き、処理を行うライブラリを呼び出しているだけです。
バックアップで調査が必要なのは wp-admin、wp-content、wp-includesフォルダーに何が入っているのかです。wp-admin、wp-includesもWordPressの処理を行うphpスクリプトの集まりであり、WordPressシステムがインストールしてあれば、バックアップは不要に見えます。

これが wp-content ディレクトリです。
langueges というのはテーマを多国籍言語対応するための情報を格納するディレクトリ。themes は文字通りテーマが入っているディレクトリです。中はさらにテーマ名毎のディレクトリに分かれています。plugins もプラグイン用で使われ方はテーマと同じです。通常はthemes とpkuginsはバックアップが必要です。
upgrade と upgrade-temp-backup は作業用のディレクトリのようですので、パックアップは不要です。

uploards はちょっと複雑で、こんな具合です。名前が年数字のディレクトリは media に格納されているデータの保存用です。これが分からないため、リカバリ後、図・写真などが表示されず焦りました(^^;;;。ここ(WordPressのメディアライブラリは、どこに保存されている?)に情報があります。
uploards の残りのサブディレクトリは必要ならバックアップという情報だと思います。
backwpupで始まるサブディレクトリはバックアップ用のプラグインbackwpupが作成するバックアップデータの保存用フォルダー。その他のサブディレクトリはそれぞれのプラグインの情報保存用でしょう。

となると、「あれ、表示されるページのコンテンツの情報はどこにあるの ?」という疑問が沸きます。
答えは「WordPress をインストールする時、SQLデータベースを設定しますが、これがコンテンツ格納用に使われています」です。
問題はこの重要な情報があまりないこと。
ここ(【WordPress】生成されるデータベースの中身の詳細)に情報がありました。書き手はフリーのプログラマー&デザイナーです。WordPressを使ってビジネスをしている会社の関係者ではビジネスと無関係の技術情報は無視され、こういう技術者のサイトでないと肝心の情報は出てこないようです。この辺が「本当に必要な技術情報が見つけにくい」理由ですかね。

WordPress のSQLに関してはリンク先に丁寧に解説されていますので、解説は省略。次の「②どのデータをどのようにバックアップすれば良いか決める」もデータの在り処が分かれば、それに合わせて決めるということになります。ルート部分はFTPを使えばいいし、SQL部分はSQLのバックアップ機能で対応できます。
ただ、WordPress 場合はBackWpUpというプラグインがあるので、こちらを使った方が簡単に出来ます。

BackWpUpを使った方法については最初にリンクしたXserver関連サイトに詳しくかかれていますので、そちらを参照して下さい。

これは僕が使っているBackWpUpの設定です。必要最小限に絞るとこうなります。ルート側はFTP(FileZilla)を使っています。

WordPressサーバを移行(変える)場合、「③パックアップしたデータを移行する環境に適合させる」が重要なポイントとなります。
リンク先の記事では wp-config.php を書き換えろという指示はあるのですが、サーバ移行の場合これだけでは不十分です。
移行するとサイトのURLが変わります。移行前の旧サイトのURLデータがSQLデータベースに保存されていて、これを新しいものに変更しないと上手く移行できません。一つ一つ手作業で修正すると大変なので置換機能を使うことになります。簡単なのはBackWpUpを使ってバックアップしたSQLデータは ユーザ名_wp3.sql という名前で保存されますので、エディターの置換機能を使いこれを直接変換することです。僕はこの方法で4000箇所以上の置き換えを瞬時に行うことができました。コンピュータ処理の有り難みがよく分かります(^^)。
この件はXserver関連サイトにはまったく記述がありません。何故ですかね。

最後に「④適合させたデータを適切な方法でリカバリする」です。ルートのデータはそのままFTPを使ってコピーすれば良いだけなので簡単です。SQL部分ですが、Xserverの場合、サーバに組み込まれている phpMyAdmin 機能を使うのが簡単です。やり方は上記のリンク先に詳しく解説されています。この部分(新サーバーへデータベースのアップロード)です

上述の置換処理も phpMyAdmin を使って行うことが出来るはずです。

PAGE TOP