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

MacPerlで作ったCGIをWebSTARで使いたい!

発言者:miwa
( Date Saturday, January 17, 1998 01:09:17 )


MacPerlで作ったCGIをWebSTARで使いたいのですが、
サーバーの方に何か用意は必要なんでしょうか?
ほかに注意点などあれば教えてください。


miwa さんからのコメント
( Saturday, January 17, 1998 01:29:33 )

あとUNIX 用に書かれたCGIはどうすれば
使えるようになるんでしょうか?
初心者な質問ですいません。
とりあえず自分でも勉強してみます。

田中求之 さんからのコメント
( Saturday, January 17, 1998 02:16:18 )

MacPerl で CGI としてセーブしたものであれば、サーバーに MacPerl さえ
ちゃんとインストールされていれば、そのまま動くはずです。 WebSTAR であろう
がなんであろうが、CGI をサポートしたサーバーであれば、MacPerl の CGI は
使えます。

UNXI 用に書かれた CGI を移植する場合の注意点は、ずばり、UNIX に依存した
部分に注意する、ということです(当たり前ですが)。

ファイルのパス名の表記方法や、コマンドに注意する必要があります。

とりあえず、よしもとさん(現在、Perl-Plugin の公開デバッグをやってますので
Perl 使いの人は協力してあげてくださいね)の以下のページなどをご覧ください。
(Macintosh Developer Journal No.26 にも解説記事があります)

→  CGI Programming in MacPerl

よしもと さんからのコメント
( Saturday, January 17, 1998 10:16:39 )

田中さん、フォローありがとうございます。

現在ページのリニューアル中でして、将来的には以下の所へ
移動する予定です。

→  MacPerl Island

よしもと さんからのコメント
( Saturday, January 17, 1998 10:29:28 )

それから、言い忘れましたが、MacPerlでCGIをするなら
少なくとも5.1.3r2以降のバージョンを使うことをお勧め
します。できれば最新バージョン5.1.9r4を使うのがよい
ですよ。

なお、最新版はCPANのミラーサイトで入手できます。

→  CAPNのミラーサイト

まさ さんからのコメント
( Saturday, January 17, 1998 10:33:02 )

こんにちは。
便乗質問になってしまうのですが、お聞きします。
以前田中先生のCGIKitでお世話になり、今回は仕事の関係上、覚えておいた方
がいいということで、MacPerlも勉強しなければならなくなり、いきなり最初
からつまづいております。

いろんな書籍を見ていると、サンプル集がついていてそれを使えば動きます。
と、言うのが多いのですが、性格上同じものとわかっていても、自分で打った
ものを使いたく、掲示板のプログラムを(本に書いてあったとうりですが)
書きました。

状況を説明します。
まず、サーバにはWebSTARで、その中にMacPerlのフォルダを置き、その中に
MacPerl本体と、libというフォルダ(jcode.pl.2.6のみ入っています)を置いて
います。
サーバ側に置くのはMacPerl本体だけではだめなのでしょうか?
あと、同じ階層にはcgi-binというフォルダを作りその中に掲示板用のプログラム
(CGI SCRIPTとしてセーブしたもの)を入れてあります。
そして、違うフォルダに(同階層)htmlで書いた、書き込み用のページを置いて
ます。

いちばんお聞きしたいのが、CGI SCRIPTとしてセーブしたアプリケーションが
立ち上がらないのですが、原因はなんでしょう?
アイコンは変わっているのですが、立ち上げようとすると、
This program relays MacHTTP serch
AppleEvents to MacPerl
It will terminate after 5 minutes of
inactivity.
という、メッセージが出てQuit Nowボタンがあり、押すと終了してしまいます。

すごく、初歩的な質問であるとは思いますが(以前のものも読んだのですが)
わからなかったので、教えていただきたく思います。
よろしく、お願いします。

まさ さんからのコメント
( Saturday, January 17, 1998 12:30:05 )

いろいろ試して、動いたので報告します。
自分の勘違いで、CGIKitの時はそれぞれのプログラムを立ち上げておいてあり
ましたが、どうやら、MacPerlの場合は、サーバ側で立ち上げておくのではなく
ブラウザから命令が飛んだときに、立ち上がるようですね。

英語が読めないのでよくわからないのですが、命令が飛んでから5分後に
このプログラムは、勝手に終了するよ。
と、いうことですよね?ちがうのかな?

ここで、もう一つ質問なんですが、
WebSTARの設定の、その他の設定で、cgi-binのCGIのみ使用はチェック
しなくていいんですよね。
というのも、CGIKitの方は順調なのでそのままにしておいて、MacPerlの方を
練習していきたいのですが。

でも、自分でやって動いたのでひとまず安心です。
お騒がせしました。
やっぱり自分で打ったプログラムが動くと、感動しますね。
(初心者的意見でスイマセン)

田中求之 さんからのコメント
( Saturday, January 17, 1998 12:31:29 )

>アイコンは変わっているのですが、立ち上げようとすると、

立ち上がったままにしておけば( Quit Now をクリックせずに放っておく)、
CGI として機能しませんか?

田中求之 さんからのコメント
( Saturday, January 17, 1998 12:36:22 )

