windows xp で apacheでwsgiでpythonを動かす

ゾンビOSとともにいきるゾンビSEがほとんど需要がなさそうなことをお届け。

下記の方法は、日本語はエラーになる。
でもFlaskはOKなのでやって丸損ではない。

pythonが入っている前提。windowsインストーラでふつーにいれる。

modwsgihttps://code.google.com/p/modwsgi/のサイトから、自分がいれるApachepythonのバージョンにあった組み合わせをダウンロードする。英語だが、Download、windows、binaryとかをキーワードにして探してダウンロードする。多分ここになかったらあきらめるがよし。解凍したら拡張子が「.so」というファイルができる。拡張子違ってたら間違い。

Apachehttps://httpd.apache.org/のサイトから、2.2系の最新の
Win32 Binary including OpenSSL 0.9.8t (MSI Installer) を ダウンロード。
なんとなくこれがよさそうなので。
インストールのときに気をつけるのはディレクトリぐらい。

参考:https://pradyumnajoshi.wordpress.com/2009/06/09/setting-up-mod_wsgi-for-apache-and-django-on-windows/#Message-complete

Apacheをインストールしたフォルダの下の、modulesフォルダに、ダウンロードしてきたmodwsgiの拡張子が「.so」のファイルをおく。その際にファイル名は「mod_wsgi.so」に変えておく。

pythonwsgiのアプリ用のフォルダをどこかにつくる。c:\wsgi_app とする。そこに空っぽでいいのでとりあえず wsgi_handler.py というファイルをUTF-8で作っておく。

Apacheをインストールしたフォルダの下の、confフォルダのhttpd.confというファイルをエディタで編集する。心配な人はバックアップとっとく。「」という文字列で検索して、一番最後の下に、以下を追加する。
ウィンドウズのパスはスラッシュなので注意。

WSGIScriptAlias /wsgi "c:/wsgi_app/wsgi_handler.py"

<Directory "c:/wsgi_app">
AllowOverride None
Options None
Order deny,allow
Allow from all
</Directory>


c:\wsgi_app\wsgi_handler.pyを編集する。

def application(environ, start_response):

    status = '200 OK'
    output = 'Hello World!'

    response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]
    

Apacheを起動する
起動時にエラーになったらコンフィグテストする
winXPの場合 スタート→すべてのプログラム→Apache HTTP Server 2.2 → Configure Apache Server → Test Configuration
起動したら

http://127.0.0.1/wsgi
にアクセス。
Hello Worldとかでてきたら一応OK