このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

FMPro4とcgiに関する質問

発言者:歸山勝一郎
( Date Friday, May 29, 1998 18:17:24 )


初めて投稿いたします。
いつもこのページには大変お世話になっております。
今、非常に困っている問題がありますので、皆様のお知恵をお貸し下さい。

今まで、FMPro V3+MacHTTP2.2.2+acgiという環境でWEBを動かしていましたが、
MacOSを8.1にアップデートし、かつFMPro V4を購入しましたので、WEB構成の
見直しを行っております。
実現したい機能は、

1.WEBのトップページにアクセスする際、ユーザー認証を行う。
2.WEBページから、FileMakerに対して、データの入力・検索を行う。
3.会議室を運営する。

です。

1はOS標準のWEB共有を利用することにより実現可能ですが、2が今まで使って
いたacgiでうまく動きません。acgiのFileMakerに新規データを書き込みに行
く部分で権限がない旨のメッセージがでて書き込めません。これはMacHTTPでは
問題なく動くのですが・・・
ちなみにFMProを呼び出して、DBを選択するまでは問題ありません。
その後createを行おうとするとエラーになってしまいます。

今までの環境をそのままOS8.1で動かす手もあるのですが、ユーザー認証の
仕方が分からないため困っています。

皆様、どうかよいアドバイスをお願いします。

田中求之 さんからのコメント
( Friday, May 29, 1998 18:47:18 )

ファイルメーカー(およびデータベース)が入っているフォルダーのアクセス権の
設定はどうなっていますか?


>今までの環境をそのままOS8.1で動かす手もあるのですが

MacHTTP をお使いになるのは止めたほうがいいでしょう。 Web共有の方が圧倒的に
高速です。

歸山勝一郎 さんからのコメント
( Monday, June 01, 1998 11:22:24 )

田中さん、コメントありがとうございます。
FileMakeのWEBコンパニオンを利用することにより、DBへのアクセスは
可能になりました。ですが、ユーザー認証をどのようにすればよいのかが
分かりません。
DBに対してのユーザー認証はFileMakerのアクセス権を使えば問題なくでき
ますが、最初にWEBサーバーにアクセスする際も認証を行いたいのです。
OSのWEB共有と、WEBコンパニオンを組み合わせることによって実現可能な
ような気がしますが、どうでしょうか?また、不可能な場合はacgiを
書こうと思っていますが、どのようなロジックで書いたらいいのでしょうか?
お知恵をお貸し下さい。よろしくお願いします。

田中求之 さんからのコメント
( Monday, June 01, 1998 15:49:27 )

>最初にWEBサーバーにアクセスする際も認証を行いたいのです。

Web 共有でしたら、システムのファイル共有の権限によるアクセス制限が
できますが、これでは不十分ということでしょうか?
(たとえば、かなり大量の人に、それぞれユーザー名とパスワードを発行
する等?)

歸山勝一郎 さんからのコメント
( Monday, June 01, 1998 17:38:39 )

田中さん、
WEB共有のファイル共有権限で十分なのですが、MacOSのWEB共有とFileMakerの
WEBコンパニオンは同時に利用できるのでしょうか?もし、同時に利用できる
のならば、ユーザー認証はファイル共有権限で行い、DBへの入力等はacgiを
使わずに、CDMLでできると思うのですが、考え方が間違っていますでしょう
か?いろいろ試してみたのですが、WEB共有とコンパニオンがどうしてもうまく
同時に使えないのです。設定のコツがあればお教え下さい。

田中求之 さんからのコメント
( Monday, June 01, 1998 17:46:51 )

WEB コンパニオンを Port 80 以外に設定します。たとえば 8080 とか
(マニュアルでは別のポート番号をすすめているようですが)

こうすれば、Web共有と WEB コンパニオンの両方を動かすことができます。

ただし、データベース(ファイルメーカー)へのアクセスのリンクには

http://your.host:8080/myData/
                ^^^^^

のように、ポート番号をかならず指定する必要がありますので、この点には
注意してください。

歸山勝一郎 さんからのコメント
( Tuesday, June 02, 1998 13:30:16 )

田中さん、こんにちは。
お陰様でうまく運用することができそうです。
ありがとうございました。
もしよろしければもう1点アドバイスを下さい。
FTPサーバーも同時に立ち上げる予定です。今まではNetPresentsを
使っていましたが、今後もこれを運用する方がよろしいのでしょうか。
それとも別のツールを使った方がよろしいのでしょうか。
ご教授お願いします。

前田隆博 さんからのコメント
( Tuesday, June 02, 1998 15:43:23 )

割り込み失礼します。

歸山さんへ

今の設定のままではWebコンパニオンのページにブックマークして
次回からブックマークからアクセスするとWeb共有のユーザー認証
を無視してアクセス可能だと思うのですが、試されましたか?

それともWeb共有でユーザー認証した情報をWebコンパニオンでも
共有出来るのでしょうか?


田中求之 さんからのコメント
( Tuesday, June 02, 1998 19:31:49 )

