複数のWordPressをまとめて管理できる「ManageWP」
複数のWordPressを一括管理できるサービス「ManageWP」を紹介します。アカウントをとってちょっと操作してみましたが、複数のウェブサイトをWordPressで管理している人にとってはかなり便利な気がします。
ManageWPは一括管理可能な画面を提供します。一括管理できるということは、複数のWordPressにログインせずに済むというメリットがあります。たとえば複数サイトに異なる記事を投稿したい場合など、ManageWPにログインして投稿先のWordPressを選択して投稿すれば、複数のWordPress管理画面を横断する必要がなくなります。
トライアル(2週間、10サイトまで)は無償ですが、基本は有償です。価格は最後に紹介します。
以下、操作方法です。
1.サインアップ
ManageWPのページにアクセスして「Sign Up」をクリック。
![]()
ユーザー名・メールアドレス・パスワードを入力して「Register」をクリック。
![]()
完了するとようこそ画面が表示されます。
2.ウェブサイトの追加
ManageWPに管理したいウェブサイトを追加するには、1項の作業が終わると表示される「Add your first webiste」をクリック。
![]()
「website url」にWordPressのインストール先のURL(「wp-admin」は不要)、「admin usename」にインストールしたWordPressのユーザー名を入力して「Add Site」をクリック。
WordPressへのアクセスが成功したら次の画面に切り替わるので、「Click hire to install ManageWP Worker plugin」のあたりをクリック。
これは、ManageWPの管理対象にするWordPressには「ManageWP Worker」プラグインが必要なためです。追加するWordPressにすべてこのプラグインをインストールします。
プラグインのインストール画面に移動するので、「ManageWP Worker」の「いますぐインストール」をクリック。

「プラグインを有効化」をクリック。

ManageWPの画面に戻って「Add Site」をクリック。
これで登録完了です。このダイアログを使って別のウェブサイトを続けて登録することもできますし、あとで追加することもできます。
ウェブサイトを1つ登録すれば次のような管理画面が表示されます。日本語ではありませんが大体分かると思います。左側に主なメニュー、中央にはダッシュボードが表示されます。スクリーンショットは「user-domain/wordpress」と「hoge-domain/wordpress」の2つのウェブサイトを登録した状態にしています。
次項以降で、いくつかの機能を紹介していきます。
3.記事の一括投稿
一括投稿画面です。右サイドバーにある「Select Sites」で投稿するサイトを選択します。
投稿が完了すると次のように表示されます。

一括投稿も可能ですが、複数のWordPressにログインしなおさずに、この画面だけで投稿できるのがいいですね。
4.プラグインの一括有効化
すでに各WordPressにインストールされているプラグインを一括で有効化してみます。ここでは「Akismet」を有効化してみます。
対象のウェブサイトをチェックして、インストール済みのプラグイン「Akismet」を検索します。
有効化するウェブサイトをチェックして有効化します。チェックボックスがウェブサイトの部分とAkismetにあるのは、複数のプラグインがヒットしたときのことを考慮していると思われます。ウェブサイトの部分をチェックすれば、ヒットしたすべてのプラグインにチェックがつきます。

実施状況はプログレスバーで表示されます。
完了しました。ウェブサイトのプラグイン画面をみたところ、チェックしたすべてのWordPressでAkismetが有効化されてました。

5.プラグインの一括インストール
各WordPressにプラグインを一括インストールしてみます。
インストールしたいプラグインを検索します。ここでは「WB-DBManager」を検索します。
みつかりました。「Install」をクリックします。

インストールの進行状況はプログレスバーで表示されます。
チェックしたWordPressにインストールされました。有効化もされています。

6.ユーザーの一括管理
ユーザーの一括管理もできます。スクリーンショットはパスワードの一括変更です。
7.バックアップ
バックアップも行えるようです。これは試してません。
8.SEOチェック
SEOの設定をチェックする機能(被リンク数・トラフィック・Twitter・Facebook等)もあるようです。
9.費用・支払い
費用の確認や支払いは、メニュー上部にある「Trial」のリンクをクリック。

