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

WebTenのCGI設定

発言者:鷺池慎弥
( Date Thursday, April 02, 1998 11:46:56 )


いつもお世話になっています。

今回WebサーバーをQPQからWebTen2.0に移行したいと考えています。
WebTenはMacPerlの他、UNIXPerlも使用可能なのでかなり好都合なのですが、
実際にテストサーバーとして立ち上げたところ、cgi-binフォルダーが、
WebのRootより上の階層にあり、運用上では「http://www.xxx.co.jp/cgi-bin/xxx.cgi」の様に
仮想的にルート直下に位置する設定となっていました。

この場合複数いるユーザーがFTP接続する場合、実際にcgi-binフォルダーが
存在するroot以上にアクセス権を設定せざるおえないと思います。
一般のプロバイダやQPQの様にroot以下ユーザー階層内にCGIを設置することは
出来ないのでしょうか?

実験的に「/~user_a/cgi-bin/xxx.cgi」の様にユーザー階層下にcgi-binフォルダーを
作成したり、直接「/~user_a/xxx.cgi」など試したのですが403エラーで
サーバー側に拒否されてしまいます。

本家Apachiの説明書にはAliesの概念がある様ですが、UNIX音痴なもんで
理解できませんでした(苦笑)
ましてや、WebTenで通用するかも分かりませんし...(笑)

どなたか既に運用、使用されている方がいらっしゃいましたら、お助けください。
宜しくお願いします。

石津@RJC さんからのコメント
( Thursday, April 02, 1998 12:06:15 )

WebTenのcgi-binフォルダのエイリアスをwww.xxx.co.jpフォルダの
下に配置してあげればちゃんと動作すると思います。

お試しください。

ivan さんからのコメント
( Thursday, April 02, 1998 12:06:38 )

> 一般のプロバイダやQPQの様にroot以下ユーザー階層内に
> CGIを設置することは出来ないのでしょうか?

できますよ。
設定したのが大分前なのでうろ覚えですが、
AdminServerのトップからSerVer Defaultsを選んでACGIBinOnlyをOFFで
良かったように思います。
間違っていたらごめんなさい。

鷺池慎弥 さんからのコメント
( Thursday, April 02, 1998 14:32:01 )

石津@RJCさん、ivanさん適切なアドバイスありがとうございます。
早速実験した結果CGI自体は動きました。

cgi-binの中にユーザー個々のフォルダーを作り、そのエイリアスを配置しました。(下図)
(WebTen)
  |
  |___(cgi-bin)___(tanaka_cgi)
    |             |_(suzuki_cgi)
  |
  |___(WebSite)___(www.xxx.co.jp)___(tanaka)___(tanaka_cgi)のエイリアス
                                    |_(suzuki)___(suzuki_cgi)のエイリアス

もちろん各ユーザーのFTPのrootは(tanaka)フォルダ及び(suzuki)フォルダなのですが、
この場合、FTPでrootに入り、CGIのエイリアスフォルダに移動、
その後、CDUPで1階層あがると(cgi-bin)フォルダに来てしまいます。
これではセキュリティ上問題アリアリですよね!(笑)
その後サーバー内を自由に散歩出来てしまいます(笑)

う〜ん、この状態が限界なのでしょうか?

鷺池慎弥 さんからのコメント
( Thursday, April 02, 1998 14:42:21 )

追伸
ivanさんの方法で、エイリアスでは無く、直にCGIを置いても、
403サーバーエラーでサーバーが拒絶します。
やはりcgi-bin以下のエイリアスは必ず置かなければいけないのでしょうか?


上の図が数行ずれてます。見にくくてすみません。

ivan さんからのコメント
( Thursday, April 02, 1998 17:35:55 )

むむむ。
まだ何か設定しなければならないものがあるようですね。
私の所では、HTMLファイルがある階層に一緒にCGIスクリプト
置いてもちゃんと動いているのですよ。
AppleScriptではなくPerlですが。

