
Ubuntu日本語フォーラム
ログインしていません。
はじめまして宜しくお願いします。
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で、出力されるコードも同じであることを確認しています。
「〇〇を確認しろ」や「〇〇の設定を見せろ」など何でも良いのでご助言下さい。
以上、宜しくお願いいたします。
オフライン