Python3でApacheのCGIを作っていたとき、OSXの環境を整えるのが、結構はまったのでメモ。

まず、Apacheの設定を変更します。OSX(Yosemite)でApacheの設定変更は下記のようにします。

$ sudo vi /etc/apache2/httpd.conf

そして、以下の設定を変更します。

#LoadModule cgi_module libexec/apache2/mod_cgi.so
# ↓
LoadModule cgi_module libexec/apache2/mod_cgi.so

Options に ExecCGI を追加。そして、SetEnvで文字コードをしっかり指定。特に、PYTHONIOENCODINGの指定が重要です。

<Directory />
    Options ExecCGI
    SetEnv PYTHONIOENCODING utf-8
    AddHandler cgi-script .cgi
    AddHandler cgi-script .py
</Directory>

最後に再起動したら、Python3でCGIできます。

$ sudo apachectl restart