Archive for the ‘MySQL’ Category

WordPress – サーバーの引越しとWordPress

火曜日, 9月 1st, 2015

・サーバーの引越し
このブログや関連しているホームページが移転します。少し前にサーバーのトラブルがあり、ログインID等の変更のお知らせがきました。しかし、それだけでは対応できなくて、サーバー自体のバージョンアップをすることになったようです。レンタルサーバーは、Linux、Apache、PHP、WordPress等のフリーウェアが主流ですが、有料のWindowsだけでなく、こちらにも攻撃が激しくなってきたようです。レンタルサーバーがそれだけ増えてきたということでしょうか。
フリーOS、フリーソフトは、Windowsと違ってアップデートが大変だということが、容易に想像できます。例えばこのブログのWordPressは、テーマ(レイアウト)の変更に失敗しただけでブログ全体がダウンして使用できなくなります。その結果ブログを全て削除してインストールし直しになります。フリーソフトはインストールも自己責任ですから、実は管理が大変です。オールインワンの簡易サーバーを使用すればいいのですが、それだと、DBやiPhoneアプリ等はあきらめることになってしまいます。無料のLinuxが良くて、有料のWindowsが悪いということではありません。Webをしっかり作成し、運用するのには、それなりの知識、スキルが必要だということを認識することが大事だと思います。

・ブログの引越し成功(MySQL)
WordPressの引越しは大変ということを以前書きましたが。今回MU氏が元のMySQLデータベースをエクスポートして、それを新サーバーのMySQLにインポートするというやり方でほぼ完全に移転することができました。MySQLにバージョンの違いがあるのと、ブログのURLが変わる場合は、少しSQL文を修正してやる必要があります。但し、これは自分でWordPressをインストールしたもので、phpMyAdmin等でMySQLを操作できる場合に限ります。

・ブログの引越し(インポート)
MySQLのエクスポート、インポートでWordPressを移転する方法を書きましたが、もう一つWordPressのエクスポート、インポートでやる方法も載せておきます。
まず今までのブログをエクスポートしておきます。次に、移転先のMySQLに空のデータベースを追加します。追加する方法はそのサーバーのコントロールパネルに依存しますが、WordPressを扱えるサーバーには大抵ついているはずです。ちなみに、引越し前のサーバーはhpMyAdmin、新サーバーはMySQL管理ツールです。続いて、今までのWordPress(ブログフォルダ)をダウンロードします。ただし、自動インストールのブログはダウンロードできませんのでこの方法は使えません。
ダウンロードしたWordPressを移転先にインストールします。この時、wp-config.phpを削除しておきます。インストールの方法はこちら。ダウンロードやアップロードはファイルマネージャでzipファイルにして行うと速く済みます。ブログの追加もファイルマネージャのサーバー内コピーでおこなうと高速です。インストールが終わると空のブログができます。ツールのWordPressのインポートで、エクスポートしておいた旧ブログファイルをインポートします。テーマがうまく引き継げない場合はテーマを設定し直します。その後、必要に応じてバージョンアップをおこないます。

・ブログの一部修正(update)
インポートが終わって修正、整理した後、3分の1くらいページの画像が表示されないことが分かりました。一部URLが違っていたのです。また全部削除してインポートし直すのは修正等がやり直しになってしまいます。
そこでデータベースのデータを修正して入れなおすことにしました。デフォルトのエクスポートはinsert文になりますが、ここではupdate文でエクスポートします。そして必要な部分を一括置換で直します。そのままupdateでインポートしてもいいのですが、一応修正なしのレコードを削除し、必要なレコードだけにしました。そしてこのSQL文をインポートします。updateになっていますから、該当するレコードだけが更新されることになります。IDが一致しないと何もしません。これで必要なデータを更新することができました。後から修正したデータには影響がありません。

WordPress – サイトの引越しは面倒

月曜日, 2月 3rd, 2014

WordPressの引越しは面倒です。

