さくらに trac と Django を共存させる
Django で本棚管理アプリを作ろうと思い立って、さくらに Django を入れてみたら結構手間取ったのでメモ。
手間取った理由
普通にインストールするだけなら、上記のサイトで事足りるはず。
手間取ったのは、trac が導入済みだったから。なので /home/XXX/www/ に django.cgi を置けない。
解決策
以前はこう対応させてたんだけど、
- http://goodspeed.xii.jp -> /home/XXX/www/
今はこんな風にドメインを分けて、エイリアスを使ってみた。
- http://goodspeed.xii.jp/ -> /home/XXX/www/trac/
- http://libra.jpn.org/ -> /home/XXX/www/libra/
上が trac で、下がこれから作る Django アプリですな。
で、 django.cgi は http://code.djangoproject.com/attachment/ticket/2407/django.cgi からダウンロード。
これを /home/XXX/www/libra/ にコピーして、次のように修正する。
1行目を変更
#!/usr/bin/env PYTHONPATH=/home/XXX/local/lib/python:/home/XXX/local/lib/python/site-packages python
34行目に追加
sys.path.append('/home/XXX/local/lib/python') sys.path.append('/home/XXX/local/lib/python/site-packages')
95-97行目を変更
sys.path.append("/home/XXX/www") # Change mysite to the name of your site package os.environ['DJANGO_SETTINGS_MODULE'] = 'libra.settings'
これで http://libra.jpn.org/ にアクセスすると、「It worked!」な画面が表示される。
※ ただ、DBを使いだすとうまく動かない。ライブラリにパスが通ってないのか?
仕方ないので、 trac のときと同じように一段かませるようにした。
具体的には django.cgi -> django_.cgi という名前に変更して、次の django.cgi を追加した。
#!/bin/sh LD_LIBRARY_PATH=/home/XXX/local/lib;export LD_LIBRARY_PATH PYTHONPATH=/home/XXX/local/lib/python:/home/good-speed/local/lib/python/site-packages;export PYTHONPATH /usr/local/bin/python /home/XXX/www/libra/django_.cgi
なんだかよくわからないけど、動いてるからまあいいか。
これからやりたいこと
なんとか準備は整ったので、本棚アプリを作る。
やりたいこととしては、これくらい。
- 自分の本棚管理(現実の蔵書管理じゃなくて、今までに読んだ本とか、これから読みたい本とかを管理)
- 本のステータス管理(次に読むとか、もう読み終わったとかを記録)
- ajax(もちろん jQuery)
- 開発してて気付いたことをブログに書く。
- 公開(自分の趣味に近い人の本棚を見て、その中の本を次に読むリストに登録とかやりたい)
公開まではできるかわからないけれど、そうなるとユーザ認証をうまく考えた方がよさそうだ。できるだけ敷居は低くしたいので、パスワードを新しく覚えさせるのは避けたい。はてなとかlivedoorの認証APIを使うのがいいのかな。
Webサービスというのはなかなか難しい。