前回はFileMaker Serverのインストール、およびXML Web公開の動作確認までをおこなった。とくに設定をおこなっていないマシンの場合、そのままではPHPは使用できない。今回はPHPを動作させるまでの手順と、これまでに作成してきたFileMakerファイルのデプロイ手順を紹介しよう。

FileMakerビルトインのPHPを使用しない理由とは

PHPを動作させるまでの手順についてだが、本コラムでは前回のFileMaker Server展開アシスタント解説中、PHPのインストーラ部分について「とくに理由がない場合は"いいえ"(インストール済みのPHPエンジンを使用)を選択したほうがよいだろう」とした。やや筆者の思想もあるが、おおまかな理由は次のとおりだ。

  • FileMakerにビルトインされているPHPとその設定ファイルがFileMaker Serverに依存することになる
  • ビルトインのPHPについて、アップグレード方法についての説明がない。PHPのセキュリティアップデートなどにたいして、即座に対応できない可能性がでてきてしまう

とくに前者についてだが「FileMakerビルトインのPHPを使用する」前提でFileMaker Webアプリを実装をしてしまった場合、当たり前だがその環境が前提で動作するものができあがってしまう。ユーザがあらかじめ限定されている小規模な環境ならOKだが、PHPファイルのデプロイ先がWindows/Mac OS X以外のOSだった場合や、ほかのWebアプリが稼動しているWebサーバではむずかしい話となってくる。ある環境では動作しているのに、ある環境では動作しないといったことはよくある話だ。運用中のシステムにたいしてトラブルを起こさないよう、またトラブル時の切りわけ要因をすこしでも減らすため「環境に依存した実装」は極力避ける。これらの理由から、前回では「とくに理由がない場合は"いいえ"(インストール済みのPHPエンジンを使用)を選択したほうがよいだろう」とした。

Mac OS X LeopardでPHPを使う

さて、ここからはFileMaker Serverに付属するPHPインストーラを使用せずにPHPを動作させる手順を紹介しよう。

PHPを動作させるようにApacheの設定ファイルを変更する。Mac OS X Leopardの場合は/etc/apache2/以下のhttpd.confを編集する。バックアップを取った上で管理権限をもつユーザで編集をおこなうか、sudoを使って作業しよう。

% sudo vi /etc/apache2/httpd.conf

修正前のhttpd.conf該当行

#LoadModule php5_module       libexec/apache2/libphp5.so

修正後のhttpd.conf該当行

LoadModule php5_module       libexec/apache2/libphp5.so

先頭の#(コメントアウト)を削除するだけという単純な作業内容だ。システム環境設定の「共有」メニューから"Web共有"の再起動をおこなうか、ターミナル上で次のコマンドを実行してApacheを再起動させる。

% sudo apachectl restart

続いて動作確認をおこなう。ホームディレクトリ以下の「サイト」(Sites)にphpinfo()を実行するPHPファイルを作成する。

phpinfo.php

<?php
    phpinfo();
?>

Webブラウザを開き、http://localhost/~(ユーザ名)/phpinfo.phpにアクセスする。

Apache上でPHPが動作している

FX.phpを使用するにはcURLおよびmbstring(マルチバイト文字列関数)が有効になっている必要がある。cURL, mbstringとそれぞれ検索し、表示されているかを確認しよう。

cURL, mbstringともに問題なくロードされている

PHPの動作環境はこれで完了だ。

FileMakerファイルのデプロイ

続いてFileMakerファイルのデプロイをおこなう。

ここでは第2回から使用しているファイル「fxphp_test.fp7」をもちいる。まずはFileMaker Server Admin Consoleを起動する。インストール時に作成したFMS-(サーバ名).appを実行するか、FMS開始ページを開いてAdmin Consoleを起動させよう。

Admin Console起動後、ファイル「fxphp_test.fp7」をFileMaker Serverの公開ディレクトリにデプロイする。公開ディレクトリはとくに設定をおこなっていなければ/Library/FileMaker Server/Data/Databases以下になる。Finderかターミナル上で直置きするか、データベースアップロードアシスタントを使用してファイルをデプロイする。

/Library/FileMaker Server/Data/Databases以下にfxphp_test.fp7をデプロイ

データベースアップロードアシスタントを利用する方法もある。やりやすい方法を採用しよう

FileMakerファイルのデプロイが完了したら、データベースを開く。

状態が「閉じました」から「正常」に移行し、"Pro", "XML"にチェックがついていればOKだ

実際にFileMaker Proからファイルが開けるかどうかの確認と、XML Web公開経由でファイルにアクセスできるかを確認する。

FileMaker Proを起動し、共有ファイルから開けることを確認

http://localhost/fmi/xml/FMPXMLRESULT.xml?-db=fxphp_test.fp7&-lay=testLayout&-findanyにアクセスし、ErrorCodeが0となっていることを確認

今回はここまでだ。次回はWebアプリ側のPHPデプロイ手順とその動作確認、カスタマイズすべき項目などを紹介していこう。