真里:加藤真里 シレ:シレスト=ノイデルファーム
シレ:さて、前回はサーバでなんとかソフトを動かせばCGIが作れるという話でした。今回はさてどうやって動かすか、という話です。
真里:あー!一人で勝手にまとめちゃってる!一応この講座はあたいのものなのに!
シレ:……す、すいません。で、どうやって動かすか、という話ですが……真里さん説明お願いします。
真里:たぶんこんなところ読んでるくらいだから、みんなは「FTP」って知ってるよね?そうそう、自分のページを更新するときにお世話になってるあのソフト、このソフト……WindowsだったらWs_FTP、MacだったらFetchってソフトが有名かな?
シレ:正確にはそういうファイルを送るための決まりごと(プロトコル)、がFTPの直訳になりますが、そういうソフトのことだと思っておいても差し支えありません。
真里:……そうだったの?じゃあさ、FTPって何の略?
シレ:ファイル・トランスファー・プロトコル(=ファイル転送手順規約=ファイルを送るときのおやくそく)、です。
真里:よくできましたぁ!
シレ:……あ、あの……
真里:で、そのFTPっていうソフトでこのCGIも送ってやって、それを見てやると……
(と、真里はブラウザにhttp://www.ponapalt.com/bbs/bbs.cgiと打ち込む……が、見事に中身がずらーっと出てきてしまう)
真里:な、なんでよぉ!このソフト変なんじゃないの!?!?
シレ:……あの……「パーミッション」は設定しました??
真里:何それ?その変なカタカナ語??
シレ:……知らなかったんですか?
真里:知るわけないじゃない、あたいは丸ごと初心者なんだから(威張る)
シレ:……は、はぁ。……それでは一応説明しましょう。パーミッションというのは……まあ話がややこしくなるとちょっといけないので大事なところだけ説明すると、自分やほかの人がそのファイルを見られるか、書き込みできるか、そしてソフトを動かすことができるかを設定するものです。
まず……今使っているFTPのソフトで、まずはCGIに使うファイルを選択して……"Set
Permissions"とか……ともかく「Permission」とか「パーミッション」とかいう名前がついてるメニューありませんか?
真里:これね。
(注釈:MacのFetchなら"Remote"メニューの"Set Permissions..."、WindowsのWs_FTPでは選択したファイルの上で右クリックして"chmod(UNIX)"を実行します)
シレ:上にはMacの例を出してますが、Windowsでもだいたい同じようなものが出てきます。さて、左にはOwner、Group、Everyone、上にはRead、Write、Executeとならんでますね?
(注釈:WindowsのWs_FTPでは左側にRead、Write、Executeとなってるはずです。上のダイアログの左と上が逆になった形ですね。)
真里:うん。
シレ:まず、Owner、Group、Everyoneですが……
Owner=自分
Group・Everyone=他の人
と読み替えてみてください。ちなみにページを見に来てくれる人は、いくら知り合いでも「他の人」に入りますよ。
真里:で、Read、Write、Executeは?
シレ:
Read=ファイルの中身を見る事ができる
Write=ファイルの中身を変えることができる
Execute=ファイルを「ソフト」として扱う(実行する)
です。
で、ふつうのファイルの場合はたぶん
Owner=Read・Write(読み書き可能)
Group・Everyone=Read(読み込みだけ)
に設定されてると思いますが。
真里:なってるよ?
シレ:もちろん、他の人に勝手にファイルを書き換えられると自分のページを壊されてしまいますから、Group・Everyone=Read・Writeになっていたら危ないです。
さてさて、ここでですね。CGIはソフトですから……
Owner=Read・Write・Execute(読み書き実行可能)
Group・Everyone=Read・Execute(読み込み+実行)
にしなければならないのはだいたいわかってきましたね??……まずはそう設定しましょう。
真里:……はいはい、まったく人使いが荒いんだから……
シレ:だったら真里さんが一人で教えてくださいよ!わたしだって忙しいんですから!!
真里:ご、ごめーん!謝るからもっと教えて!
シレ:……で、これで、普通の場合CGIは動くわけですが……これでもたまに動かない場合(500 Internal Server Errorなどと表示される)があります。次はその場合について説明しましょう。
[次回に続く……]