Pages

Sunday, December 9, 2012

Django実践チュートリアル(サーバー編)DjangoをUbuntu,Apache, mod_wsgiで動かしてみる

Djangoはローカルでの開発環境を作るのはとても楽だったのですが、WEBサービスを作るからにはサーバーでの動かし方を知っていなければ、どうしようもないですよね。

なので、今日は駆け足で、まっさらなUbuntuにApache, mod_wsgi, Djangoという組み合わせでの設定を紹介したいと思います。続編では、mysqlも設定したいと思っています。

まず、私の環境ですとUbuntu12.10をVirtualBoxで動かしています。
このやり方もそのうち、チュートリアルを書きたいとは思っています。

このサーバーはクリーンインストールされた状態でIPアドレスが192.168.0.6であると仮定します。ちなみに、インストール時はOpenSSHサーバーのみを選択したのでLAMPは入れていません。

使用しているサーバー
lsb_release -aでバージョンがわかる。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.10
Release: 12.10
Codename: quantal
ちなみに、インストールされているPythonのバージョンは以下のとおり。
Python 2.7.3 (default, Sep 26 2012, 21:51:14) 

STEP1 まずは、アップデートをかけます。
$ sudo apt-get update
$ sudo apt-get upgrade

STEP2 次にApache, mod_wsgiをインストールします。
$ sudo apt-get install apache2
$ sudo apt-get install libapache2-mod-wsgi

STEP3 Pythonで使うツールをインストールします。
$ sudo apt-get install python-setuptools
$ sudo apt-get install mysql-server python-mysqldb
$ sudo apt-get install python-pip

STEP4 Djangoをインストール
$ sudo pip install django

STEP5 Djangoプロジェクトの作成とwsgiの設定

Ubuntuには/srvディレクトリがあるので、その下にプロジェクトを作成します
$ sudo mkdir /srv/www
$ cd /srv/www
プロジェクトの作成
$ sudo django-admin.py startproject papa

WSGIの設定をするためにapacheというフォルダを作成し、django.wsgiファイルを以下のように作成します。
$ sudo mkdir /srv/www/papa/apache
$ vi /srv/www/papa/apache/django.wsgi

import os
import sys

#path = '/srv/www'
#if path not in sys.path:
#    sys.path.insert(0, '/srv/www')
sys.path.append('/srv/www')
sys.path.append('/srv/www/papa')

os.environ['DJANGO_SETTINGS_MODULE'] = 'papa.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
STEP6 Apacheの設定
以下のようにpapaというファイルをsites-availableに作成し、それを有効化させます。

$ sudo vi /etc/apache2/sites-available/papa

<VirtualHost *:80>

    ServerName 192.168.0.6
    DocumentRoot /srv/www/papa

    <Directory /srv/www/papa>
        Order allow,deny
        Allow from all
    </Directory>

    WSGIDaemonProcess papa.djangoserver processes=2 threads=15 display-name=%{GROUP}
    WSGIProcessGroup papa.djangoserver

    WSGIScriptAlias / /srv/www/papa/apache/django.wsgi

</VirtualHost>

設定を有効化
$ sudo a2ensite papa
$ sudo /etc/init.d/apache2 restart
これで、一連のインストールと設定は終了です。
以下のページにアクセス
http://192.168.0.6/
以下のようなサイトが出ていれば成功です。

最後まで読んでいただきありがとうございました。
今後も、人気が上がっているPythonについてたくさんの記事を書いていく予定です、
ページの右上からブログに登録していただければ幸いです。

参照

No comments:

Post a Comment