>FTPサーバーも同時に立ち上げる予定です。今まではNetPresentsを
>使っていましたが、今後もこれを運用する方がよろしいのでしょうか。

予算に余裕があるのでしたら、NetPresenz ではなくて、Rumpus を購入して
使うことをお勧めします。

NetPresenz を動かすと、他のサーバーの処理能力が落ちますので、ファイル
メーカーのように、けっこう CPU の処理能力を必要とするソフトを同じマシンで
動かす場合には、NetPresenz は止めたほうがよいと思います。

FTP サーバー専用のマシンを確保できるのであれば、NetPresenz でも良いと
思います。

田中求之 さんからのコメント
( Tuesday, June 02, 1998 19:35:03 )

>今の設定のままではWebコンパニオンのページにブックマークして
>次回からブックマークからアクセスするとWeb共有のユーザー認証
>を無視してアクセス可能だと思うのですが、試されましたか?

WEB共有 + ファイルメーカー WEB コンパニオンで運用するかぎりは
これは仕方がないですね。

本格的にセキュリティを考えて運用するなら、 WebSTAR + Tango + ファイル
メーカーでシステムを構築するのがベストでしょうね。

Tango って、Tango 側で Realm を設定・コントロールすることは
できましたっけ?

前田隆博 さんからのコメント
( Tuesday, June 02, 1998 23:00:39 )

>WEB共有 + ファイルメーカー WEB コンパニオンで運用するかぎりは
>これは仕方がないですね。

Realmを使用せずにアクセス制限をかける方法としては、全ての
WebページをCGI経由にする方法があります。FM4.0は同じ
アプリケーションで動作しているので、この方法でもあまり
違いはないのではないでしょうか?

FM4.0に詳しくないので、予測の範囲でコメントいたします。

アクセス制限の方法としてログインしたユーザーに対して
クッキー等で識別する為の情報を用意する方法があります。
ログインページからIDとパスワードを入力すると、
ユーザー確認用のデータベースを検索して、該当する
レコードが有る場合はクッキーにユーザーのID等を埋め込みます。
アクセス制限をする全てのページに対して、識別した結果エラー
になった利用者へはエラーメッセージページを表示するようにします。
識別した結果、ログインの手順を経ている人には通常通りの
処理ページを表示するようにします。

FM4.0で判らないのは、アクセス制限をするページを作成した際に
識別した結果がエラーだった時点で処理を中止してエラーメッセージ
のページを出力してくれるかです。この辺はCDMLタグでなにか
用意されていると思うのですが...。



>Tango って、Tango 側で Realm を設定・コントロールすることは
>できましたっけ?

出来ません。
Tangoはグローバル変数というサーバ側の変数はRealmの情報から利用者を
識別しますので、それを利用する事は可能です。
Tangoでは一般的にはRealmよりも先に紹介したデータベースへの検索
結果からグローバル変数に値をセットして識別する方法が採られています。





歸山勝一郎 さんからのコメント
( Wednesday, June 03, 1998 10:47:13 )

田中さん、前田さん、コメントありがとうございます。
大変参考になります。

>今の設定のままではWebコンパニオンのページにブックマークして
>次回からブックマークからアクセスするとWeb共有のユーザー認証
>を無視してアクセス可能だと思うのですが、試されましたか?

試してみたところ、仰るような結果になってしまいました。
ですがそこまで厳密なセキュリティは今回考えていないので(アク
セスに来たら建前上登録ユーザーしか入れないような感じになれば
いいので)、現状の構成で作ってみようと思います。

>NetPresenz を動かすと、他のサーバーの処理能力が落ちますので、ファイル
>メーカーのように、けっこう CPU の処理能力を必要とするソフトを同じマシ
>ンで動かす場合には、NetPresenz は止めたほうがよいと思います。
>FTP サーバー専用のマシンを確保できるのであれば、NetPresenz でも良いと
>思います。

FTPは、別のMACで立ち上げようと思っていますので、NetPresentを
そのまま使うことにしました。

いろいろとアドバイスいただきありがとうございました。
今後ともよろしくお願いします。

村上 徹 さんからのコメント
( Friday, June 19, 1998 00:21:15 )

WebコンパニオンとWeb共有とを使ってWebサイトを運営しています。ユーザ
ー認証はファイルメーカーProのデータベースに対してのみ、Webセキュリ
ティ.fmjで設定してあります。Web共有は、データベースへのアクセス以外
の一般公開しているページを担当していて、ユーザー認証はしていません。
Web共有を併用しているのは、マルチスレッドに対応していないファイルメ
ーカーPro +Webコンパニオンの負荷を分散させるためです。

Webコンパニオンのポートはマニュアルに従って、591にしてあります。HTML
ファイルの入ったフォルダはWebコンパニオンとWeb共有とで同じにしてあり
ます。ただし、ページ間のリンクではドメインネーム:ポート番号から指定
して、WebコンパニオンがいつのまにかWeb共有の分まで担当させられないよ
うに注意しています。

HTMLファイルはホームページProで作りました。これだと、CDMLに対応しているので、データベースアクセスのページを楽に作れます。