CGI の使用方法

ウェブサーバでは、CGI を実行することができます。CGIは suExecによりユーザ権限で実行されます。

■ CGI言語のバージョン

  • perl 5.8.4 (旧バージョン: 5.00503, 5.6.1 も使用可能)
  • php 4.3.11
■ CGI プログラムの拡張子名と絶対パス

  • ファイルの拡張子名
    perl の場合  ..... ".cgi"もしくは".pl"
    php4 の場合  ..... ".php"
    shellの場合  ..... ".cgi"
    
  • CGI用ツールの絶対パス

    sendmail ..... /usr/sbin/sendmail
    perl     ..... /usr/local/bin/perl(もしくは /usr/bin/perl)
    php4     ..... /usr/local/bin/php
    sh       ..... /bin/sh
    bash     ..... /usr/local/bin/bash
    
    尚、旧バージョンのperlを使用する場合は次のようにします。
    perl5.00503 .. /usr/local/bin/perl5.00503
    perl5.6.1 .... /usr/local/bin/perl5.6.1
    
■ sendmailのオプション

    /usr/sbin/sendmail -t -oi -f メールアドレス ...

    -t :宛先メールアドレスを、メール本文中のメールヘッダ(To/Cc/Bcc)から取得します。
    -oi:メール本文中の、”.” のみの行を本文の終了と見なさないようにします。
      (本文中の、 “.” のみの行を無視します)
    -f メールアドレス:-f の直後に指定された文字列を fromアドレスとして使用します。

    -f で指定するメールアドレスは、送信先メールアアドレスが存在しない場合などに、エラーメールが戻るメールアドレスにもなります。-f オプションを指定しないときはエラーメールが戻らないことになりますので、必ず -f オプションは付けるようにします。
■ CGIプログラムを置くフォルダ名

    CGIプログラムは、「HTMLファイルを置くフォルダと同じフォルダ」もしくは「 /www/cgi-bin 」フォルダに置くことができます。それぞれのCGIプログラムの指定方法は次のようになります。

    HTMLと同じ
    フォルダ
    http://www.ドメイン名/.../CGIプログラムファイル名
    /www/cgi-bin
    フォルダ
    http://www.ドメイン名/cgi-bin/CGIプログラムファイル名

■ CGIプログラムのパーミッション

    サーバ側ではCGIプログラムに対して、「プログラム所有者(自ユーザという)」、「グループユーザ」および「他ユーザ」ごとに"読込許可"、"書込許可"、"実行許可"を設定する必要があります。

    CGIプログラムには、自ユーザの"読込許可"、"書込許可"、"実行許可"を設定します。(グループおよび他ユーザの"読込許可"、"実行許可"を設定する必要はありません) また、"書込許可"は自ユーザのみ設定します。"グループ"または"他ユーザ"の「書込許可」を設定してはいけません。

    CGIプログラムのパーミッションを設定するには、FTP(ファイル転送)プログラムの chmod 機能を使用します。(パーミッションの番号指定では、chmod 755 もしくは cgmod 700 となります)