WordPressはCMS(コンテンツマネジメントシステム)の一種です。
プログラミングの知識がなくても、追加、更新、削除といったリアルタイムの動的なコンテンツを作成することができます。
大変便利なツールですが、HTMLファイルのアップロードと違い、出来上がったサイトのページや画像は実際のルートフォルダにはありません。
FTPで接続しても、どこにあるかわかりません。
それはWordPressが管理するシステムフォルダとMySQLというデータベースの中に、にユーザーには分からない形で保管されています。

WordPressでコンテンツを作ると、WordPressは、ユーザーが操作できない場所に、フォルダやファイルを次々と自動作成してゆきます。
同時にMySQLというデータベースに、コンテンツやフォルダやファイル情報を書き込んでゆきます。

WordPressのシステムフォルダ

一つのフォルダが一つのブログに対応している。

WordPressのシステムフォルダとファイル

ブログを削除しても残るケースが多く、FTPソフト等で削除することができない。PHPで削除プログラムを作る必要がある。>>別ページ参照。

自動作成されたMySQLテーブル

複雑な仕組みになっていることが分かると思います。
さて、これとHTMLコンテンツやPHPアプリケーションを共存させるにはどうしたらいいのでしょうか。全てWordPressで作った方がいいのでしょうか。

いよいよ、数10ページの会社のホームページがWordPressでできあがりました。
そうすると、そろそろショッピングサイト(EC)を作れないかという希望が上司からきます。WordPressのオペレータはECのプラグインを探しますが、少し敷居が高いことに気がつきます。
そこで専門家に相談すると、PHPシステムか、ASP.NETがいいといわれます。仕方ないので、ECサイトは専門家に依頼しようとしますが、WordPressで作ったサイトとは別のサーバーを用意するようにいわれます。WordPressの管理下にPHPのシステムを構築するのは面倒だからなのです。
しかし、何も知らない上司からは、何で同じURLでできないのか、といわれてしまいます。仕方ないので、ECを構築できるレベルのサーバーに、今まで構築したWordPressのページを移動することにします。
ところがWordPressのオペレータはWordPressのシステムフォルダを知りません。当然MySQLというデータベースも触ったこともありません。このままでは、ファイルをコピーすることも、アップロードすることもできません。また、ネットで調べて、WordPressのフォルダが見つかったとしても、MySQLのファイルはどこにあるのでしょう。
MySQLのファイルはコンテンツではないので、ユーザーからは見えませんし、例え見えてもコピーすることはできません。データベースのデータはSQLという言語を使用して、インポート、エクスポートを行います。コピーやアップロードでデータを移すことはできません。

もちろんこれらのプロならできる人はいると思いますし、その質問や回答がネット上にいくつも載っています。質問があるということは、WordPressのヘビーユーザーでも移動(引越し)は簡単ではないということです。
つまり、素人がWordPressのサイトを引っ越しすることは、ほとんど不可能なのです。

○WordPressの引越し
WordPressのインポート・エクスポートを使用します。WordPress独自のRSSで記事の出力と入力ができます。記事のタグやカテゴリーも生きます。ただし、体裁、スタイルは新しく作成する必要があります。つまり、メインコンテンツは移動できますが、サイドバーやウィジェットは新規に作成するということです。
テーマのインストールの仕組みが分かっている人は、スタイルも引っ越しすることができますが、やはり複雑な工程になるでしょう。WordPressで作ったページが多くて、どうしても生かしたいという場合は、専門家に依頼するのがいいでしょう。
ページが多くなかったら、手動でページを表示してそれをHTMLファイルとして保管し、アップロードして使用します。記事もスタイルもそのままですが、WordPressのデータではなくなるので、静的なコンテンツになります。

○WordPressの配置
このような面倒なことにならないようにするにはどうしたらいいのでしょう。
サイト構築の基本をWordPressにしないようにします。
基本はHTMLか、PHP等の汎用アプリケーションで作成します。部分的にフォルダやサブドメインを決めて、WordPressを配置します。
WordPressは、ブログかそれに準じたコンテンツに限った方がいいでしょう。
メイン部分の動的なコンテンツはPHP等のアプリケーションで作成します。こうすると、サイトが大きくなっても十分に管理でき、拡張も容易にできます。
PHP等のアプリケーションは、プログラムもデータベースも作成者の管理下にあるからです。