頑張らない!でも諦めない!必死にならずにええかげん

(mod_fcgid on 2.2.x)windowsでCGIをFastCGIで実行するように設定する

      2014/11/22

windows上でPHPをfcgid(FastCGI)実行を行う方法を、
apache.orgで提供されているモジュール(mod_fcgid)を元にご紹介します。
ダウンロードから設定までご紹介していますので、そのままご利用いただけると思います。
Apacheバージョンは2.2.xを利用します。

はじめに

これまで「windows上でPHPをfcgid(fast cgi)実行する」というタスクに、
さんざん迷路にはまっておりました。

おそらく他にも同じようにはまっている方もおられるのではないかと思い、
ダウンロード先から順を追ってご紹介します。

どうも同じモジュールでもApacheとの組み合わせでは、
モジュールのロードさえできなかったりと、相性の問題が多い印象でした。
その為、それぞれのバージョン同士の組み合わせで動かすのがいいと思います。

環境

(補足)
私の環境のApache 2.0.65においては、
LoadModule fcgid_module modules/mod_fcgid.so 時点でエラーとなり、
モジュールの読み込みが行えませんでした。

2013/11/10追記
その後、偶然mod_fcgid-2.3.5および、mod_fcgid-2.3.4のダウンロード先に出会いました。
まだ試していませんが、そちらを利用してみると、Apache 2.0.xxでもいけるかもしれません。
過去バージョンのmod_fcgidをダウンロードできるアーカイブ先(メモ)

ダウンロード

まず、mod_fcgid-2.3.6のダウンロードですが、
通常Apache.orgのサイトへアクセスして最新をダウンロードされると思います。
ですが2013/11/01時点でバイナリダウンロードのリンクが見当たりません。
http://httpd.apache.org/

01_Apache.orgのmod_fcgid

Apache.orgのmod_fcgid

プロジェクトページへ行っても特にそんなリンクは見当たりません。
http://httpd.apache.org/mod_fcgid/

02_mod_fcgidプロジェクトページ

mod_fcgidプロジェクトページ

サイト上にある、mod_fcgid-2.3.9-crlf.zip をダウンロードすると、
プロジェクトとしてのソースファイルが展開されます。
自分でビルドすればよいのですが、環境が手元にありませんのでなんとか。

バイナリのダウンロードはディレクトリから

というわけで、バイナリファイルのディレクトリを探しましたら、
以下のミラーサイトからダウンロードが可能です。
http://www.apache.org/dist/httpd/binaries/win32/

03_バイナリページ(apache.org)

バイナリページ(apache.org)

http://ftp.meisei-u.ac.jp/mirror/apache/dist//httpd/binaries/win32/(mirror)

04_バイナリページ(ミラー)

バイナリページ(ミラー)

mod_fcgid-2.3.6-win32-x86.zip

ダウンロードしたzipを解凍すると、以下のファイルが生成されます。

05_zip解凍後のモジュール

zip解凍後のモジュール

この[mod_fcgid.so]ファイルを利用します。

インストール

Apacheへのインストールは、
Apacheをインストールしたディレクトリの[/modules]にコピーして終了です。

06_modulesへコピー

modulesへコピー

httpd.conf設定

fcgid(FastCGI)の設定をhttpd.confに対して行います。

公式のリファレンスページは以下のページです。
mod_fcgid – Apache HTTP Server

リファレンスを参考にと思ったのですが、Unix系のExamplesしか記述されていません。
結論から申しますとhttpd.confに以下の記述を行います。

(補足)
PHPのインストールディレクトリは[C:\php555]でインストールしています。
モジュール名(モジュール識別子)は[fcgid_module]を利用します。

この記述は、Apache Lounge版で提供されているmod_fcgid.soに、
付いてきたReadMe.txtに記載されていた設定です。
(参考)(Apache Lounge版)windowsでCGIをfast-cgiで実行するように設定する

以上で、設定は完了です。

phpinfoファイルの準備

ドキュメントルートに対して、phpinfo.phpファイルを作成し、
テキストエディタで以下のソースを記述し保存します。

PHPの実行確認

Apacheを再起動して、ブラウザからphpinfo.phpを確認します。
phpinfoによる情報が表示されれば完了です。

07_phpinfoの表示

phpinfoの表示

fcgid(FastCGI)の特徴としてのプロセスが終了せず待機する模様は、
プロセスモニターから確認することができます。

08_プロセスマネージャの表示

プロセスマネージャの表示

プロモーション(btm)

Google or AdMax Promotion (it)

さいごに

結局、設定は Apache Loungeから拝借してしまいましたが、
これで動作させることができました。

あとはこの設定を編集して動作の確認や設定の振る舞いなどを見ることができそうです。

Windows は米国 Microsoft Corporation の米国およびその他の国における登録商標です。
登録番号は以下の通りです。
第3333588号、第3351402号、第4197799号、
第4348387号、第4395963号、第4648301号
Windows は米国 Microsoft Corporation の米国およびその他の国における国際登録商標です。
国際登録番号:1135413

Apache,Apache Hadoop,Apache Subversion,Hadoop,HDFS,HBase,Hive,Mahout,Pigは、
Apache Software Foundationの米国およびその他の国における登録商標または商標です。
ApacheソフトウェアはApache Software License (原文)および
Apache License, 2.0 (原文)に基づきOpen Source Initiativeに承認されライセンスされています。

*本ページ内に記載されされた各社ブランド、サービス名、商標、登録商標については、
各社ブランドのロゴや商標等に関する帰属についてをご確認ください


最後までお読みいただきありがとうございました。

アイキャッチ画像に利用させて頂いております、各社ブランドのロゴやシンボルに関しては、
各社ブランドのロゴや商標等に関する帰属についてをご確認頂けますようお願い致します。

AdMax Promotion

ブログ記事のご紹介
すべて展開 | すべて省略

Rakuten Promotion

ページ
すべて展開 | すべて省略

 - Apache, PHP, windows , , , ,

  関連記事

eye_phpmyadmin
レンタルサーバ環境へのphpMyAdmin設置

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_windows
(バッチで一発)windows7をリモートでシャットダウンする方法

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_local_apache
ローカル環境へのApache設置

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_eekagen
SWFをAVI・MPGに変換できるFree SWF Converterが残念な結果に。

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_local_apache
1つのPC(サーバー)で複数のApacheをインストールして利用する方法

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_local_apache
(apache 2.0.65)ローカル環境(windows)へのApache設置

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_apache
【一発理解】mod_rewriteのURL転送が動かず迷ったらこれを確認(パスのスラッシュ)

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_eekagen
PHPの過去バージョンがダウンロードできるアーカイブ先(メモ)

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_php
PHP.iniに設定する設定値はhttpd.confや.htaccessに対しても設定が可能

Google or AdMax Promotion(it) 禁断の機能がau公式 …

eye_windows
プログラムをwindowsのサービスとして追加する(Apacheの例)

Google or AdMax Promotion(it) 禁断の機能がau公式 …