ドキュメントセンター よくある質問 文書資料
はじめに - ドキュメントセンターについて 使用条件 ご意見・ご感想は公開会議室へ 著作権表示
ホーム ドキュメントセンター 新着文書 よくある質問 FAQ 問答集 ビジネス 事業計画 概況 デベロッパー 技術資料 仕様書 ガイドライン 想定された使い方 ヘルプ 利用方法や一般的な操作方法 その他の文書

はじめに
ドキュメントセンターを初めてご利用する方や運営方針についての基本的な姿勢をご覧になりたい方へ。


ドキュメントセンター 新着情報
GetCurrentImage failedと出て、画像の保存ができないのですが? (FAQ) 2007.08.23
clamavをclamav-0.90以降に更新すると、clamdが起動しなくなりましたが? (FAQ) 2007.07.31
make.confにX11BASEを設定するように言われましたが? (FAQ) 2007.07.30
serial型の次に挿入すべき値を変更するにはどうしますか? (FAQ) 2007.06.01
次のSERIAL型で用いられる値を得るにはどうしますか? (FAQ) 2007.05.31
WindowsXPを入れた端末にPINGが通りませんが? (FAQ) 2007.05.21
vmware3上でWindowsXPを導入すると途中で待たされ、失敗しますが? (FAQ) 2007.05.19
vmware3のインストールがうまくいきませんが? (FAQ) 2007.05.18
gnome上で解像度の変更をするにはどうしますか? (FAQ) 2007.05.17
gnome上で解像度の変更ができないのですが? (FAQ) 2007.05.17

よくある質問
ご利用の皆様から多く寄せられる質問にお答えしています。
ディーエーオフィス
サーバ
アプリケーション

語解説
ディーエーオフィスなどが利用する用語に関する解説を行います。

ディーエーオフィスホームページ
メッセージセンター
ディーエーオフィスサポートターミナル
トピックスセンター
リレーショナルナレッジベース
CGI/Perlが動作しませんが?

 問題を切り分ける作業を慎重に行って下さい。

 CGIの設置は、いろいろな要素を慎重に検討しないと、問題がどこにあるのかが見極めることができません。また、設置できても、そのスクリプトの設定を誤ったまま運用すると、セキュリティ上の問題が出ることもあります。

0.環境の確認
1.Perlのパス
2.SendMail利用のものはそのパス
3.パーミッションの設定
4.関連ファイル、ディレクトリの設定、設置およびパーミッション
5.CGI動作に必要な拡張子の採用と.htaccessファイルの設置
6.ファイル自体の改行コード
7.バイナリ・テキストモードの相違
8.関連ファイルのバージョン

---

 Perlスクリプトは、Windowsのメモ帳では編集しない方が良いでしょう。出来るだけ専用のエディタを使って編集します。「メモ帳で編集すると、ファイルが読み込めなかったり、壊れたりするのですが?」をご参考下さい。

---

 Perlは、設置しただけで動くという安易な考えではいけません。上記の基本事項の他、スクリプトによってはさらに確認事項が増えるものでもあります。

 「1.Perlのパス」は、そのサーバにおいてPerlスクリプトを走らせるために必要なPerlがどこにあるのかを指定します。これは、あなたが設置しようとしているものがプログラムの本体ではなく、別に「Perl」というプログラムがあると理解してください。そして、あなたの設置しようとしているスクリプトはPerlから読み込まれて実行されているという感覚で覚えておくのが良いでしょう。以下に通常の例を示します。

#!/usr/bin/perl
#!/usr/local/bin/perl

 「2.SendMail利用のものはそのパス」は、そのスクリプト上でメールを送信する場合に必要です。メールを送信する必要がない場合は読み飛ばしてください。以下に通常の例を示します。

/usr/sbin/sendmail
/usr/lib/sendmail

 「3.パーミッションの設定」は、あなたが設置しようとしているスクリプトが正しく動作するために必要です。通常、スクリプトは、実行権限を持っていないと動作させることができません。これは、誰でもプログラムの実行ができるようになっていると、セキュリティ上好ましくないために導入されている考え方です。管理上出来るだけプログラムの数を減らすことができるよう、ひとまず設置する際に標準で設定されるものには実行権限がつかないようになっています。

