4D と 4D Serverは透過的また動的に、あなたのデータベースをWebに配信するWebサーバー (HTTPサーバー) を含んでいます。
この節ではWebサーバーの起動とブラウザーからの接続に必要なステップ、および接続管理の処理について説明します。
4Dや4D ServerのHTTPサーバーを起動するためには、以下が必要です:
- "4D Web Application" ライセンス。詳細は4Dのインストールガイドを参照してください。
- Web接続はTCP/IPを使用してネットワーク経由で行われます。そのため:
- マシンにTCP/IPがインストールされていて、正しく設定されていなければなりません。詳細はコンピューターまたはOSのマニュアルを参照してください。
- ネットワーク接続にSSLを使用したい場合は、必要なコンポーネントが正しくインストールされているか確認します (TLSプロトコルの使用参照)。
以上の点をすべてチェックした後に、4D内でWebサーバーを開始します。この点についてはこの節の後で説明します。
デフォルトでは、すべての4DクライアントマシンからデータベースをWebに公開できます。しかし個々の4DリモートマシンごとにWeb公開を行うかどうかを、4Dのパスワードシステムを使用してコントロールできます。
実際、4D Webライセンスは4D Serverによりプラグインライセンスとして扱われます。すなわちプラグインと同じ方法で、Webサーバーライセンスを使用する権限を特定のユーザーグループに制限しなければなりません。
これを行うには、4Dでツールボックスのグループページを表示します (これらのパラメーターを変更する権限を持っていなければなりません)。
左のリストからグループを選択し、プラグインアクセス権エリアの4D Client Web Serverの隣のアクセスオプションをチェックします:
![](../../picture/3516924/pict3516924.en.png)
上記の注意: "4D Client Web Server" グループに所属するユーザーだけが、Webサーバーとして4Dマシンを公開できます。
Mac OS Xでは、0~1023のポートを利用するために特別な権限が必要です。これらのポートを利用可能にするために、4DはHelperToolというユーティリティプログラムを提供しています。このプログラムがインストールされると、プログラムは適切な権限を取得し、Webポートを開くための作業を自動で行います。このメカニズムは4D (すべてのモード)、4D Server、そして4D Volume Desktopで動作します。
HelperToolアプリケーションは4Dソフトウェアに含まれます。インストールは最初に1023未満のポートを開く際自動で行われます。ツールがインストールされる旨通知され、管理者の名前とパスワードの入力を要求されます。この処理は一回だけ必要です。アプリケーションは"com.4D.HelperTool"と名称変更され、"/Library/PrivilegedHelperTools/"にインストールされます。一連の作業の後、4D Webサーバーは、使用する4Dのバージョンに関わらず、透過的に開始および停止できます。
4D Webサーバーは3つの方法で起動できます:
- 4Dの実行メニューまたは4D ServerのHTTPサーバーページ (HTTPサーバー開始ボタン)を使用する。これらのコマンドを使用していつでもWebサーバーを開始したり停止したりできます:
4D:
![](../../picture/37654/pict37654.ja.png)
4D Server:
![](../../picture/3523354/pict3523354.en.png)
- 4Dアプリケーションが開かれるときに自動で開始する。このようにするにはデータベース設定の、Webテーマの設定ページを表示します:
![](../../picture/3523354/pict3523354.en.png)
公開情報エリアで、開始時にWebサーバーを起動チェックボックスにチェックをしてOKをクリックします。これを行えば、4Dや4D Serverを起動するたびにWebが自動で公開されます。
Tip: データベースをWebに公開するために、4Dを終了して再起動する必要はありません。必要な時にWebサーバーを停止し、また開始することができます。これを行うには実行メニューを使用する、HTTPサーバー開始ボタンを使用する、またはWEB START SERVER と WEB STOP SERVERコマンドを使用します。
Webサーバテスト メニューコマンドを使用してビルトインのWebサーバが正しく実行されているか確認できます (4Dのみ)。このメニューはWebサーバが実行されているときに実行メニューからアクセスできます:
![](../../picture/37657/pict37657.ja.png)
このコマンドを選択すると、4Dアプリケーションが公開しているWebサイトのホームページが、デフォルトWebブラウザに表示されます:
![](../../picture/240306/pict240306.en.png)
このコマンドでWebサーバが起動され、ホームページが表示可能かなどを検証できます。ページは、Webブラウザが実行されているマシンのIPアドレスを指定する標準のショートカットである、ローカルホストのURLを使用して呼び出されます。コマンドはデータベース設定で設定されたWeb公開ポート番号を考慮に入れます。
4DデータベースをWebに公開した後、Webブラウザーから接続ができるようになります。これを行うには:
- Webサイトが登録名を持つ場合 (例 “www.flowersforever.com”)、ブラウザーのアドレス欄にその名前を入力し、Enterキーを押します。
- Webサイトに登録名がない場合、マシンのIPアドレス (例 123.4.567.89) をブラウザーのアドレス欄に入力し、Enterキーを押します。
この時点で、ブラウザーにはWebサイトのホームページが表示されるはずです。データベースを標準の設定で公開しているなら、4D Webサーバーのデフォルトホームページが表示されます。
以下のような状況になるかもしれません:
- 接続に失敗し、以下のようなメッセージが表示される “...サーバーが接続を許可していないか、応答できないようです...”。この場合、以下の点をチェックします:
- 入力したWebサーバーアドレスまたはIPアドレスが正しいか確認する。
- 4D/4D Serverが起動され、Webサーバーが開始されているか確認する。
- WebのTCPポートがデフォルトのWeb TCPポート以外に設定されていないか確認する (状況4参照)。
- サーバーマシンとブラウザーマシン両方でTCP/IPが正しく設定されているか確認する。両マシンは同じサブネットに存在するか、ルーターが正しく設定されていなければなりません。
- ハードウェアーの接続を確認する。
- ローカルサイトではなく、インターネットやイントラネット上の誰かが提供しているWebデータベースに接続しようとしている場合、メッセージは実際の状況を表しているかもしれません。この場合、後ほど試すか、Webプロバイダーに連絡します。
- 接続したがHTTP 404 "ファイルが見つかりません"エラーを受け取った。これはホームページが提供されていないことを意味します。この場合、データベース設定で定義した場所に、ホームページが存在するか (Webサーバー設定ページ参照) 、またはWEB SET HOME PAGEコマンドを使用しているか確認してください。
- 接続はしたが、期待したWebページが表示されなかった。これは複数のWebサーバが同じマシン上で動作しているときに発生します。例えば:
- すでにWebサーバーが起動されているWindows上で1つの4D Webデータベースを実行した。
- 同じマシン上で複数の4D Webデータベースを実行した。
このような状況では、4D Webデータベースのポート番号を変更する必要があります。これを行うにはWebサーバー設定を参照してください。
注: データベースがパスワードシステムで保護されている場合、有効なユーザー名とパスワードを入力しなければならないかもしれません (詳細は接続セキュリティを参照してください)。
Webブラウザーがデータベースへの接続を試みるたびに、リクエストは以下の手順で処理されます:
- まずWebサーバープロセスは1つあるいは複数の一時的な4Dローカルプロセスを作成します。これはWeb接続プロセスと呼ばれ、Webブラウザーとの接続を検証、管理します。
この一時的なプロセスはすべてのHTTPリクエストを管理します。これは素早く実行され、アボートされるか遅延されます。Webサーバーを最適化するために、一旦リクエストが管理されると、4DはこのWebプロセスの"プール"を数秒フリーズさせ、他のリクエストが来たときに必要になった時に再利用できるようにします。この振る舞い(タイムアウト、プール内に保存しておけるプロセスの最少数と最大数)は SET DATABASE PARAMETER コマンドで変更できます。 - Webプロセスはリクエストの処理を管理し、必要であればレスポンスをブラウザーに送信します。一時的なプロセスはアボートまたは遅延されます (上記参照)。