django-mysql-apache ¼³Ä¡ (ÀÛ¼ºÀÏ : 2012.12.21, ÀÛ¼ºÀÚ : ±è¿µ±¤) 1. python 2.7.3 ¼³Ä¡ ´Ù¿î·Îµå : http://www.python.org/getit/ ¼³Ä¡ ÆÄÀÏ : python-2.7.3.msi python27Æú´õ¸¦ ¼Ó¼º(³»ÄÄÇ»ÅÍ) -> °í±Þ, ȯ°æº¯¼ö -> path¿¡ Ãß°¡ 2. DB ¼³Ä¡ mySQL ¼³Ä¡ ´Ù¿î·Îµå : http://www.mysql.com/downloads/installer/ ¼³Ä¡ ÆÄÀÏ : mysql-installer-community-5.5.28.3.msi root ÆÐ½º¿öµå ¼³Á¤ ¹× À¯Àú Ãß°¡ - root (PW: root) - k09wang (PW: 1231242) Workbench ¼³Ä¡ MySQLdb(MySQL for Python) ¼³Ä¡ ´Ù¿î·Îµå : http://sourceforge.net/projects/mysql-python/ ¼³Ä¡ ÆÄÀÏ : MySQL-python-1.2.4b4.win32-py2.7.exe database »ý¼º MySQL Command Line Client¿¡¼­ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ¿© database¸¦ »ý¼º CREATE DATABASE CHARACTER SET utf8; 3. django 1.4.3 ¼³Ä¡ ´Ù¿î·Îµå : https://www.djangoproject.com/download/ command line¿¡¼­ django ¾ÐÃàÇØÁ¦ÇÑ µð·ºÅ丮·Î À̵¿ c:\>cd C:\Django-1.4.3 c:\Django-1.4.3>python setup.py install Django-1.4.3\django\bin µð·ºÅ丮¿¡ ÀÖ´Â django-admin.py¸¦ c:\windows³ª ÆÄÀ̽ãÀÌ ¼³Ä¡µÈ µð·ºÅ丮 °°Àº ½Ã½ºÅÛ °æ·Î·Î º¹»ç »õ ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÏ·Á¸é command line¿¡¼­ ÇÁ·ÎÁ§Æ® »ý¼º (¿øÇÏ´Â µð·ºÅ丮 À̵¿ ÈÄ ¾Æ·¡ ¸í·É¾î ÀÔ·Â. ÇÏÀ§¿¡ mysiteÆú´õ°¡ »ý¼ºµÊ.) django-admin.py startproject mysite mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py À§¿Í°°Àº °æ·Î·Î »ý¼ºµÇ´Âµ¥ manage.py´Â settings.py¿Í °°Àº Æú´õ¿¡ ÀÖ¾î¾ßÇÔ. mysite/ __init__.py settings.py urls.py wsgi.py manage.py À§¿Í °°ÀÌ ±¸¼ºÇϵµ·Ï ÇÔ. manage.py, settings.py, wsgi.py ¿¡ 'mysite.~' ¿Í °°ÀÌ µÇ¾î ÀÖ´Â ºÎºÐµé¿¡¼­ 'mysite.'À» »èÁ¦. ¿¹) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") -> os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings") 4. DB ¼¼ÆÃ settings.py ¿¡¼­ DATABASES ºÎºÐÀ» ´ÙÀ½°ú °°ÀÌ ¼³Á¤. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': , # Or path to database file if using sqlite3. 'USER': , # Not used with sqlite3. 'PASSWORD': , # Not used with sqlite3. 'HOST': '127.0.0.1', # Set to empty string for localhost. Not used with sqlite3. 'PORT': '', # Set to empty string for default. Not used with sqlite3. } } command line¿¡¼­ mysite µð·ºÅ丮·Î À̵¿ ÈÄ python manage.py syncdb ÀÔ·ÂÇϸé DB tableµéÀÌ »ý¼ºµÊ. ±×¸®°í ¾Æ·¡¿Í °°Àº Áú¹®À» ¹Þ°Ô µÇ´Âµ¥, 'yes'¸¦ ÀÔ·ÂÇÏ¸é °ü¸®ÀÚ ¾ÆÀ̵𸦠»ý¼ºÇÒ ¼ö ÀÖÀ½. You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): 5. south ¼³Ä¡ ´Ù¿î·Îµå : http://www.aeracode.org/releases/south/ ¾ÐÃà ÆÄÀÏ : south-0.7.6.tar.gz ¾ÐÃàÇ®°í cmd¿¡¼­ ¼³Ä¡°æ·Î·Î À̵¿ ÈÄ python setup.py install ½ÇÇà. settings.pyÀÇ INSTALLED_APPS¿¡ 'south' Ãß°¡. 6. apache ¼³Ä¡ ´Ù¿î·Îµå : http://www.apache.org/dist/httpd/binaries/win32/ ¼³Ä¡ ÆÄÀÏ : httpd-2.2.22-win32-x86-no_ssl.msi ¼³Ä¡ ÈÄ ¹æÈ­º® ¿¹¿Ü¿¡ Æ÷Æ® Ãß°¡ (TCP 80) 7. apache ¼¼ÆÃ mod_wsgi ¼³Ä¡ (apache2-python module) ´Ù¿î·Îµå : http://code.google.com/p/modwsgi/downloads/list ¼³Ä¡ ÆÄÀÏ : mod_wsgi-win32-ap22py27-3.3.so mod_wsgi-win32-ap22py27-3.3.so ÆÄÀÏÀ» \Apache2.2\modules Æú´õ ¾È¿¡ mod_wsgi.so·Î À̸§ º¯°æÇÏ¿© ³ÖÀ½. ¾Æ·¡ÀÇ µÎ ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤. httpd.conf (~/Apache2.2/conf/httpd.conf) LoadModule wsgi_module modules/mod_wsgi.so Ãß°¡ WSGIPythonPath "c:/var/www/mysite" Ãß°¡ Options Indexes FollowSymLinks ¿¡¼­ Indexes »èÁ¦ #Include conf/extra/httpd-vhosts.conf ¿¡¼­ #(ÁÖ¼®) »èÁ¦ httpd-vhosts.conf (~/Apache2.2/conf/extra/httpd-vhosts.conf) ù¹øÂ° ~ ºÎºÐÀ» ´ÙÀ½°ú °°ÀÌ º¯°æ DocumentRoot "C:/var/www/mysite" ServerName 09wang.stylefor.us:80 WSGIScriptAlias / "c:/var/www/mysite/wsgi.py" Order deny,allow Allow from all Âü°í : https://docs.djangoproject.com/en/1.4/howto/deployment/wsgi/modwsgi/ 8. ÀÌÈÄ django project ÁøÇà Âü°í : https://docs.djangoproject.com/en/dev/intro/tutorial01/