isTKS™program,Python ≫ Django1.2.4 + Python2.7 + mod_wsig3.3をインストール&ブラウザ表示

Django1.2.4 + Python2.7 + mod_wsig3.3をインストール&ブラウザ表示

2011.01.31

Django1.2.4 + Python2.7 + mod_wsig3.3をインストールしてブラウザに表示させるまでを書いておきます。
下記ではDjangoのプロジェクト名をmysiteにして作成してますが、そこは各自の環境で好きに変えてください。
/var/www/htmlとか/var/wwwとかに書いてますが、実際は/home/ユーザー名/とかに作りました。

su -
>password

Python2.7インストール

# cd /usr/local/src
# wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
# tar xzvf Python-2.7.1.tgz
# cd Python-2.7.1
# ./configure CFLAGS=-fPIC ./configure --enable-shared
# make
# make install

インストールされたか確認

# python -V
Python 2.7.1

が表示されればPython2.7のインストールはOK

mod_wsgi-3.3インストール

# cd /usr/local/src
# wget http://modwsgi.googlecode.com/files/mod_wsgi-3.3.tar.gz
# tar zxvf mod_wsgi-3.3.tar.gz
# cd /usr/local/src/mod_wsgi-3.3
# ./configure CFLAGS=-fPIC --with-python=/usr/local/bin/python2.7
# make
# make install

Apacheにmoduleを読み込ませて再起動

# vim /etc/httpd/conf.d/mod_wsgi.conf
LoadModule wsgi_module   modules/mod_wsgi.so
WSGIScriptAlias /hello /var/www/html/hello.py
#vim  /var/www/html/hello.py
def application(environ, start_response):
    status = '200 OK'
    output = 'Python Hello World!'
    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)
    return [output]
# service httpd restart

で、http://example.com/helloをブラウザで見ると
Python Hello World!
が表示されることを確認。

ここまでで、Pythonをwebサーバで動かして、文字列をブラウザで確認する。
ということはできました。次はPythonのフレームワークDjangoを設置してブラウザに表示します。

Djangoのインストール

# wget http://www.djangoproject.com/download/1.2.4/tarball/
# tar xzvf Django-1.2.4.tar.gz
# cd Django-1.2.4
# python setup.py install
running install
running build
running build_py
running build_scripts
running install_lib
running install_scripts
changing mode of /usr/local/bin/django-admin.py to 755
running install_data
running install_egg_info
Removing /usr/local/lib/python2.7/site-packages/Django-1.2.4-py2.7.egg-info
Writing /usr/local/lib/python2.7/site-packages/Django-1.2.4-py2.7.egg-info

Djangoがインストールされたか確認する

# python
>>>import django

でエラーが出なければDjangoのインストールはOK

easy_installをインストール

PythonでMySQLを使ったりXMLを扱ったり、周辺ライブラリの管理が簡単にできるeasy_installというパッケージをセットアップしておきます。※この作業はDjangoのインストールに必須ではないので、飛ばしてもらっても大丈夫です。

# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py
# yum -y install mysql-devel
# easy_install -UZ MySQL_Python
# easy_install -UZ ipython
# easy_install -UZ lxml==1.3.6

Djangoのプロジェクト作成

# mkdir /var/www/django
# chown apache:apache -R /var/www/django
# cd /var/www/django
# django-admin.py startproject mysite

公開サイトディレクトリを作成する

# mkdir /var/www/django/mysite/apache
# vi /var/www/django/mysite/apache/dispatch.wsgi
import os
import sys

sys.path.append('/var/www/django')

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

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()
# vim /etc/httpd/conf.d/mysite.net.conf
<virtualHost *:80>
   ServerName      mysite.net
   DocumentRoot    /var/www/django/mysite/apache

   ErrorLog logs/mysite.net-error_log
   CustomLog logs/mysite.net-access_log combined

   Alias /media /var/www/django/mysite/media
   Alias /admin_media /usr/local/lib/python2.7/site-packages/django/contrib/admin/media

   WSGIScriptAlias / /var/www/django/mysite/apache/dispatch.wsgi

   <directory "/var/www/django/mysite/media">
       AllowOverride None
       Allow from all
   </directory>

   <directory "/usr/local/lib/python2.7/site-packages/django/contrib/admin/media">
       AllowOverride None
       Allow from all
   </directory>

   <directory "/var/www/django/mysite/apache">
       AllowOverride None
       Allow from all
   </directory>
</virtualHost>

で、apache再起動して

# service httpd restart

を確認してこの画像のようにDjangoのインストール画面が出てればOK。

  • このエントリーをはてなブックマークに追加