右側にある「order Now」をクリック。
タイプはスタンダード・プロフェッショナル・ビジネスの3種類があります。スタンダードは1年払いで1ヶ月あたり$6.30みたいです。ウェブサイト数と期間によって支払い額は異なるので、詳細を知りたい方はとりあえずアカウントをとって確認してみてください。
以上です。元ネタは「複数のWordPressサイトを運営しているなら、ManageWPでまとめて管理しよう」です。
2010年のWordPressプラグイン記事まとめ
2010年のWordPressプラグインまとめ記事のまとめ+αです。
- WordPressでブログを作ったら入れるべき27個のプラグイン | AUTHORITY SITE
- クライアントに頼まれやすい機能を補えるWordPressプラグインいろいろ
- WordPress 3.0対応のとっても便利なプラグイン集 | コリス
- 使用中のおすすめWordPressプラグイン15個 | Webクリエイターボックス
- WordPressを導入したらまず入れるプラグインいろいろ | 日刊ウェブログ式
- jQueryベースの使えそうなWordPressプラグインいろいろ:phpspot開発日誌
- 絶対にインストールしたいWordpressプラグイン30個! - Vanilla Rock
※記事URLが変わったためブックマーク数が減ったようです
以下おまけですが、2010年に当ブログで掲載したWordPress記事より役に立ちそうなものもまとめておきました。
1.サムネイルを表示するプラグイン
サムネイル表示のプラグインをいくつか試して、一番良かったのがこの「QF-GetThumbプラグイン」です。セーフモードな環境でも動作する対処もまとめてます。
- WordPressの記事に挿入した画像のサムネイルを表示する「QF-GetThumb プラグイン」
- WordPressの「QF-GetThumb」プラグインがPHPのセーフモード環境で動作しない問題の対処

2.記事一覧に新着マークを表示するプラグイン
自作プラグインです。適用すると、専用のウィジェットが追加され、投稿記事タイトルの右側に任意の新着表示を行うことができます。新着マークや新着表示時間の変更も可能です。

3.カテゴリーリストに記事一覧を表示するプラグイン
自作プラグインです。プラグインを適用すると、専用のウィジェットが追加され、各カテゴリ配下に記事の一覧を表示することができます。

4.カテゴリーリストを折りたたむプラグイン
自作プラグインです。プラグインを適用すると、カテゴリーウィジェットで表示されたカテゴリーリストを折りたためます。
下はカテゴリーリストを折りたたんでいる状態です。

すべてのカテゴリーを開くとこのような感じになります。

5.カレンダーの休日表示を行うプラグイン
かなり以前に公開した自作プラグインのバージョンアップ版です。プラグインを適用すると、土・日・休日の文字色を変更し、本日の日付に枠線を表示します。
休日表示付きリアルタイムカレンダー for WordPress v1.7

6.コメントの連続投稿を抑止するプラグイン
自作プラグインです。プラグインを適用するとコメントの抑止時間を変更できるようになります。また、抑止自体を無効にすることもできます。

7.カテゴリ別記事一覧に新着マークを表示するカスタマイズ
カテゴリ別記事一覧に新着マークを表示するカスタマイズの紹介記事です。

8.記事ごとに日付を表示するカスタマイズ
記事一覧で同一日付の記事にそれぞれ日付を表示させたい場合のカスタマイズです。

9.WordPress 3にMovable Typeのタグをインポートするカスタマイズ
Movable TypeからWordPress 3に移行する際、Movable Typeのタグをインポートするためのカスタマイズです。
10.WordPress 3のウィジェットのカスタマイズ
ウィジェットの表示方法やウィジェットの作成方法を解説しています。

11.非推奨グローバル変数一覧
WordPress3で非推奨となったグローバル変数の一覧です。
WordPress 3.0 リリース
WordPress 3.0がリリースされました。本エントリーではWordPress 3.0の主な新機能について簡単に紹介します。MT5書籍の執筆に追われて、WordPressからかなり遠ざかってしまっていたので分かる範囲で。
1.デフォルトテーマ「Twenty Ten」
デフォルトテーマが「Twenty Ten」に変わりました。
![]()
「Twenty Ten」テーマではヘッダー画像や背景画像の切り替えが行なえます。また、テンプレートの種類もいくつか増えています。
2.マルチサイト対応
WordPress MUの機能が統合されてマルチサイトに対応しました。これにより、複数のウェブサイトを、ひとつのWordPress(=ひとつのDB)で管理できるようになります。
この機能を利用するためには、wp-config.phpに「WP_ALLOW_MULTISITE」を定義します。
define('WP_ALLOW_MULTISITE', true);
追加すると、「ツール」メニューに「ネットワーク」が表示されます。

