FileMaker Server 10 で PHP Web 公開を試してみる

SOFTWARE REPORT


FileMaker Server 10 のデータベースを Web サイトとして公開する

FileMaker Server 10 を使って、データベースに Web サーバー経由でアクセスできるように設定してみたいと思います。

今回使用する環境は、以前に EZ-NET: FileMaker Server 10 をインストールしてみる で用意したものとなりますけど、このバージョンの FileMaker Server 10 では "インスタント Web 公開" という機能は利用できないようでした。これを利用するには FileMaker Server 10 Advanced が必要な様子です。

ただ、それとは別に FileMaker Server 10 でも利用可能な "PHP Web 公開" という方法もあるようでしたので、そちらについて試してみようと思います。

 

PHP Web 公開は、FileMaker Server の PHP Site Assistant ツールを使って設定します。

例えば FileMaker Server のホスト名が "fm.test.ez-net.jp" だったとした場合、http://fm.test.ez-net.jp:16000/ という形で、ブラウザー経由で "FileMaker Server 10 Admin Console 開始ページ" へ接続します。

この操作はサーバー上でも、クライアント PC からでも可能です。

 

ここでは Admin Console は使わずに、その下の方にある "Web 公開" のところの "PHP Site Assistant および XSLT Site Assistant ツール" をクリックします。

すると "FileMaker Server 10" の Web 公開ツールが起動します。

 

ここで【PHP Site Assistant の開始】をクリックすると、"FileMaker Server 10 PHP Site Assistant" が起動しました。

新しく Web サイトを作成する場合は、ここで【新規サイトの作成】を選択すれば良いようです。

すると、サイトの設定画面が表示されてきます。

ここで、サイトの "名前" を指定して、"このサーバー上のデータベースを使用" のところで、使用するデータベースのアドレスを指定します。使用するデータベースについては、既定では自分自身の IP アドレスが設定されているようでした。

使用するデータベースを決めたら、その横の【接続】ボタンをクリックすると、その隣に、PHP Web 公開可能なデータベースが表示されます。

ここでは、FileMaker Server 10 のサンプルデータベース "FMServer_Sample" を選んでみることにしました。

続いてその隣の【選択】ボタンをクリックして、レイアウトグループを選択します。ここでは言語に関するものの用でしたので、とりあえず "日本語_NATURE" を選択しておくことにします。

すると "サイトプロファイル" を選択できるようになります。

プロファイルを選ぶとその下に、大まかなサイトレイアウトが表示されるので、それも参考にしながらプロファイルを選びます。

そして "テーマ" で色合いを選択します。

これで一通りの設定が行えたことになると思います。

各ページの微調整は、左メニューの "サイトのページ" からどれかページを選択することで、タイトルや表示項目といった内容を編集することができるようになっていました。

 

調整が完了したら、上部メニューの【サイト生成】をクリックすると、Web サイトを出力する先を指定するためのダイアログボックスが現れます。

ここで、サイトを保存する場所を、ローカルフォルダーで指定します。この時点ではサーバーへ直接的に生成できる訳ではないようなので注意が必要です。

保存先を設定したら【サイトの作成】ボタンを押すと、少しして Web サイトが生成されたことを知らせるダイアログボックスが表示されました。

 

これで、指定したフォルダーに、PHP Site Assistant で指定したサイト名のフォルダーが生成されて、その中に、指定したデータベースを操作するための Web サイトが作成されました。

このフォルダーを、PHP Web 公開を設定した Web サーバーへアップロードすることで、これをインターネットへ向けて公開することが可能となります。

ただ、FileMaker Server 10 にはアップロード機能がないようなので、FTP や WebDAV 等のこれをアップロードするための方法をサーバー側に用意しておく必要があります。FTP のアップロード先としては、PHP Web 公開がインストールされた Web サーバー上であればどこでもよさそうな感じでした。

 

アップロードを行えば、例えば "fm.test.ez-net.jp" というサイトの "path" ディレクトリへのアップロードであれば、次のような URL を使って、アクセスすることができるようになります。

http://fm.test.ez-net.jp/path/サイト名/home.php

これで、FileMaker PHP Site Assistant で作成した Web サイトを使用して、FileMaker Server のデータベースを操作することができるようになりました。

 

ただ、PHP Web 公開自体は "既定の Web サイト" に設定されているようで、これを停止したり、アクセス制限をかけたりすると、転送した PHP Site Assistant で作成したサイトを閲覧しようとしたときに、次のエラーが発生するような感じでした。

Warning: include(authentication.php) [function.include]: failed to open stream: No such file or directory in ... on line 47

このような場合には、正しく PHP Web 公開がインストールされているかや "既定の Web サイト" が有効になっているかといった辺りに注意して、環境を再確認すると良いと思います。

PHP Web の設定は FileMaker Admin Console の "FileMaker Server の概要" の "サーバー展開の編集" から行うことができるようになっています。

ここで "Web サーバー" のところが緑の丸になっていることが大切です。

ただ、緑になっていてもうまく行かないことがあったりして、その場合には右下の "サーバー展開の編集" から、PHP Web 公開の設定を行う必要もあるかもしれません。

このとき、PHP Web サービスの基本機能がどうやら "既定の Web サイト" にインストールされることや、サーバー展開の編集で PHP Web 公開を OFF にしたときに、Web サイトの設定が必要以上に昔の状態に戻ったりなど、なんとなく感覚的に違和感がありました。

"サーバー展開の編集" を行う際には、念のため、Web サーバーの設定をバックアップしておいた方が良いかもしれないです。