SOHO Windows Small Business Server 道具箱

SOHO、Microsoft Windows Small Business Server(SBS) 2003 R2

IIS6.0にPHPをインストールしたら、SEPMで「レポートコンポーネントと通信できません。」

【現象】
SEPM にログイン後に「レポートコンポーネントと通信できません。」というエラーダイアログが表示される


【我が家での原因】

<<本来の動作の仕組み>>
SEPMにログインしたときには、
http://<既定のWEBサイト>/reporting で使われるPHP
SEPMに付属の、C:¥Program Files¥Symantec¥Symantec Endpoint Protection Manager¥PHP
が動作すべき。

<<今回の事象の原因となる動作>>
IIS 6.0PHP + FastCGI をインストールしたことにより、、新規にインストールした別のバージョンのPHP(C:¥PHP)が、上記のSEPM付属のPHPを乗っ取って動作している。

● つまり、SEPM が使用している PHP のバージョンと競合が発生している

<参考> SEPM にログイン後に「レポートコンポーネントと通信できません。」というエラーダイアログが表示される


【環境】
OS: Windows Small Business Server 2003 R2 Standard Edition
IIS 6.0
SEPMバージョン: 11.0.2000.1567 (SEP11 MR2)
SEPM付属のPHPバージョン: 5.2.5

新しくインストールしたPHPのバージョン: 5.3.2 - VC6 x86 Non Thread Safe
FastCGI のバージョン: Version 1.5RTW


【回避策/解決策】
試行錯誤した結果、FastCGIの設定を活用して、
  • SEPMで使う http://<既定のWEBサイト>/reporting を実行するときは、
    → SEPM付属のPHPを使う
      C:¥Program Files¥Symantec¥Symantec Endpoint Protection Manager¥PHP
  • PHPをインストールした目的である phpMyAdmin を使うときは、新規にインストールしたPHP (C:¥PHP) を使う
というように、SEPM と phpMyAdmin (今回、新規にPHPを必要としたアプリケーション) とで、違うバージョンのPHPインタープリタと、読み込むphp.ini ファイルを切り替えて使う。


【手順】
  1. システム環境変数の PHPRC=C:¥PHP¥ を削除
    <参考> SEPM の Reporting サイトで使用する php.ini ファイルを指定する方法
  2. FastCGIの設定ファイル fcgiext.ini を、手動で書き換える。(下記)
    <参考> Configuring the FastCGI Extension for IIS 6.0 - iis.net
    <参考> SEPインストールCD #2 に入っている FastCGI_Setup_Readme.pdf

    ----- fcgiext.ini -----
    下記は、「既定のWEBサイト(識別子 1 )」 配下に、SEPM の /reporting 仮想ディレクトリと、新規インストールしたPHPを使う /phpMyAdmin 仮想ディレクトリとが混在する場合の例

    [Types]
    php:/lm/w3svc/1/root/reporting=SymantecPHP php:/lm/w3svc/1/root/phpMyAdmin=PHP

    [SymantecPHP]
    ExePath="C:¥Program Files¥Symantec¥Symantec Endpoint Protection Manager¥Php¥php-cgi.exe"
    Arguments=-c "C:¥Program Files¥Symantec¥Symantec Endpoint Protection Manager¥Php¥php.ini"
    InstanceMaxRequests=10000 EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000
    RequestTimeout=500
    ActivityTimeout=900

    [PHP]
    ExePath=C:¥PHP¥php-cgi.exe
    InstanceMaxRequests=10000
    ActivityTimeout=600
    RequestTimeout=600 EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:C:¥PHP¥
     
  3. IIS の PHP マッピングを変更
    IISマネージャで、[既定の Web サイト]の[Reporting]の[プロパティ]を開く
    → [仮想ディレクトリ]タブで、[構成]をクリック
    → [マッピング]タブの[アプリケーションの拡張子]で、
         拡張子phpのとなりにある実行可能なパスをクリックし、
         [編集]をクリック
    → パスを C:¥system32¥inetsrv¥fcgiext.dll に置き換える
  4. C:¥Program Files¥Symantec¥Symantec Endpoint Protection Manager¥Php¥php.ini ファイルに、下記を追記
    fastcgi.impersonate=1
    fastcgi.log=0

【結論/理想を言えば】
  • そもそも、SEPMをインストールするときに、「既定のWEBサイト」にインストールするのではなく、 「カスタムWEBサイトを作成する」を選んで、インストールすべき
  • そうすれば、後から「既定のWEBサイト」にPHP+FastCGIがインストールされても影響は受けにくい
  • 今回のケースでもSEPMをアンインストールして、「カスタムWEBサイト」として、再インストールするのが理想だけど、そうすると、各SEP11クライアントとの疎通の問題(オフライン問題)がまた発生してしまい、それを解決するには、かなりの手間を要するので、今回は、それを避けた。

JUGEMテーマ:プログラミング 
| SBS 2003 管理者 | Symantec Endpoint Protection | 03:25 | comments(0) | trackbacks(0) |
<< バッチファイルからPowerShellでZIP圧縮 | main | htaccess でリダイレクト:エラー RewriteRule: bad flag delimiters >>









http://soho-sbs.dogubako.com/trackback/920291
     12
3456789
10111213141516
17181920212223
24252627282930
<< June 2018 >>

このページの先頭へ