Mac OS XでDjango環境を構築する。Leopard + Apache + MySQL + Pythonとういことで一応LAMPだ(無理矢理)。
Mac OS X 10.5.5 Leopard
MySQL 5.0.67-osx10.5-x86 (not 64bit)
Python 2.5.1
Django 1.0
[System Preference] [Sharing] [Web Sharing]をチェックする。
http://localhost
でTest Page for Apache Installationがあらわれる。
Apache2が参照するディレクトリを変更する。
sudo vi /etc/apache2/httpd.conf
などでDocumentRootを変更する。たとえば、
DocumentRoot "/Library/WebServer/Documents/mysite"
sudo mkdir /Library/WebServer/Documents/mysite
sudo apachectrl restart
sudo vi /Library/WebServer/Documents/mysite/index.html
Hello Worldとか適当に打ち込んで、http://localhostに再度アクセス。
今後は/Library/WebServer/Documents/mysiteで作業することになる。
次にApacheでPythonを呼ぶためのmod_pythonをインストールする。
http://httpd.apache.org/modules/python-download.cgi
からmod_python-3.3.1.tgzをダウンロードする。
tar zxvf mod_python-3.3.1.tgz
cd mod_python-3.3.1
./configure
src/Makefileに以下を追加する(INCLUDESの直下)。
INCLUDES+= -Wc,-arch -Wc,ppc -Wc,-arch -Wc,i386 -Wc,-arch -Wc,ppc64 -Wc,-arch -Wc,x86_64
INCLUDES+= -Wl,-arch -Wl,ppc -Wl,-arch -Wl,i386 -Wl,-arch -Wl,ppc64 -Wl,-arch -Wl,x86_64
export ARCHFLAGS='-arch i386 -arch ppc -arch ppc64 -arch x86_64'
コンパイルとインストール。
cd ..
make
sudo make install
/etc/apache2/httpd.confを編集。
LoadModule python_module libexec/apache2/mod_python.so
<directory myprj>
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
</directory>
<location "/myprj">
SetHandler python-program
PythonHandler django.core.handlers.modpython
PythonPath "['/Library/WebServer/Documents/mysite'] + sys.path"
SetEnv DJANGO_SETTINGS_MODULE myprj.settings
PythonDebug On
</location>
いよいよDjango本体をインストールする。
http://www.djangoproject.com/download/
よりDjango-1.0.tar.gzをダウンロードしてtar zxvfで解凍してディレクトリ移動(cd)。
tar zxvf Django-1.0.tar.gz
cd Django-1.0.tar.gz
sudo python setup.py install
cd /Library/WebServer/Documents/mysite
sudo python django-admin.py startproject myprj
cd myprj
python manage.py startapp myapp
settings.pyを編集する。
DATABASE_ENGINE = 'mysql'
DATABASE_NAME = 'myprj'
DATABASE_USER = 'root'
DATABASE_PASSWORD = 'mypassword'
DATABASE_HOST = '127.0.0.1'
DATABASE_PORT = '3306'
TIME_ZONE = 'Asia/Tokyo Japan'
TEMPLATE_DIRS = (
'/Library/WebServer/Documents/mysite/myprj/myapp/template',
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'myprj.myapp'
)
*エラーが出る場合はDATABASE_ENGINEを無効にする。
myapp/views.pyを編集する。
from django.shortcuts import render_to_response, get_object_or_404
def index(request):
return render_to_response('index.html')
index.htmlはmyprj/myapp/template/index.htmlに作って、中身は適当なHTML。
sudo /usr/sbin/apachectrl restartでApache2を再起動後、http://localhost/myprj/myappにアクセスする。エラーのときはmyprj/myappをchmod -Rしてみる。
ここまでで、MySQLを除く環境の構築方法。
次回のエントリーでMySQLとの接続とmodel.pyの使い方を紹介する。
ラベル: Apache, django, Mac, MySQL, OSX, python