読者です 読者をやめる 読者になる 読者になる

きくらげ観察日記

好きなことを、適当に。

ApacheでCGIを動かす

今更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