お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2020-02-24 15:49:58

Eri
メンバ
登録日: 2020-02-24

ユーザーディレクトリでのCGIがエラーになる

はじめまして宜しくお願いします。

Ubuntu 18.04.4 LTSのApacheで、ユーザーディレクトリ下でのCGIが以下のエラーログを吐き「Internal Server Error」で実行できず困っています。どうか正常動作までご協力下さい。

  End of script output before headers: c.cgi

当該CGIスクリプトは「/var/www/html」下では問題なく動作します。何故かユーザーディレクトリに設置して「http://localhost/~user/c.cgi」とアクセスすると、先述したエラーログを吐き実行することが出来ません。

ユーザーのホームディレクトリ下の「public_html」下でCGIを可としています。以下に「/etc/apache2/mods-enabled/userdir.conf」の内容を示します。「Options ExecCGI」は「+」の有無に関わらずエラーになります。ちなみに「Suexec」の「On|Off」も、どちらも変わらず同じエラーとなります。

  <IfModule mod_userdir.c>
      UserDir public_html
      UserDir disabled root
      <Directory /home/*/public_html>
          AllowOverride FileInfo AuthConfig Limit Indexes
          Options MultiViews SymLinksIfOwnerMatch
          Options ExecCGI
          Require all granted
      </Directory>
  </IfModule>

「~/public_html」下に設置した当該CGIスクリプト(c.cgi)のパーミッションは「0755」で、ファイルオーナーはそのホームディレクトリのユーザーです。

当該スクリプト(c.cgi)の内容はPerlで以下の通りです。

  #!/usr/bin/perl
  print "content-type: text/html\n\n";

  print <<'EOF';
  <html>
      <head>
          <meta charset="utf-8" />
          <title>CGIチェック</title>
      </head>
      <body>
          <h1>CGI動作OK!!</h1>
      </body>
  </html>
  EOF

ちなみに当該スクリプト(c.cgi)が吐く改行コードはLFで、出力されるコードも同じであることを確認しています。

「〇〇を確認しろ」や「〇〇の設定を見せろ」など何でも良いのでご助言下さい。

以上、宜しくお願いいたします。

オフライン

 

Board footer

Powered by FluxBB