力尽きたので、以降は以下の記事を参照願います。
3.カスタム投稿タイプ
デフォルトの投稿タイプは「投稿 (post) 」「ページ (page) 」「添付ファイル (attachment)」「リビジョン (revision) 」「ナビゲーションメニュー (nav_menu) 」があり、さらに任意の投稿タイプを追加できるようになります。
WordPress Codex 日本語版 - カスタム投稿タイプ
WordPress はたくさんのタイプのコンテンツを保存して表示できます。内部ではこれらはすべて同じ場所、wp_posts テーブルに保存されてます。これらの異なるタイプのコンテンツは "post_type" というカラムによって区別されています。 WordPress 3.0 以降では、任意の投稿コンテンツを追加したり使用できる機能があります。
カスタム投稿タイプを利用するには、register_post_type 関数(下)を利用テーマのfunction.phpに追加します。ソースコードはWordPress Codex 日本語版からの引用です。
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'super',
array(
'labels' => array(
'name' => __( 'Supers' ),
'singular_name' => __( 'Super' )
),
'public' => true,
)
);
}
「カスタム投稿タイプ」は、Movable Typeで言えば、ブログ記事/ウェブページの他、アイテム/記事の履歴/テンプレートモジュール/ウィジェットが投稿タイプに該当するようです。
4.カスタムタクソノミー
デフォルトのタクソノミー(分類)は「カテゴリー」「タグ」「リンクカテゴリー」があり、さらに任意のタクソノミーを追加できるようになります。追加したタクソノミーはカテゴリーのように親子関係を作ることができます。
カスタムタクソノミーを利用するには、register_taxonomy関数(下)を利用テーマのfunction.phpに追加します。ソースコードはWordPress Codex 日本語版からの引用です。
function people_init() {
// 新規分類を作成
register_taxonomy(
'people',
'post',
array(
'label' => __('People'),
'sort' => true,
'args' => array('orderby' => 'term_order'),
'rewrite' => array('slug' => 'person'),
)
);
}
add_action( 'init', 'people_init' );
あるいは、Custom Post Type UI プラグインを利用するようです。
カスタムタクソノミーの表示は、ループ内(テーマのloop.php)で分類名を get_the_term_list 関数に渡すようです。ソースコードはWordPress Codex 日本語版からの引用です。
echo get_the_term_list( $post->ID, 'people', 'People: ', ', ', );
作成すると、ナビゲーションメニューに追加されます。下は「WordPress Version」というカスタムタクソノミーを追加した例です。

5.カスタムメニュー
投稿・ページ・カテゴリー・タグ・リンクを元にしたカスタムメニューを管理画面から作成し、テーマ内のメニューエリアやウィジェットエリアに挿入できるようになります。
カスタムメニューは、「外観」→「メニュー」から作成できます。
WordPressとMovable Typeのウェブ検索人気度
以前、「Movable Type が WordPress に負けた本当の理由」というエントリーを書いたのですが、その後の国内でのウェブ検索の人気度を調査してみました。
なお、当サイトへの検索キーワードで「Movable Type」よりも「MT」の方が多い(約4倍)ことが最近分かったので、検索キーワードは、「WoredPress」対「Movable Type」+「MT」で比較します。
以下は、4倍を裏付ける Google Analytics の最近1ヶ月の調査結果です。
検索キーワード「Movable Type」でのセッション(3314)
![]()
また、Googleトレンドでは「MT」を対象にすると別の意味まで含んでしまうので、Google Insights for Searchで調べました。カテゴリを「インターネット」にしてフィルタリングしているので、多少は信憑性あると思います。
以下が結果です。「Movable Type」+「MT」でも「WordPress」にはちょっと届いてないようですが、大差がついている訳でもないようです。
http://www.google.com/insights/search/#cat=13&q=mt%2Cmovable%20type%2Cwordpress&geo=JP&cmpt=q
![]()
「wp」を加えるともう少し差がつくかもしれませんが、Analyticsの「wp」でのキーワード検索が「WordPress」の1/10以下だったことと、「wp」には「poczta wp」というノイズが入っているようなのでここには含めてませんでした。
海外はWordPressが圧勝です。
あと、「やっぱりMTが負けたか・・・」とがっかりしている方へのおまけです。
WordPress 2.7 日本語版リリースと管理画面の動作について
WordPress 2.7 日本語版がリリースされました。
2.7 について最初に目に留まるのは、新しいインターフェース画面のはずです。全体を通して皆さんの意見を聞き、デザインについてよく考えた結果、明らかにスピードアップした WordPress が完成しました。2.7 では、ほとんどすべてのブログに関わる作業が今までのバージョンより少ないクリックで素早く達成できるでしょう (ここで英語版の新バージョンをダウンロードするか、引き続きお読みください) 。
1.管理画面のインタフェース変更
WordPress ファンの方はすでにご存知と思いますが、2.7 では管理画面のインタフェースが大幅に変更されています。
ダッシュボードでは、メニューの並べ替えや、記事投稿、コメントの返信ができるようになっています。
また、記事一覧からクイック編集もできるようになっています。