あ、入れ違いになっちゃった (^_^;

動いたようですね。表示されているメッセージの内容は、まささんがおっしゃっている
ように

「こいつは MacHTTP と MacPerl の中継役をやってるんだよん。5分間仕事が
 こなかったら終了するからね」

ということです(大胆な意訳 (^_^;; )

>WebSTARの設定の、その他の設定で、cgi-binのCGIのみ使用はチェック
>しなくていいんですよね。

これは CGI の動作には関係ありません。こいつをチェックすると、cgi-bin
フォルダーの中の CGI だけしか使えなくなる、というものです(セキュリティ
のために制限を加えるときに利用する)

よしもと さんからのコメント
( Saturday, January 17, 1998 13:19:38 )

解決したようですが

まささんwrote:
>まず、サーバにはWebSTARで、その中にMacPerlのフォルダを置き、その中に
>MacPerl本体と、libというフォルダ(jcode.pl.2.6のみ入っています)を置いて
>います。

えっと、別にMacPerlはWebSTARのフォルダの中に置く必要はありませんよ。

まさ さんからのコメント
( Saturday, January 17, 1998 14:34:21 )

田中先生、よしもとさん、コメントありがとうございます。

>( Quit Now をクリックせずに放っておく)
どうも、ボタンがあると押したくなるもので。。。
でも、もう誘惑にはまけません。(笑)

>えっと、別にMacPerlはWebSTARのフォルダの中に置く必要はありませんよ。
MacPerlというフォルダの中に、MacPerl本体と一緒にlibというフォルダ
(中にjcode.plのみ)を入れてありますが、それごとWebSTAR以外にもって
いくと、動くには動くのですが、日本語のメッセージが抜けています。
jcode.plはどこにおけばよろしいのでしょうか?

あと、MacPerlをダウンロードしてきたときにいろんなファイルやらフォルダ
が入っていましたが、サーバに置いてあるフォルダには上にかいた様に、
MacPerl本体とlibしか入れてないのですが、このままでよろしいのですか?

たびたびすいませんが、よろしくおねがいします。


usui , seiichi さんからのコメント
( Monday, January 19, 1998 08:40:48 )

やり方は一人ひとりが違っていて当然だと私は思います。
ですから強制するわけではありませんが、

ハードディスクに余裕がある場合は、MacPerlをインストールした状態のまま
にしておくべきだと私は思います。(Macなアプリケーションは)デフォルト
の設定でじゅうぶん機能するようになっているはずです。

スクリプトを試しに動かしてみるだけなのに余計な障害をふやすべきではない
と私は思います。(#説教くさいのは家系だそうです・・・・)

経験を積んで余裕が出来てから色々と変更を加えてみましょう。
(余計なことですが、アクセスの度にCGIが立ち上がるのがうざいので、
 5分で終了しないで立ち上がったままにすることも出来ます。)

jcode.pl などは特に指定がないかぎりCGIスクリプトの入ったフォルダと同じ
場所に置いて下さい。

まさ さんからのコメント
( Monday, January 19, 1998 20:24:47 )

usui,seiichiさん ありがとうございます。

>5分で終了しないで立ち上がったままにすることも出来ます。
早く、そういうプログラムが書けるようにがんばります。

>jcode.plなどは特に指定がないかぎりCGIスクリプトの入ったフォルダと同じ
>場所に置いて下さい。
ここに入れておかないと、うまくいかないようでした。
ありがとうございました。

田中求之 さんからのコメント
( Tuesday, January 20, 1998 03:42:40 )

本筋とは関係ないですけど…

よしもとさん曰く:
>現在ページのリニューアル中でして、将来的には以下の所へ
>移動する予定です。
>
>→  MacPerl Island

これ、なかなか中身が濃いページ(コーナー)になりそうですね。構想だけで挫折しないで
がんばってくださいね。

よしもと さんからのコメント
( Tuesday, January 20, 1998 07:47:04 )

どうもです。

これまでさぼっていたんで、今回は結構気合いを入れて作っています。
まだ、構築中ですが、結構ネタはたまってきてますんで、「構想だおれ」
にならないようにがんばりますです、ハイ (^^;

ちゅうことで、お暇な方は、一度お立ち寄りを...

清 秀紀 さんからのコメント
( Tuesday, January 20, 1998 10:37:16 )

ePerl、期待してます ;)

よしもと さんからのコメント
( Tuesday, January 20, 1998 12:24:52 )

ePerlっすかぁ。

ソースがあるんで、多分大丈夫な気はしているんですが...
あまり期待しないで待ってて下さい (^^;

清 秀紀 さんからのコメント
( Tuesday, January 20, 1998 13:57:20 )

自分でできないことですから、いくらでも待てちゃいます。

どうしてもMac上でトータルな制作は行いたいので、Macでできることが
増えると、その分確実にいろいろ楽できるんですよ。

usui , seiichi さんからのコメント
( Wednesday, January 21, 1998 02:50:06 )

まさ様へ

>>5分で終了しないで立ち上がったままにすることも出来ます。
>早く、そういうプログラムが書けるようにがんばります。

あるところをResEditで変更するだけで可能です。
#Perlは(ある程度までは)簡単だと思います。
#よいスクリプトを書いて下さい。

私がサーバーを立ち上げていたころは、起動項目のフォルダの中に
エイリアスを入れておいて立ち上げたままにしておきました。

市川 さんからのコメント
( Thursday, June 04, 1998 21:53:43 )

MacPerlで作ったCGIをAppleShare IP Web&File Serverで使いたい
のですが、うまくいきません。
サーバーでCGIは立ち上がろうとするのですが「this program relays Mac
HTTP serch AppleEvents to MacPerl.」というふうなログがでてしまいます。
サーバにはMacPerlはインストールされています。CGIはcgi-binというフォルダ
に入れなければならないのでしょうか。それかやはりAppleShare IP Web&
File ServerではMacPerl動作しないのでしょうか。