ApacheとDjangoが連携するにはlibapache2-mod-wsgiライブラリが必要となる。
その他必要なライブラリがあるのでapt-getでインストールをする。
環境はUbuntuを想定しているがRedhat系でも動くことは確認している。
一応全体の流れが解るように1から構築の手順を示すが、細かいところは省略、あるいはリンクを張るので、各自そちら参照のこと。
簡単に全体的な流れを書いておく
I. 必要なライブラリのインストール
II. startproject と startappでDjangoサイトの作成
III. urls.pyを編集する。(全部で2つ)
IV. wsgiの記述
V. apacheの登録
となる。
1.次のモジュールをインストールしておく。
・libapache2-mod-wsgi
・python-django
・mysql-server-5.1
2.続いてDjangoのプロジェクトを作成する。
プロジェクト名は何でもいいがココではwebappsとした。
$ django-admin.py startproject webapps
3.webapps下にあるurls.pyを変更する。urls.pyがない場合は自分で作成する。次のような中身のファイルを作成する。
from django.conf.urls.defaults import patterns, include |
目的としては、次のようにアクセスが可能となる。
・http://dynaptico.com/mytestapp
・http://dynaptico.com/
(ドメインがdynaptico.comであると仮定)
このあたりの設定はDjangoの公式ドキュメントを参照すること
4.続いてDjangoのアプリを作成する。名前をmatchingとしてみる。
$ django-admin.py startapp matching
アプリの名前は先ほど書いたwebapps/urls.pyに合せている。
settings.pyに作成したアプリを書くのを忘れないようにすること。
5.matching ディレクトリのurls.pyの作成
$ emacs webapps/matching/urls.py
Djangoのバージョンに依ってはアプリにもurl.pyがない場合がある。ない場合、次のようにかく
from django.conf.urls.defaults import patterns |
6.続いてviews.pyにgreetingという関数を追加する。関数名はなんでもいいが、matching/urls.pyに書いた関数名に合せる。
|
7.続いてwebapps下にwsgiモジュールを置く。
$ mkdir webapps/apache
$ touch webapps/apache/django.wsgi
なお、django.wsgiは自分で書く必要がある。どっかでダウンロードやapt-getで手に入るものでもない。
Webサイトの場所は/var/www/dynapticoにあると仮定する。
$ emacs webapps/apache/django.wsgi
import os |
8。最後にApacheの設定を行う。`
$ sudo emacs /etc/apache2/site-available/dynaptico
|
次のコマンドで有効化
$ sudo a2ensite dynaptico
$ etc/init.d/apache2 reload
株式会社OctOpt
コンピューターサイエンス会社OctOptの技術公式ブログ
等々力 康弘
@rocky_house