見落としがちなCGIを有効にする設定
設定ファイルに絶対間違いはないのにCGIプログラムが動かず、そのソースが表示されるときにはどうしたら良いんだろう?
その場合は、ApacheにCGIを実行するモジュールが組み込まれているか確認します。
$ sudo apache2ctl -M|grep cgi
cgi_module (shared)
このコマンドでcgi_moduleが表示されない時には、ApacheにCGIモジュールが組み込まれていません。
UbuntuのApacheパッケージでCGIモジュールを読みこませるには、/etc/apache2/mods-available/cgi.loadをmods-enabledにコピーまたはリンクを作成します。
$ cd /etc/apache2/mods-enabled
$ sudo ln -s ../mods-available/cgi.load .
$ ls -l | grep cgi
lrwxrwxrwx 1 root root 26 11月 3 11:58 cgi.load -> ../mods-available/cgi.load
これでApacheを再起動するとCGIプログラムが動くようになるはずです。
configはこんな感じ
<Directory /home/hashimoto/www/> # Options Indexes FollowSymLinks AllowOverride All Require all granted Order allow,deny allow from all Options +ExecCGI AddHandler cgi-script .cgi </Directory>