mod_wsgi は pip でも提供ありなのかぁ
今回 Ubuntu 14.04 に PPA を使って Python 3.5.x を導入したところ、PPAには mod_wsgi がないことに気づき対応策を調べた。
結果 pip で mod_wsgi が提供されてるといううれしい事実を発見し、無事に環境構築完了。
※Ubuntu 14.04 だと オフィシャルのリポジトリでは Python3.4 が提供されてます
手順
インストール by pip
インストール確認
pip3 にて:
$ pip3 show mod-wsgi Name: mod-wsgi Version: 4.5.14 Summary: Installer for Apache/mod_wsgi. Home-page: http://www.modwsgi.org/ Author: Graham Dumpleton Author-email: Graham.Dumpleton@gmail.com License: Apache License, Version 2.0 Location: /usr/local/lib/python3.5/dist-packages Requires:
同梱の mod_wsgi-express にて:
$ mod_wsgi-express start-server Server URL : http://localhost:8000/ Server Root : /tmp/mod_wsgi-localhost:8000:1000 Server Conf : /tmp/mod_wsgi-localhost:8000:1000/httpd.conf Error Log File : /tmp/mod_wsgi-localhost:8000:1000/error_log (warn) Request Capacity : 5 (1 process * 5 threads) Request Timeout : 60 (seconds) Startup Timeout : 15 (seconds) Queue Backlog : 100 (connections) Queue Timeout : 45 (seconds) Server Capacity : 20 (event/worker), 20 (prefork) Server Backlog : 500 (connections) Locale Setting : ja_JP.UTF-8
インストール to Apache2
同梱の mod_wsgi-express を使って、Apache2のモジュールフォルダにインストールしてくれます (要root権限)。表示されてるメッセージは、次のように apache.conf に記述せよってことみたいです。
$ sudo mod_wsgi-express install-module LoadModule wsgi_module "/usr/lib/apache2/modules/mod_wsgi-py35.cpython-35m-x86_64-linux-gnu.so" WSGIPythonHome "/usr"
Ubuntu 14.0.4 + Apache 2.4 の場合 /etc/apache2 配下には mods-enabled , mods-available フォルダがあります。
そこで次のようにファイルを作成。
メモ
apxs がない時にでたエラー。このツールの存在、初めて知りました。
File "/tmp/pip-build-ts8zrdpw/mod-wsgi/setup.py", line 164, in <module> 'missing Apache httpd server packages.' % APXS) RuntimeError: The 'apxs' command appears not to be installed or is not executable. Please check the list of prerequisites in the documentation for this package and install any missing Apache httpd server packages.
参考
あれこれ順を追いますが、こちらのAnswerと、ほぼ同じであることが後にわかりました。。
こちら参考にさせてもらいました。