さくらに trac と Django を共存させる

Django で本棚管理アプリを作ろうと思い立って、さくらに Django を入れてみたら結構手間取ったのでメモ。

手間取った理由

普通にインストールするだけなら、上記のサイトで事足りるはず。
手間取ったのは、trac が導入済みだったから。なので /home/XXX/www/ に django.cgi を置けない。

解決策

以前はこう対応させてたんだけど、

今はこんな風にドメインを分けて、エイリアスを使ってみた。

上が 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

なんだかよくわからないけど、動いてるからまあいいか。

これからやりたいこと

なんとか準備は整ったので、本棚アプリを作る。
やりたいこととしては、これくらい。

  1. 自分の本棚管理(現実の蔵書管理じゃなくて、今までに読んだ本とか、これから読みたい本とかを管理)
  2. 本のステータス管理(次に読むとか、もう読み終わったとかを記録)
  3. ajax(もちろん jQuery
  4. 開発してて気付いたことをブログに書く。
  5. 公開(自分の趣味に近い人の本棚を見て、その中の本を次に読むリストに登録とかやりたい)

公開まではできるかわからないけれど、そうなるとユーザ認証をうまく考えた方がよさそうだ。できるだけ敷居は低くしたいので、パスワードを新しく覚えさせるのは避けたい。はてなとかlivedoorの認証APIを使うのがいいのかな。
Webサービスというのはなかなか難しい。