2.管理画面が重い?
ということで、色々機能が拡張・改善されていますが、一点気になるのは、管理画面が重くなり、2.6.x までの軽快な操作感が環境によって若干損なわれるようです。
私の Windows のローカルPC環境では、ページ遷移が 2.6.x の半分くらいの速度しか出なくなりました。ただし、CORESERVER ではほとんど差はありません。
同様の記事が見当たらないので私だけかと思いましたが、他にも同じ感想をお持ちの方がいらっしゃいました。
ちなみに Windows のローカル環境では次のようになりました。
| 操作 | 2.6.5 | 2.7 |
|---|---|---|
| 新規投稿画面の表示 | 3s | 6s |
| テーマ選択画面の表示 | 2s | 4.5s |
| 一般設定の表示 | 2s | 4.5s |
WordPress Japan が閉鎖されます
WordPress ME ユーザのよりどころであった「WordPress Japan」が、2008年3月末で閉鎖されます。

突然の閉鎖なので、何か事情があったものと察しています。
私も WordPress ME は、別のサイトで使わせて頂いています。閉鎖されるのは非常に残念ですが、永らくの運営、本当にお疲れ様でした。
WordPress ME はなくなりますが、WordPress 日本語版は、WordPress 日本語ローカルサイトから引き続きダウンロードできます。
WordPress 日本語版についての情報もいくつか掲載されています。
「日本語版と ME 版の比較一覧」から、表記の違いについて抜粋しておきます。
WordPress 日本語版では、次の部分が英語表記になります。
- ダッシュボードのニュースとフィード
WordPress 日本語版では、次の部分が日本語表記になります。
- 本体ファイルの翻訳が必要なエラーメッセージ
- 本体付属プラグインの説明書き
公式サイトではサポートサイトも開設されています。
Movable Type が WordPress に負けた本当の理由
Movable Type と比較して WordPress が人気なのは、「再構築が不要」とか「インストールが簡単」とか「デザインが豊富」とか、国内ブロガーの評価を頼りにしていましたが、下記の記事の一文を読んで、米国で Moovable Type の人気が急激に落ち、WordPress にシェアを明け渡した本当の理由を知りました。
Movable Type 4.0 ベータ、ローンチ―第3四半期にもオープンソース化へ
MTユーザーとSixApartの間には波乱の歴史がある。Movable Typeは決してオープンソースプラットフォームではなかったのだが、MT 3.0のリリース以前は多くのユーザーがMTをオープンソースであるかのように扱っていた。2004年のMT 3.0のリリースと同時にライセンス契約が強制されるようになったことでユーザーコミュニティーからは激しい非難の声(私の声もかなり声高に混じっていた)が上がった。そしてこれが、いろいろな意味で、WordPressがそれまでどちらかといえば無名なソフトだったのだが、現在のようなブログホスティングソフトのリーダーの位置を獲得するに至るターニングポイントになった。
- via:Web屋のネタ帳:MovableTypeのラインセンスがGPL化されることが意外と知られてない/理解されてないらしい
- 原文:Movable Type 4.0 Beta Launches, Platform To Be Open Sourced
- 関連記事:Open Tech Press:Movable Type 4、オープンソース化へ
過去の関連記事を遡って調べてみたところ、確かに 3.0D がリリースされた当時の米 Six Apart のサイトがもの凄いことになっています(下は2004年5月15日に公開された Six Apart の 3.0D リリース記事と、13日からの Community Forum への投稿)。
- Movable Type 3.0 Developer Edition
- ABUSING Upgrades and Licenses., Why I do think Six Appart is abusing us.
英語はあまり読めてないのですが、かいつまんで書くと、2.x で複数ブログを運営している Movable Type ユーザに対し、3.0 から適用されるライセンスでは有償になるケースが多発し、トラックバックやフォーラムで多くの不快感が表明されています。
追記:そもそも Movable Type 3.0 でライセンスを改訂したのは、MT2.x がオープンソースのように扱われていたためで、Six Apart は2003年6月に「ライセンスを守ってください」「ライセンスを改訂します」といった旨の記事を掲載しています。
追記:2002年3月、2.0 リリース時に「商用利用は無償ではありません」というアナウンスがなされています(詳細ページはデッドリンク)。
Six Apart - Movable Type News:Version 2.0 Released
Version 2.0 of Movable Type is now released. This version of Movable Type is still free for personal or non-profit use; note that version 2.0 is not free, however, for commercial or for-profit use.
ともあれ、先の状況を受けて、Six Apart は2004年5月18日に「現在どのように MT を利用しているかトラックバックをしてほしい」というアナウンスをしています。
アナウンスの内容には炎上を回避するため、良い例と悪い例まで掲載しています(下)。
悪い例
私のブログの代価を払いたいと思いません。私は制限が欲しいと思いません。そして Six Apart が好きではありません。
良い例
私はソフトボールチームの13人の友人と、3人の子供のための非営利的なブログを運営しています。また、夫と私には個人のブログがあります。 全部で6つのブログがあり、ユーザは計19人です。 私の個人的な趣味に対して、セットアップの費用が少し高いです。
このエントリーには320件ものトラックバックが寄せられています。そして結果的に Six Apart は Movable Type 3.0 のライセンス内容と価格体系を変更しました。
INTERNET Watch:「Movable Type」のライセンス内容と価格体系、批判を受けて大幅改善
69.95ドルの「Personal Edition」では、これまでブログ数に制限があったが、その制限を撤廃した。99.95ドルの「Unlimited Personal Edition」でも個人利用に限り、執筆者数とブログ数が無制限になった。また、「Commercial Edition」は199.99ドルから提供されるが、ブログ数などの制限が撤廃され、ブログのユーザー数によってのみ価格が増減するわかりやすい価格体系となった。
追記:Six Apart News の記事引用(下記)を追加しました。ライセンス体系の変更内容とその経緯が掲載されています。
Six Apart News:Movable Type 3.0のライセンス体系について
CPU 1つという制限は、ライセンスに含まれる予定ではありませんでした。すでにこの制限は、ライセンスから除外いたしました。すでにMovable Type 3.0をダウンロードされた方にも、この変更はさかのぼって適用されます。
が、ライセンスと価格を変更しても WordPress 移行の勢いは止まらなかったようで、Google Trends のグラフ(米国)が如実にそれを表しています。

