FreeBSD 11.1 RELEASE - apache24 - cgi を動作させる 「apache24」は、「cgi」を動作させるための手順が、「apache22」よりいささか多くなっています。
1. インストール時のオプションの確認 以下のコマンドでインストール時のオプションを確認します。 cd /usr/ports/www/apache24 make config デフォルトでチェックが入っていますので、意識的に外していなければチェックされていると思いますが 「CGI」もしくは「CGID」のどちらかもしくは両方にチェックが入っていることを確認します。意味が分からない人は両方チェックしておけば無難です。 チェックがはいっていなければ、チェックをいれて「make clean」「make」「make reinstall」します。
cd /usr/ports/www/apache24 make config
「The default MPM Module」のどれにチェックが入っているかを確認しておきます。外れていればチェックして再インストール。 3 つの中は択一ですのでどれかひとつしかチェックできません。
2. httpd.conf の編集 /usr/local/etc/apache24/httpd.conf で <IfModule !mpm_prefork_module> #LoadModule cgid_module libexec/apache24/mod_cgid.so </IfModule> <IfModule mpm_prefork_module> #LoadModule cgi_module libexec/apache24/mod_cgi.so </IfModule> のうちどちらか、もしくは両方のコメントをはずします。 <IfModule mime_module> からはじまる行のうち #AddHandler cgi-script .cgi のコメントをはずします。.pl という拡張子を cgi として使うのであれば AddHandler cgi-script .cgi .pl と後ろに、追加します。 /usr/local/etc/apache24/httpd.conf とその派生ファイル (Includes/*.conf や Includes/*.conf)のうち <Directory "ディレクトリ名"> で定義しているディレクトリのうち、cgi を動作させたいディレクトリの Options ・・・ の行に Options ・・・ +ExecCGI を加えます。 設定ファイルのチェックを行って問題がなければ再起動します。 /usr/local/etc/rc.d/apache24 configtest /usr/local/etc/rc.d/apache24 restart
/usr/local/etc/apache24/httpd.conf
<IfModule !mpm_prefork_module> #LoadModule cgid_module libexec/apache24/mod_cgid.so </IfModule> <IfModule mpm_prefork_module> #LoadModule cgi_module libexec/apache24/mod_cgi.so </IfModule>
<IfModule mime_module>
#AddHandler cgi-script .cgi
AddHandler cgi-script .cgi .pl
<Directory "ディレクトリ名">
Options ・・・
Options ・・・ +ExecCGI
/usr/local/etc/rc.d/apache24 configtest /usr/local/etc/rc.d/apache24 restart