2008年10月24日 星期五

Python+Django+Apache

這篇文章講的非常清楚
http://thinkhole.org/wp/2006/04/03/django-on-windows-howto/


把四個需要安裝的整理出來

1. 安裝Python - version 2.5.2.2
http://www.activestate.com/store/download_file.aspx?binGUID=4656928e-d642-4aec-815e-b8d819b7cdbb

若無特殊需求,使用default一直下一步就可以了


2. 安裝Django - version 1.0
http://www.djangoproject.com/download/1.0/tarball/

下載完成之後,解壓縮後進入資料夾,打開cmd.exe,執行
python setup.py install

即可安裝完成


3. 安裝Apache,請到下載頁面選擇最新版本(xxx為版本)apache_xxx-win32-x86-no_ssl.msi
http://apache.ntu.edu.tw/httpd/binaries/win32/
(我下載的為apache_2.2.10-win32-x86-no_ssl.msi)

原本的路徑應為 - C:\Program File\....\Apache2.2
但為了修改方便建議安裝至 - C:\Apache


4. 安裝mod_python,請選擇與Python版本與Apache版本相符的最新版本,此為讓Apache支援python的django模組
http://apache.stu.edu.tw/httpd/modpython/win/3.3.1/
(我下載的為mod_python-3.3.1.win32-py2.5-Apache2.2.exe)

在安裝mod_python的時候,他會要你選擇一個資料夾,請指定你Apache的安裝目錄


全都安裝好之後,http://localhost/應該就可以看到apache的首頁了


但我們想要看的應該是django架構的網站,而不是apache內建的首頁,因此要開始做一些設定

1. 先用django建立一個專案
安裝django成功之後,可以到這裡C:\Python25\scripts看到一個叫django-admin.py的檔案(當然實際還是得看安裝位置),它其實是django為了方便使用者所製作出來的一隻可帶參數執行檔。因此當我們要用django在C:\目錄底下建立一個新的專案,就打開DOS Prompt,並輸入這兩行

cd c:\
c:\Python25\scripts\django-admin.py startproject django_www


就可以看到在c:\產生了一個django_www的目錄了!這時候我們可以用django內建的web server來看看畫面,打開DOS Prompt,輸入
c:\django_www\manage.py runserver


然後再到這裡http://localhost:8000/就可以看到django所產生的首頁了!看完之後可以把django內建的web server停止,因為接下來我們就要開始使用Apache當作web server了!(不過不停止也不會影響就是了)



2. 跟Apache說我要開始使用django了!
首先要先把mod_python載入apache的服務,因此需要打開C:\Apache\conf\httpd.conf來編輯,先隨便找一個地方加入這一行
LoadModule python_module modules/mod_python.so


然後也是隨便找一個地方貼上
MaxRequestsPerChild 1
<Location "/">
    SetHandler python-program
    PythonPath "['C:/'] + sys.path"
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE django_www.settings
    PythonAutoReload Off
    PythonDebug On
</Location>
Alias /site_media C:/django_www/media
Alias /media C:/Python25/Lib/site-packages/django/contrib/admin/media
<Location "/site_media">
    SetHandler None
</Location>
<Location "/media>
    Order Deny,Allow
    Allow from all
    SetHandler None
</Location>


然後重新啟動Apache就可以在http://localhost/看到django的首頁了!

沒有留言: