Bottle – Cork サンプルを Apache mod_wsgi で試してみます
Python Bottle フレームワークで認証機能を使用してみたいと思い調べていたところ、Cork が公開されていましたので、そのサンプルを試してみることにしました。
ドキュメント等が公開されています。
Cork – Authentication for the Bottle web framework http://cork.firelet.net
インストールは、pip または easy_instsll による方法が紹介されています。
$ pip install bottle-cork
または、
$ easy_install bottle-cork
サンプルも公開されています。
https://github.com/FedericoCeratto/bottle-cork
今回は、MongoDB backend のサンプルを利用してみます。
bottle-cork / examples にある
simple_webapp_using_mongodb.py
です。
bottle-cork / examples / views にサンプルのテンプレートがあります。
これらをダウンロードして、/home/hoge/cork/examples に配置しました。
mod_wsgi 用に adapter.wsgi を用意します。
import sys, os, bottle dirpath = os.path.dirname(os.path.abspath(__file__)) sys.path.append(dirpath) os.chdir(dirpath) from simple_webapp_using_mongodb import app application = app
Apache の VirtualHost に WSGI 用の記述を加えます。
WSGIDaemonProcess wsgi-cork user=hoge group=hoge processes=1 threads=5 python-path=/usr/local/lib/python2.7/site-packages WSGIScriptAlias /cork /home/hoge/cork/examples/adapter.wsgi <Directory /home/hoge/cork/examples> WSGIProcessGroup wsgi-cork WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all </Directory>
httpd を再起動します。
$ service httpd restart
VirtualHost で Alias を /cork としたので、テンプレートなどもこれに合わせて修正しました。
また、起動2回目には populate_mongodb_backend() 内のカラムインサートは不要となります。
さて、この Cork のサンプルでは、ワンタイムキー(ワンタイムパスワード)リンクを、登録メールアドレスに送信して認証する方法でログインパスワードを変更する機能も盛り込まれています。
さらに調べながら利用を進めてみたいと思います。