705
rwx---r-x

 上は実行権限を持つ例を示したものです。フリーソースとして公開されているものは、705や755に設定する例が多いです。705と755の差については、そのスクリプトをサーバで実行する際にはありません。また、755を指定する必要性はありません。755という権限では、あなたが設置しようとしているサーバの他のユーザにも実行権限を与えるというもので、セキュリティが甘くなることを示します。

 「4.関連ファイル、ディレクトリの設定、設置およびパーミッション」は、あなたの設置しようとしているスクリプトが必要とする他のファイルやディレクトリがきちんと用意されているかどうかという確認です。これは、フリーソースとして配布されているものには必ず説明書がありますので、これを確認するようにしてください。これはスクリプトによって要求が異なります。

 カウンタなどでは、プログラムの他、カウントした値を格納するためのファイルが必要ですし、カウント値を表示するために必要な画像を格納するためのディレクトリも必要でしょう。

 また、jcode.plなどのサブスクリプトを必要とするものでは、そのファイル位置に気を付けます。指定された位置に設置しているかどうかはもちろんのこと、スクリプト上であなたの設置した位置へ読み込みに行くかどうかも確認することが必要です。なお、jcode.plのパーミッションは604が正しく、その他のパーミッションにする必要はありません。すなわち、設置した状態のままでパーミッションを変更する必要がありません。

 「5.CGI動作に必要な拡張子の採用と.htaccessファイルの設置」

 通常のサーバ、レンタルサーバを借りている場合などは、CGIを動作させるため、すでにそういった環境を用意しているはずですが、特別なルールを用意しているところもあることでしょう。例えば、CGI-BINというディレクトリの中でないと動作しないようになっているであるとか、.htaccessファイルでCGIの動作が可能なように設定されていないという点です。通常、CGIという拡張子を持つものはサーバにおいてCGIスクリプトであると理解されますが、上記のようなルールに基づき、認識されていない場合もあります。

 テストスクリプトを置いて、なお動作しないときは、.htaccessファイルの設置を行うことでサーバの動作を変更することができます。ただ、.htaccessファイルは特別なファイルで、サーバの設定をどのようにでも変更することができます。このことはセキュリティ上、好ましくない使い方をされてしまうこともあります。このため、.htaccessファイルの設置をしても無効にしたり、.htaccessファイルの中で使える記述を一部制限していることもあります。

---

 「6.ファイル自体の改行コード」

 スクリプトを収めたファイルの改行コードも確認します。Windows上で編集を行うと、UNIX環境とは違い、「」となります。このため、この余分な改行コードが動作を妨げる原因となる場合があります。

 専用のテキストエディタには、これらの改行コードを変更して保存する機能がついているものもありますので、それらを利用してください。(EmEditorなどにこの機能があります。)

---

 「7.バイナリ・テキストモードの相違」

 スクリプトは、通常テキストモード\\'(アスキーモード)で転送しなければなりません。これらの設定が正しくないと、他のサーバでは動くのに、このサーバだけで動かないなど、不具合が出ることになります。

---

 「8.関連ファイルのバージョン」

 jcode.plやCGI.pmなど、一緒に利用するソフトのバージョンが古いものだと、適切に動作しないことがあります。また、CGI自体が古いものだと周辺のソフトが新しすぎて動かないということもあります。できるだけ新しいものを使うようにします。

 新しいものがリリースされていないような場合は、利用を見送る選択肢があっても良いでしょう。使えれば良いと考えるのは、セキュリティ上も好ましいことではありません。メンテナンスも手間になります。


[ 関連文書 ]
  • CGIが使えるように.htaccessファイルを設定したいのですが? (2004.03.25)
  • CGI/Perlが動作しなくなったのですが? (2004.03.24)
  • メモ帳で編集すると、ファイルが読み込めなかったり、壊れたりするのですが? (2004.03.07)
  • suexecが導入されたApacheでcgi-bin内のCGIが実行できませんが? (2004.06.09)
  • CGI/Perl動作確認用サンプルコード (2004.01.29)


  • 文書番号 00324
    日付 2004.01.29
    参照数 3496

    ドキュメントセンター
      はじめに 新着ドキュメント 使用条件 著作権 お問い合せ
    Copyright 2003 daoffice design and management company. all rights reserved.