« svnsync: Couldn't get lock on destination repos after 10 attempts | Main | VMware上のLinuxの時刻ずれ »

2011.06.06

OSQAで複数サイトを同時に稼働させる

同一サーバーで複数のOSQAを稼働させたいようなケースもあるかと。例えば、「アプリケーションの利用」の観点からのQAと、「開発」の観点からのQA。アプリケーションの利用者にとっては開発ネタなんて興味がないケースも多く、ぎゃくん、開発側にとっても開発ネタをあまり一般に見せたくないってこともあるかと(逆に、開発ネタが「アプリケーションの利用」の中に埋もれてしまうのを避けたいかもしれませんね)。

ってことで、同一サーバーで複数のOSQAを稼働させてみました。参考にしたのは、How to modify *.wsgi file to specify settings.py file for multiple sites running on one instance of OSQA? および Can I run multiple OSQA sites through a single OSQA install? の内容。ただ、ちらほらと誤植があるっぽい・・・?(単にOSQAのバージョン違いに起因するのかもしれませんが)

以下、メモ。

settings.pyとsettings_local.pyのコピーを作成する。例えば、今回はdevsettings.pyとdevsettings_local.pyを作成。

devsettings_local.pyを書き換える。今回書き換えたのは、以下の通り。実際の環境に応じて。
・ログ出力の部分

filename=os.path.join(SITE_SRC_ROOT, 'log-dev', LOG_FILENAME),

・DBファイルのパス(今回はSQLiteを使用)
DATABASE_NAME = '/opt/OSQA/dbdev/osqa.db'

・キャッシュのパス
CACHE_BACKEND = 'file://%s' % os.path.join(os.path.dirname(__file__),'cache-dev').replace('\\','/')

・URL
APP_URL = 'http://servername/dev'

devsettings.pyを書き換える。多分、以下のところだけ?

# User settings
from devsettings_local import *

wsgiスクリプトを作成。今回は、osqa.wsgiをosqa-dev.wsgiとコピーしてから編集。

os.environ['DJANGO_SETTINGS_MODULE'] = 'OSQA.devsettings'

各フォルダを作成する。

# mkdir cache-dev
# mkdir dbdev
# mkdir log-dev

初期データベースの作成を行う(ここでハマってしまいました・・・)。

# python manage.py syncdb --settings=devsettings

フォルダの所有権を変更。

# chown -R daemon:daemon cache-dev
# chown -R daemon:daemon dbdev
# chown -R daemon:daemon log-dev

Apacheの設定ファイルを変更。元々の設定に、URLとスクリプトの組み合わせを間違えないように以下の1行を追加。

WSGIScriptAlias /dev /opt/OSQA/osqa-dev.wsgi

ってことで、Apacheを再起動しそれぞれのURLにアクセスしてみると・・・とりあえず、きちんと分離された状態で動いているようです。ユーザーもそれぞれで登録され、また、表示もそれぞれで。

ただ、「OSQA-1」でログイン中に、同じブラウザで「OSQA-2」にログインすると、OSQA-1側からは強制的にログアウトされてしまうっぽいですね。セッション情報を管理しているキーが共通なんですかね?

まぁ、これはこれで理にかなっているのかも知れませんが、どっちのOSQAも使用するようなユーザーの場合、ちょっと不便かも(何か設定があるのかもしれませんが)。

#ファイルのアップロード(特に同じファイルをそれぞれのサイトにアップロードした場合)などは大丈夫なのかどうか、ちょっと不安(^^;

|

« svnsync: Couldn't get lock on destination repos after 10 attempts | Main | VMware上のLinuxの時刻ずれ »

Linux」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/51837032

Listed below are links to weblogs that reference OSQAで複数サイトを同時に稼働させる:

« svnsync: Couldn't get lock on destination repos after 10 attempts | Main | VMware上のLinuxの時刻ずれ »