0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FileMakerAdvent Calendar 2016

Day 16

RESTfm を利用する前の設定を行おう

Posted at

RESTfm を利用する前の設定を行おう

以前の記事と重複してしまう部分がありますが、RESTfm を本格的に利用する前の各種設定を行いましょう。

ここではRESTfm.ini.phpファイルの設定に絞ります。.htaccessweb.config、HTTPS まわりの設定などは省略しますので、公式ドキュメントや以前の記事などを参考にしてください。

RESTfm.ini.php ファイルを設定していく

RESTfm.ini.phpは設定ファイルの総本山です。ここに全ての設定が詰まっています。配布ファイルの状態ではRESTfm.ini.php.distというファイル名になっていますので、内容を適切に設定した上でこのファイルをRESTfm.ini.phpとリネーム(コピーした上でリネーム)しましょう。

では具体的に設定内容を見ていきます。

baseURI

baseURIには、RESTfm のスクリプト一式をどこに配置したかを指定します。注意する点は、URIのルートからの位置である点と、最後のスラッシュは不要という点です。

例えば、http://hogehoge.com/fuga/RESTfm に設置したとしたならば、以下のようになります。

'baseURI' => '/fuga/RESTfm',

formats

formatsには、有効にしたいURIの拡張子を配列で連ねていきます。htmljsonさえあれば(あと場合によってはfmpxml)十分だと思いますが、特に不要でもないので、そのままでいいと思います。

不要な拡張子があったらコメントアウトしましょう。

formatNicely

formatNicelyでは、JSON や XML をいい感じに整形して見やすくしてくれるか否かを設定します。PHP の 5.4.0 未満で JSON 対象にこれを有効にするとオーバーヘッドが起きる点もあり、本番環境では推奨されていません。あくまでデバッグ用としての活用でしょう。

有効にしたい場合はもちろん TRUE にします。

SSLOnly

SSLOnlyではその名のとおり、アクセスを HTTPS に限定するか否かを設定します。この設定を行う際は、Apache では.htaccessを、IIS ではweb.configも見直しましょう。

またこちらの設定を有効にする(TRUE にする)前には必ずreport.phpにアクセスして HTTPS の状態を確かめましょう。

strictSSLCertsFMS

strictSSLCertsFMSでは、RESTfm が FileMaker Server に接続する際、HTTPS の証明書を厳格に求めるかどうかを設定します。FileMaker Server が HTTPS を用いているか場合にのみ関係する設定項目です。

詳しくは公式ドキュメントにありますが、開発環境では無効、本番環境では有効、とするのが推奨されるようです。

strictSSLCertsReport

strictSSLCertsReportでは、前出のstrictSSLCertsFMSと似たように、report.phpにアクセスするために厳格な証明書が必要か否かを設定します。これも詳しくは公式ドキュメントを参照してください。

forbiddenOnUnauthorized

forbiddenOnUnauthorizedはその値が TRUE の際、HTTP のベーシック認証のポップアップを抑制し JavaScript での認証を用います。

ただし、HTML および TXT 形式のフォーマットへのアクセスではこの設定は無視されます。

dumpData

dumpDataを TRUE に設定すると、生成されるデータがrestfmdump.xxxxxxxのようなサブディレクトリに保存されるようになります。ディレクトリの詳細な場所はphp.iniの記述に従います。

なお、この設定を TRUE にすると、全ての HTTP リクエストに対して新たなサブディレクトリを生成するため、注意が必要です。

diagnostics

diagnosticsの主な目的は、report.phpを有効にするか否かを設定することです。デフォルトでは TRUE になっていますが、本番環境では FALSE に設定して、パフォーマンスのアップや不要な情報表示を防ぐようにした方がいいでしょう。

また、echoという API の実行可否もこの設定で決まります。詳しくは公式ドキュメントを参照してください。

hostspec

hostspecでは FileMaker Server のアドレスを指定します。HTTP と HTTPS も区別されます。

FileMaker Server が localhost にある場合でも http://localhost/ と指定するのではなく、http://127.0.0.1/ と指定するほうが速度アップが見込めます。

また、localhost の場合は HTTPS を用いる必要はありません。

useDefaultAuthentication

useDefaultAuthenticationが TRUE の場合、ユーザー認証項目が明示的に設定されなければdefaultUsernamedefaultPasswordで指定されたユーザ名とパスワードを用いて FileMaker Server にログインが行われます。

databasePDOMap

databasePDOMapは実験的な設定項目です。PHP の DSN の設定書式(下記)で記載することで、MySQL や SQLite などのデータベースに接続することができます。

'example1' => 'mysql:host=127.0.0.1;dbname=testdb',
'example2' => 'sqlite:/export/databases/testdb.sqlite3',

keys

keysに配列を指定することで、FileMaker Server のユーザに対して API Key を発行することができます。API Key は API の認証に用いられます。

詳しくは公式ドキュメントを参照してみてください。

allowed_origins

allowed_originsは、クロスサイトリクエストが発生する際に発生元のドメインを指定するために必要な設定項目です。Webアプリ が RESTfm がインストールされているドメインと異なるドメインで運用される場合などに設定します。

この設定はたいていの環境において必要ではないでしょう。

設定を確認してみる

以上のRESTfm.ini.phpの設定が終わったら、実際に設定項目が正しく反映されているかの動作確認をしてみましょう。なお、リクエストの度にRESTfm.ini.phpを参照する形式ですので、Webサーバ の再起動は必要ありません。RESTfm.ini.phpを修正しては試し、修正しては試しといった設定方法でよいでしょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?