Apache cgiが動かない
環境
原因と対策
1.Apacheのデフォルトページが表示される
apacheのconfのDirectoryIndexを指定する
DirectoryIndex index.cgi index.html
IfModule dir_moduleは使わないほうが良いらしい。
参考:Apache設定ファイルのIfModuleは消しておく方がよい。 - Qiita
なので、下記は非推奨
<IfModule dir_module> DirectoryIndex index.cgi </IfModule>
2.cgiのソースが表示される
apacheのconfのAddHandlerを指定する
AddHandler cgi-script .cgi
3.“Forbidden You don't have permission to access /index.cgi on this server.”と表示される
apacheのconfのOptions Indexes FollowSymLinks Includes ExecCGIを設定する
<Directory "/"> #Options Indexes FollowSymLinks Options Indexes FollowSymLinks Includes ExecCGI </Directory>
4.apacheのエラーログで”Can't locate CGI.pm”
CGI.pmがインストールされているか調査
$ find `perl -e 'print "@INC"'` -name '*.pm' -print | grep CGI find: ‘/usr/local/lib64/perl5’: そのようなファイルやディレクトリはありません find: ‘/usr/local/share/perl5’: そのようなファイルやディレクトリはありません
CGI.pmがインストールされていない場合、インストールする
$ sudo yum -y install perl-CGI
5.文字化けする
参考:Apache 文字化け対策 AddDefaultCharset | CentOSサーバ構築術 文具堂
#AddDefaultCharset UTF-8