今更CGI、と思うかもしれませんが、諸般の事情によりCGIを実行せざるを得ない状況に陥ってしまったので、ここにその方法をメモしておきます。
CGIのモジュールが読み込まれているか確認
少なくともUbuntuのapache2では、cgi_moduleはデフォルトでは読み込まれていません。
モジュールを有効化するには、/path/to/mods-enabled/にモジュールのシンボリックリンクを貼ります。
$ ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/
CGIの実行設定
まずはcgiが置いてあるディレクトリで、cgiの実行を許可するようにapache2.confの設定を行います。
<Directory /var/www/cgi-bin/> Options ExecCGI </Directory>
もしくは、ScriptAliasを使用することによって、そのディレクトリでcgiの実行を許可することができるようです。
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
最後に、CGIとして実行したいスクリプトの拡張子を設定します。
AddHandler cgi-script .pl