設置の基本

ホーム > Web素材 > 設置の基本
  1. CGIの送信の仕方は、基本的にホームページを送信する方法と一緒ですが、ここで注意しなければならないことが2つあります。
  2. まずは、送信モードの選択で、データーを送るときにバイナリーで送るかアスキーで送るかを指定しなければなりません。これは、MacOSやWindowsでは、画像ファイルや、圧縮ファイルをバイナリーとして処理するようになっているからです。CGIの場合、サーバーコンピューターがプログラムを理解できるように送らなければならないので、そのままバイナリーで送るとサーバーエラー起こします。
  3. たいていのFTPソフトには、ASCIIモードで送る”というのがあり、要は、CGI等のプログラムを送るときにこのモードに変えて転送します。ただし、ソフトによってこれを自動判別する場合や、直接転送とかと表記が違っている場合があるので、お使いのFTPソフトのヘルプを読んでください。
  4. 次にパーミッションの設定で、いくらデーターを転送しても、スクリプトのソースが読まれたり、サーバーマシンに実行してもいいか?とかの許可などを指定しなくては、プログラムは動きません。したがって、以下の設定も必要になります。
  5. CGI配布ページの説明にはたいてい、以下のようにパーミッションの設定がかかれています。
    ./cgi-bin/
      ./bbs/

        ./bbs.cgi
        ./bbs.dat
        ./jcode.pl
    701
    701
    755
    666
    644
    CGIの含まれるディレクトリ
    BBSのCGIの入っているディレクトリ
    BBSの実行プログラム(CGI)
    BBSのログデーター
    日本語キャラクターコード変換Perlライブラリ
    まずは、bbs.cgiをアスキーモードで転送しよう。

    ここで注意するのは、ディレクトリのパーミッションです。大抵のCGIの説明書には、777にするようかかれていますが、このようにすると他の人からディレクトリの中身が丸見えになってしまいます。この数字が少ないほど、セキュリティ上安全なので、ここでは、701を推奨します。

  6. 次に、“FTPコマンドを送る”で、
    site chmod 775 bbs.cgi
    と入力し送信する。(文法:site chmod パーミッションNo. ファイル名
    たいていのソフトは見かけ上は変化ませんが、これでパーミッションは切り替わります。
  7. しかし、最近のFTPソフトは、もっと簡単に設定ができます。パーミッション設定(実行権)というようなメニューがあったら、それを開くと下図のような画面が出ます。

    例えば、6の例でCGIを送る場合、

    とするだけで、パーミッションは切り替わります。つまり上記の設定は、パーミッション755と一緒ということです。
  8. 同じようにbbs.datや、jcode.plも送ります。site chmodコマンドを使ってパーミッションを変えても良いですが、
    jcode.pl(644) bbs.dat(666)
    といれても結果は同じです。
  9. たいていのCGIは、この三つさえ覚えておけば問題ありません。次のように覚えるといいでしょう。
    ファイルの種類 パーミッションNo. 覚え方
    CGIなどの実行ファイル 755/705 誰もが読んだり実行できるが、書くことはオーナーしかできない。
    jcode.plなどのPerlライブラリ 644/604 CGIから実行権を取ったやつ
    datや、logなどのデーターを保管するファイル 666/600 誰でも読み書き可能。しかし、実行はできない。
  10. 注意しなければならないのは、.plはサーバーによっては、中身がのぞかれる事があるので、例えば外部に設定を置くときに、パスワードなどの覗かれると困るファイルの拡張子は、必ず.cgiにましょう。ログを覗かれたくない場合や、NTサーバでパスワードの暗号化ができない場合も同様です。