Movalbe Type 3.0D がリリースされたのが2004年5月(「A」の部分)。この辺りを境に、米国でほぼ無関心だった WordPress の Search Volume が急激に上昇しています。ここがまさに Movable Type と WordPress のターニングポイントであったと言っても過言ではないでしょう。
話がそれますが、2004年5月といえば日本はまだブログブーム初期。Movable Type もようやく世間に認知され始めた頃だったのではないでしょうか。私がブログを始めたのが丁度この時で、ダウンロードしたのが3.0D。ネットには2.661の情報しかなかったことをよく覚えています。
WordPress が日本でブームになるのは 2005年10月頃からです。

日本では 3.0D のライセンスと価格の影響はないように見えます。追記→が、Google で「movable 3.0 ライセンス」で検索すると、国内でも結構な批判がありました。
2005年10月に WordPress の Search Volume が急増しているのは、WPJ Codex の日本語翻訳が進んだせいでしょうか。または 2005年9月に下の記事が流れており、WordPress ブームの火付け役になったのかもしれません(この辺りは情報収集不足なので推測で書いてます)。
ずばり言ってしまうと、米国における Movable Type / TypePad の人気の凋落である。 英語圏の Movable Type は既にインストールベースでのシェアNo.1の座を WordPress に明け渡している。
ただし、上の記事では(英語圏で)Movable Type のシェアが下がった原因については言及されていなかったため、このエントリーの冒頭に記したような理由で「WorsPress に人気がある」と思い込んでいました。もちろん、WordPress もそれ自体が良いツールであったからこそ、ここまでシェアが拡大した訳ですが。
いずれにせよ、Movable Type 3 のライセンスと価格が米国でのシェアを落とした要因のひとつであることは間違いありません。
ちなみに、下のグラフからお分かりの通り、国内での WordPress の Search Volume は Movable Type と丁度入れ替わろうとしている、微妙な状況です(米国や全世界では WordPress が圧倒的に優位)。