私も最初 403 Forbidden が出て悩んだ記憶があります。
いろいろ設定する項目あったので何をいじったか覚えてません。(すみません)

鷺池慎弥 さんからのコメント
( Thursday, April 02, 1998 19:09:53 )

>>私の所では、HTMLファイルがある階層に一緒にCGIスクリプト
>>置いてもちゃんと動いているのですよ。

そうなんです!ズバリそれがしたいんです(笑
)
>>私も最初 403 Forbidden が出て悩んだ記憶があります。
>>いろいろ設定する項目あったので何をいじったか覚えてません。(すみません)

とんでもない、ココは毎日のぞいてますので思い出したら教えてください。

ちなみに動かしたいのはPerl5なんです。
MacPerlよりも普及してますしねぇ。
MIME設定とかも関係している気配があるので明日にでも現在の設定を
アップしたいと思います。(でも、デフォルトなんですけどね。)

怪しげな設定があったらまた教えてください。

ivan さんからのコメント
( Friday, April 03, 1998 10:30:42 )

Virtual Hosts Table の Folder Contents のAccess Control で、 
Action Handler Overrides から cgi-script を選択して、まずセーブします。
そしてそれを none に戻してもう1度セーブします。
(戻してセーブしないと普通のHTMLドキュメントが開けなくなる)
これでOKだと思います。
Server Info とった時に

<Directory '/hoge">
Options +ExecCGI
</Directory>

が httpd.conf の最後に追加されているハズです。
#さっき別のマシンにWebTenインストールして試してみました(笑)。
直接 httpd.conf や srm.conf、access.conf を書き換えられれば
こんな苦労はしないですむんですがねぇ...。

鷺池慎弥 さんからのコメント
( Friday, April 03, 1998 13:36:50 )

ivanさん、本当に感謝いたします。
上記の設定を実行した後、確かに...

<Directory "/usr/local/etc/httpd/WebSites/www.xxx.co.jp"> 
  Options +ExecCGI
</Directory> 

が、表示されました。

そしてルート以降どのディレクトリでも認識出来るようになりました!!
本当にありがとうございました。

田中求之 さんからのコメント
( Friday, April 03, 1998 18:25:41 )

>直接 httpd.conf や srm.conf、access.conf を書き換えられれば
>こんな苦労はしないですむんですがねぇ...。

あれ? WebTen は、確かこれらの設定ファイルを自分で書き換えられるように
なっていたはずですよ。 1.0 の時には、Squid Cache の設定などは、
この方法でしか設定できなかったと思います。


鷺池慎弥 さんからのコメント
( Friday, April 03, 1998 19:08:53 )

え?そうでしたっけ?(汗)
一応マニュアルに目を通したつもりなんですが...
やっぱり英語って難しいですね!(笑)

4/30前後に日本語版が出るそうです<WebTen
その時無償でバージョンアップ出来るそうなので
日本語のマニュアルで勉強し直そうと思います。


PS.先日のEXPOでのカンファレンス、拝聴させて頂き大変参考になりました>田中先生

石津@RJC さんからのコメント
( Sunday, April 05, 1998 01:43:22 )

>あれ? WebTen は、確かこれらの設定ファイルを自分で書き換えられるように
>なっていたはずですよ。

うーんと2.0からFastFileSystemに対応したため、WebTenの実行環境がそちら
に実装されました。そのためPerlなんかも入れ替えたりするのにCodeBuilder
とかがないと直接編集できなかったように思います。

記憶違いだったらごめんなさい。
そこまで使い込んでないもので。

田中求之 さんからのコメント
( Sunday, April 05, 1998 02:17:57 )

>うーんと2.0からFastFileSystemに対応したため、WebTenの実行環境がそちら
>に実装されました

あら、そうだったんですか。以前、MacFan Internet にレビューを書いたときには
UNIX 式の設定も出来ることも大きなメリッとして評価してたのになぁ…