| あっぷっぷ携帯ホームページ講座TOP - あっぷっぷ | ||||||
| CGI | ||||||
|
◆CGIとは ◆CGIの動作について ◆CGIで何ができるのか ◆CGIを設置する前に ◆PERLのパスとは ◆パーミッション(実行権)とは
例えば、掲示板・チャット・カウンタ・検索エンジン・ショッピングカートなどなど。 動的とは見ているユーザーがなにかCGIを実行することでページの内容を変更することできたりデーターベースからデーターを抽出したりできるものをいいます。 通常CGIとは「Perl」(パール)というプログラム言語で書きます。 CGIを実行するにはホームページを設置しているサーバーに「perl(パール)」というソフトが実装・設定されている必要があります。 一般の有料レンタルサーバーにはperlはほとんど実装されていますが、プロバイダのサービスによくついている「5Mホームページ容量無料」というものにはPerlは使えない場合がよくあります。 いままでよく質問で 「メールフォームを見よう見た目で作ったのですが動きません、どこがいけなのでしょう?」 てなことを聞かれるのですが、サーバーにPrelが実装されてないのがほとんどです。 そこのところを注意してください。
例えば、 <form action="****.cgi"> <a href=****.cgi> <img src=*****.cgi> のような形でCGIを実行さすことができます。 上のような実行タグによりサーバーにあるPerlというソフトが動作しブラウザに結果を返します。
ファイルを操作できる。(ファイルを呼び込んだり、書き込んだり、削除したり、修正したり) メールを送信できる。 データベースにアクセスできる。 ファイル操作とは たとえば、掲示板を例に挙げます。 書き込むという操作はファイルに保存するということです。 掲示板の内容をみるということはファイルを呼び込むということです。ファイル操作ができるからこそ掲示板やチャットができるのです。通常のhtmlではそれができません。
あっぷっぷが運営するCGI BANKでも掲示板などを配布していますのでよろしければどうぞ。 CGIを設置するのはHTMLファイルを設置するのとは若干異なります。注意すべき点がいくつかあります。 ・perlのパスについて ・パーミッションについて ・ディレクトリ制限について サーバーにアップロードする方法はHTMLファイルと同様FTPソフトを使います。
フリーのCGIをダウンロードするサイトによくかかれている「Perlのパス」というものがあります。 私がはじめてCGIを設置した時この意味がわかりませんでした。 !#/usr/bin/perl のような見たことがない書き方?? これをwindows風に書くと c:\usr\bin\perl.exe とでもいいましょうか。 !#/usr/bin/perl はUnixのディレクトリの書き方です。(UNIXはWindowsのようなOSのひとつです。) usrフォルダの中にあるbinフォルダの中にあるperlというファイルの意味になります。Unixサーバーには拡張子がないものはたくさんあります。Windowsに慣れしたしんでいる人にはすこしややこしいかもしれませんがperl.exeみたいなことだとおもってください。 CGIのプログラムの1行目にPerlのパスを指定することでCGIを実行さすことがでるようになります。
UNIXはファイルには必ず実行権(アクセス権)を設定する必要があります。 この実行権を設定することでセキュリティを強固にすることができます。 いままで作成してきたHTMLファイルも実はパーミッションを設定しています。FTPソフトが自動的に判別しているので気にせずアップロードできています。 FTPソフトを見てもらえばわかりますが、確認の方法はアップロードしているファイルを右クリックしてパーミッションもしくは実行権というところで確認できると思います。 そのパーミッションを正確に設定していないとCGIは全く動きません。 一般的に CGIは755 書込み可能ファイルは666 一般フォルダは755 書込みファイルがあるフォルダは777 それ以外のファイルは644 というのが多いです。 |
||||||
| あっぷっぷ携帯ホームページ講座TOP - あっぷっぷ |