そして、WordPress が日本でブームになりだした2005年9月、国内では個人ユーザより法人ユーザが多く、企業ニーズにいち早く対応できる体制を築くため、Movable Type の開発が日本主導に変わりました。
シックス・アパートは、日本法人設立当初から企業への導入に注力してきた(関連記事参照)。「日本の売り上げは、個人向けよりも法人の方が圧倒的に多い」(関代表取締役) ブログが個人の草の根的な利用からじわじわ広がった米国と異なり、日本ではISPなどが一気に参入。ブームがどっと押し寄せたため、企業が目を付けるのも早かったのだろう――関代表取締役は企業ブログブームをこう分析する。
このような経緯で、WordPress に米国でのシェアを奪われ *1、国内の企業ブログ向けに力を注いできた Movable Type ですが、バージョン4 から GPL ライセンスでオープンソース化されることにより、ライセンスに敏感な米国のシェアが大きく変わる可能性も考えられます。
そして最初の引用記事の文末で、Duncan Riley 氏はこう述べています。
私とSixApartの間には、ここで繰り返し述べることもないような事件がいろいろあった。以前は私もいろいろとMTの批判をしたが、君子は豹変するという。今やこの新しいMovableType はブロガーとしての私にとっとたいへん魅力ある製品だ。オープンソース化の決断はfWordPressへの亡命者の多くを、彼らが最初にブログを始めた環境へ呼び戻す道を開くに違いない。いやそれだけでなく、MovableTypeを以前一度も使ったことのない何百万というWordPressユーザーにとってもMT4は有力な乗り換えの選択肢になるだろう。
Movable Type 4 のオープンソース化により、3.0D の「負け」をどこまで取り戻すことができるのか、その動向を注目したいと思います。
追記:2大ブログツールのシェアという観点で書きましたが、MTのオープンソース化については、野田純生さんの「WordPressのシェアがどうだからというのは本質ではないと思う。」には同意します。
また「オープンソース版から得たものもEnterpriseに活かされていく」もその通りですね。そういう意味ではオープンソース版はMT4の機能を縮退させないかもしれません。
*1:実際のアクティブブログ数等は未調査です。あくまで Google Trends からの推測に過ぎませんので、間違っていたらご指摘ください。
PHP における「モジュール版」と「CGI 版」の比較 + WordPress の適用例
PHP のパフォーマンスを調べる中で「モジュール版」と「CGI版」という言葉をみつけまして、本エントリーではそれぞれの内容、およびパフォーマンス・セキュリティ等の観点で両者を比較してみました。
併せて、PHP プログラムである WordPress を適用した場合について示しています。
Web サーバは Apache を対象にしています。内容について認識誤り等ありましたらご指摘ください。
1.用語
まず最初に「CGI版」と「モジュール版」の意味について記します。
[CGI 版]
「CGI」は「Common Gateway Interface」の略で、サーバが受信したブラウザの要求に応じてプログラムを起動するための仕組みを指します。PHP の場合、ブラウザに
http://~/xxx.php
を URL として指定した場合、Webサーバは xxx.php を実行ファイルと認識してプログラムを起動し、その実行結果を返却します。これを「CGI 版」と言うようです。
[モジュール版]
「モジュール」とは、Apache の機能を拡張するための「部品」(と考えるのが分かりやすそうです)。PHP もこのモジュールを利用することで Apache の一機能として PHP を動作させることができます。
つまり「モジュール版」とは、この Apache の拡張モジュールを利用していることを指すようです。
下記のサイトの「補足2 モジュールとは」にモジュールのイメージが掲載されています。
PHP5 + Apache(Windows)の httpd.conf の設定に着目した場合、下記の違いがあります。
CGI 版として利用する場合の設定
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
モジュール版として利用する場合の設定
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php"
PHP の MIME タイプはいずれも AddType ディレクティブで、.php という拡張子を指定されたコンテントタイプ application/x-httpd-php にマップしていますが、CGI 版は Action ディレクティブで CGI を実行するように設定、モジュール版は LoadModule ディレクティブにより、ライブラリ php5apache2.dll を Apache のが利用可能なモジュール php5_module として追加しています。
2.パフォーマンスによる比較
PHP 公式サイトのトップページに次のような記述があります。
日本 PHP ユーザ会:PHPについて
通常のCGIとして使用できますが、PHPモジュールをApacheサーバーに組み込むことにより、 Perl/CGIと比較して処理速度の高速化、サーバー負荷の低減が可能です。
明らかに「CGI 版」より「モジュール版」のパフォーマンスが上回っているようです。
1項の説明で「CGI 版」「モジュール版」いずれも PHP プログラムを起動することには違いないのですが、モジュール版 のパフォーマンスが良いのは下記の違いによるようです。
- CGI 版:PHPプログラムが呼び出されるたびにプロセスが1つ立ち上がる
- モジュール版:Apacheのプロセスの中で実行されるため、余分なプロセスを立ち上げる必要がない
プロセスの説明は省略しますが、下記の記事の「仕組みはどうなっているのか」に分かりやすい説明があります。
ということで、パフォーマンス面では「モジュール版」が断然有利で、WordPress でもモジュール版の利用がお勧めです。
3.セキュリティによる比較
共有レンタルサーバの PHP モジュール版には「セーフモード」と呼ばれる設定が施されています。
「セーフモード」とは、共有サーバでのセキュリティの問題を解決するための仕組みで、例えば、同一サーバの他のユーザが自ユーザのファイルを参照できないようにすることができます。
この制限により、例えば WordPress では、ブラウザの管理画面でファイル操作を行う場合等に影響があるようです。これはブラウザから実行した時のユーザ ID がサーバ上のユーザ ID と異なるためで、この操作がセーフモードにひっかかってしまうようです。
CGI 版の場合、「suEXEC」という機能を利用します。これは Apache で Web サーバを実行しているユーザ ID とは 異なるユーザ ID(それぞれのコンテンツユーザーの権限)で CGI プログラムや SSI プログラムを実行する機能です。これによりセキュリティを確保しているようです。
Xrea(エクスリア) は PHP モジュール版が利用できるレンタルサーバですが、セーフモードが設定されています。上記の影響を回避するには特定の機能を CGI 版として利用します。
不具合を回避する方法の詳細等につきましては下記のリンクを参照ください。
- Numb.:XREA で WordPress のファイルアップロード機能を CGI として動かす
- PHP小屋:PHPスクリプト設置者のための豆知識
- hiromasa.zone :o):セーフモードの束縛
- Wordpress ME 2.0 - Docs:キャッシュ機能の利用(セーフモードでキャッシュ機能を利用する場合の設定)
4.レンタルサーバで CGI 版が利用される理由
上記までの比較では、ユーザの立場としては「モジュール版」の利用が有利ですが、さくらインターネット等のレンタルサーバで CGI 版が提供されているのは、ひとつには下記の理由があるようです。
DreamHostのカタチ ?良い鯖.com?:PHP について
Apache module版だと、Dreamhost管理人がユーザごとの PHP 負荷を計測するのが不可能なのが原因
つまり、共有レンタルサーバ運営サイドとしては、メンテナンス面でCGI 版が勝っているのではないかと考えます。この辺りは詳細な調査ができておりませんので私の推測が間違っているかもしれませんし、逆に正確な情報を頂ければという思惑も含んでいます。
5.まとめ
項目は色々あると思いますが、とりあえず上記までの内容とその他思いついた項目でまとめてみました。
| 項目 | CGI 版 | モジュール版(Apache モジュール) |
|---|---|---|
| 実行プロセス | PHP のプロセス | Apache のプロセス |
| レスポンス | 遅い | 速い |
| サーバ負荷 | 多い | 少ない |
| セキュリティ | suExec | セーフモード |
| ファイルのパーミッション | 775/777等 | 604等 |
| メンテナンス | 負荷計測が不可能? | |
| その他 | システム系などの一部の関数が使用不可 |
6.CGI 版からモジュール版に乗り換えた例
最近では、WordPress ユーザの caramel*vanilla さんが、さくらのレンタルサーバ(CGI 版)から XREA+(モジュール版)に乗り換えられました。多発していた 503 エラーが解消され、アクセスも快適になっています。
7.その他
未整理の関連リンクです。
- XREA SUPPORT BOARD:public_html内のPHPのモジュール化
- PHP5.0/2.Apache2の設定
- MIME Media Types
- Apache 2.0 モジュール一覧
- PHPのインストール(Apache2.0 Linux編)
- PHP マニュアル
- PHP マニュアル:Apache 2.0 (Unixシステム用)


