このガイドに従ってください:
http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide
ubuntu スクイーズで「Hello World」WSGI アプリケーションを構成できませんでした (docroot にマウントせず、デーモンに委任しませんでした)。Python のバージョンは 2.6.5 です。mod_wsgi が正しくインストールされていると思います。これが私がしたことです:
- ユーザー /home/wsgitest を作成しました (これを行うべきではないことはわかっていますが、テスト用です)。
グループwww-dataにユーザーを追加しました。これは、apache2が実行される場所です。
groups wsgitest wsgitest : wsgitest www-data
wsgitest として、フォルダーを明示的に読み取る権限を追加しました。
chmod -R g+rx wsgitest
ガイドとまったく同じ内容の WSGI アプリケーション スクリプト ファイルを作成しました。
ls -la /home/wsgitest/ (...) -rw-r--r-- 1 wsgitest wsgitest 277 May 7 17:11 application.wsgi
アプリケーション構成ファイルを作成しました:
cat /etc/apache2/sites-available/application.conf <VirtualHost *:80> WSGIScriptAlias /application /home/wsgitest/application.wsgi <Directory /home/wsgitest> Order allow,deny Allow from all </Directory> </VirtualHost>
(ファイルは root:root に属します)
サイトを有効にしました:
ls -la /etc/apache2/sites-enabled/ (..) lrwxrwxrwx 1 root root 35 May 9 15:29 application.conf -> ../sites-available/application.conf
apache2 を再起動し、次のアドレスに移動しました。
<ip-address>/application <ip-address>/application/
これは404を与えます。
サイトを無効にし、ファイル /etc/apache2/apache2.conf の下部に以下を配置します。
<Directory /home/wsgitest> Order allow,deny Allow from all </Directory> WSGIScriptAlias /application /home/wsgitetst/application.wsgi
Apacheを再起動し、再度ナビゲートしようとしましたが、変更はありません。
lynx と localhost で試してみましたが、変更はありません。
apache2 でログ情報レベルを有効にしました。/var/log/apache2 アクセス ログは、リクエストが "404 503" で応答されたことを示しています。これは error.log からのものです。
[Wed May 09 15:39:28 2012] [info] mod_wsgi (pid=27914): Attach interpreter ''. (...) [Wed May 09 15:39:32 2012] [error] [client <ip>] File does not exist: /var/www/application (...) [Wed May 09 15:39:28 2012] [info] mod_wsgi (pid=27914): Cleanup interpreter ''.
「other_vhosts_access.log」は空です。
私には、リクエストが wsgi アプリに届かないか、何らかの形でルーティングされていないように見えます...誰かが問題を特定するのを手伝ってくれますか?