2013年1月5日土曜日

ServersMan@VPS Python2.7を使う(その2)

Ubuntu10.04 で、Python2.7とDjango1.3を使うのに、試行錯誤中。

Django の公式ドキュメントには、
Apache と mod_wsgi の組み合わせは、推奨の Django の実運用環境です。
と、あります。

Django1.3 の指定は、django.wsgi に記述することで OK だけど、Python のバージョンを指定する方法が分からない..

WSGI のドキュメントには、WSGIPythonHome で指定できるように書かれているが、これはダメでした。

で、なんとか解決できそうな目処がついたので、メモっておきます。

1.Python2.7 インストール

Python 本体は、/usr/local に入れました。

# apt-get install gcc zlib1g-dev
# cd /usr/local/src
# wget http://python.org/ftp/python/2.7/Python-2.7.tar.bz2
# tar jxvf Python-2.7.tar.bz2
# cd Python-2.7
# ./configure --prefix=/usr/local
# make
# make install

2.mod_wsgi インストール

apt-get install libapache2-mod-wsgi でインストールすると、システムで使っている
Python2.6.5 が適用されるので、ソースから make しました。

# apt-get install apache2-dev
# cd /usr/local/src
# wget https://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gz
# tar xzf mod_wsgi-3.4.tar.gz
# cd mod_wsgi-3.4
# ./configure --with-python=/usr/local/bin/python2.7 --with-apxs=/usr/bin/apxs2
# make
# make install

こちらに、入りました。
/usr/lib/apache2/modules

モジュールを有効にします。
# vi /etc/apache2/httpd.conf
--
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
WSGIScriptAlias / /home/USERNAME/django/django.wsgi
--
# /etc/init.d/apache2 restart

※ とりあえず、ユーザディレクトリ(/home/..)で動作を確認。

3.virtualenv インストール

Django を、ユーザのディレクトリに入れる為に、virtualenv をインストール。

$ cd
$ mkdir src
$ cd ~/src
$ wget http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.6.4.tar.gz
$ tar xzf virtualenv-1.6.4.tar.gz
$ cd virtualenv-1.6.4
$ python virtualenv.py --python=/usr/local/bin/python2.7 ~/mypython

アクティブにします。
$ source ~/mypython/bin/activate

4.Django1.3 インストール

$ pip install Django==1.3

5.django.wsgi を作る

$ cd
$ mkdir django
$ cd django
$ vi django.wsgi
--
import os, sys, site
site.addsitedir('/home/USERNAME/django')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
sys.path.append('/home/USERNAME/mypython/lib/python2.7/site-packages')
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
--

※ site.addsitedir でプロジェクトのディレクトリーを、sys.path.append でDjango本体のパスを指定しています。

6.Django プロジェクトを作る。

ここからは、チュートリアルを参考に。

$ cd ~/django
$ django-admin.py startproject mysite
$ cd mysite
$ python manage.py startapp polls

で、一応、動作確認まで、こぎつけることが出来ました。

0 件のコメント:

コメントを投稿