Code

=====================
장고를 설치하는 방법
=====================

이 문서로 장고를 운영할 수 있습니다.

파이썬(Python) 설치부터
==============

장고는 파이썬 2.3 이상이 필요합니다. http://www.python.org 에서
파이썬을 내려받아서 설치하세요. 리눅스나 Mac OSX라면 아마 시스템에
이미 설치되어 있을 것입니다.

아파치(Apache)와 mod_python 설치
=============================

장고를 한번 둘러보려는 거라면 이 섹션은 그냥 넘어가세요.; 장고는
가벼운 웹서버를 가지고 있어서 이 웹서버로 테스트해볼 수 있습니다.
아파치는 실제 환경에서 장고를 운영할 때 사용하세요.

장고를 실제 운영환경에서 운영하려면 mod_perl과 유사한 아파치의 `mod_python`_을
사용하세요. -- mod_python은 아파치에 파이썬을 집어넣어서 웹서버가
시작할 때 파이썬을 메모리에 올려둡니다. 아파치 프로세스가 실행되는
동안 코드는 메모리에서 내려가지 않습니다. 이런 점은 다른 서버
운영방법에 비해서 많은 성능향상을 가져옵니다. mod_python을 포함시켜서
아파치를 설치하세요. 장고는 아파치 2.x, mod_python 3.x 이상에서
실행됩니다.

mod_python을 설정하는 좀더 자세한 내용은 `mod_python에서 장고 운영하기`_에서
살펴보세요.

어떤 이유에서든지 mod_python을 사용하지 않기로 했다면 걱정하지 마세요.
장고는 `WSGI`_ 기준을 따르고 있습니다. `WSGI`_는 여러 웹서버 플랫폼을
지원합니다. `장고 웹서버 지원 위키 페이지`_에서 여러 웹서버에서
설치하는 내용을 확인하세요.

.. _Apache: http://httpd.apache.org/
.. _mod_python: http://www.modpython.org/
.. _WSGI: http://www.python.org/peps/pep-0333.html
.. _mod_python에서 장고 운영하기: ../modpython/
.. _장고 웹서버 지원 위키 페이지: http://code.djangoproject.com/wiki/ServerArrangements


데이터베이스를 실행하세요.
=========================

장고 데이터베이스 API를 사용하려면 데이터베이스가 필요합니다. 장고는
`PostgreSQL`_, `MySQL`_, `Oracle`_ 그리고 `SQLite`_ (물론 SQLite는 서버를
실행시킬 필요는 없습니다.)

당연하지만 데이터베이스를 파이썬에서 사용하기 위해서 해당
데이터베이스에 맞는 모듈을 설치해야 합니다.

    * PostgreSQL은 `psycopg`_ 패이키지 필요합니다. 장고는 버전1과 2 모두
      지원합니다. (장고를 설정할 때, 데이터베이스 항목을 버전 1은
      ``postgresql``, 버전 2는 ``postgresql_psycopg2``로 설정하세요.)

      윈도우라면 비공식으로 `컴파일된 윈도우즈 버전`_을 알아보세요.

    * MySQL이라면 `MySQLdb`_ 1.2.1p2나 그 이상 버전이 필요합니다. `MySQL backend`_에서 좀더 자세한 내용을 살펴보세요.

    * 파이썬 2.3, 2.4에서 SQLite를 사용한다면 `pysqlite`_ 2.0.3 혹은 그 이상
      버전이 필요합니다. 파이썬 2.5는 표준 라이브러리로 sqlite를 포함하고
      있어서 따로 설치할 것이 없습니다.

    * Oracle이라면, `cx_Oracle`_ 4.3.1이나 그 이상 버전이 필요합니다.
      `Oracle backend`_에서 더 자세한 내용을 살펴보세요.

장고에서 지원하는 ``manage.py syncdb``로 모델(model)에 맞게
데이터베이스에 테이블을 만드는 경우에는, 데이터베이스에 적절한 권한이
있는지 먼저 확인합니다.; 손수 테이블을 만들 때는 ``SELECT``,
``INSERT``, ``UPDATE`` and ``DELETE``에 대해서만 권한을 부여하세요.
``ALTER TABLE`` 권한은 필요없습니다. 장고의 `testing framework`_를
data fixtures와 함께 사용하는 경우엔 데이터베이스에 임시
데이터베이스(temporary test database)를 만드는 권한이 필요합니다.

.. _PostgreSQL: http://www.postgresql.org/
.. _MySQL: http://www.mysql.com/
.. _Django's ticket system: http://code.djangoproject.com/report/1
.. _psycopg: http://initd.org/tracker/psycopg
.. _컴파일된 윈도우즈 버전: http://stickpeople.com/projects/python/win-psycopg/
.. _MySQLdb: http://sourceforge.net/projects/mysql-python
.. _SQLite: http://www.sqlite.org/
.. _pysqlite: http://initd.org/tracker/pysqlite
.. _MySQL backend: ../databases/
.. _cx_Oracle: http://cx-oracle.sourceforge.net/
.. _Oracle: http://www.oracle.com/
.. _Oracle backend: ../databases/#oracle-notes
.. _testing framework: ../testing/

이전 장고 버전 지우기
=================================

예전 버전에서 업그레이드하는 경우에는 설치하기 전에 설치된 장고를
지워야 합니다.

``setup.py install``로 장고를 설치했으면 파이썬의 ``site-packages``
디렉토리 아래에 있는 ``django`` 디렉토리를 지워서 장고를 지울 수
있습니다.

파이썬 egg(Python egg)로 장고를 설치했으면 ``.egg`` 파일을 지우고
``site-packages`` 아래에 있는 ``easy-install.pth``에서 이 egg 파일을
가리키는 내용도 지웁니다.

.. admonition:: ``site-packages``는 어디에?

    ``site-packages`` 디렉토리는 운영체제 환경과 파이썬이 설치된 환경에
    따라서 조금씩 다릅니다. 아래 명령으로 ``site-packages``를 확인할
    수 있습니다.::
        python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

(위 명령은 셀에서 실행시켜야 합니다. 파이썬 대화환경이 아니라.)


장고 설치하기
=======================

장고를 설치하는 방법은 배포판이 제공하는 패키지, 장고 공식 릴리즈를
내려받거나, 혹은 최신 개발버전을 설치할 수 있습니다.

배포판이 제공하는 패키지로 설치하기
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`각 배포판별 장고`_에서 여러분이 사용하는 운영체제를 장고가
공식적으로 제공하는 패키지로 지원하는지 확인해보세요. 배포판에 맞는
패키지는 쉽게 자동으로 의존성까지 고려해서 설치할 수 있습니다.


공식 릴리즈 설치하기
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    1. `내려받기 페이지`_에서 최신 버전을 내려받으세요.

    2. 내려받은 파일을 풉니다. (예, ``tar xzvf Django-NNN.tar.gz``.
       NNN은 버전번호입니다.) 윈도우라면 명령행에서 사용할 수 있도록
       bsdtar_를 내려받아서 사용하세요. GUI 툴인 7-zip을 사용할 수도
       있습니다.

    3. ``cd Django-NNN``으로 새로 만들어진 디렉토리로 이동하세요.

    4. 리눅스, Mac OSX 혹은 유닉스류의 운영체제에서는 셀에서
       ``sudo python setup.py install``라고 실행시켜서 설치하도록
       합니다. 윈도우에서는 관리자 권한으로 ``setup.py install``을
       실행시킵니다.

위에서 설명한 명령들은 ``site-packages``에 장고를 설치합니다.

.. _각 배포판별 장고: ../distributions/
.. _bsdtar: http://gnuwin32.sourceforge.net/packages/bsdtar.htm
.. _7-zip: http://www.7-zip.org/

개발 버전 설치하기
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

장고 개발버전은 버그가 제거되고 성능이 향상된 최신 코드를 가지고
있습니다. 다음 과정을 따라가세요.:

 1. `Subversion`_을 사용할 수 있어야 합니다. (셀에서 ``svn help``라고
   쳐보세요.)

 2. 장고 SVN에서 개발 branch를 svn으로 내려받습니다.::

       svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk



3. 다음으로 파이썬에서 장고 코드를 읽을 수 있도록 합니다. 여러 방법이
   있지만 리눅스, Mac OSX 등 유닉스류의 운영체제에서라면 간단하게
   심볼릭 링크를 사용할 수 있습니다.::

       ln -s `pwd`/django-trunk/django SITE-PACKAGES-DIR/django

(``SITE-PACKAGES-DIR``은 ``site-packages`` 디렉토리 경로입니다. 위에서 설명한 "``site-packages``는 어디에?"을 참고하세요.)

   다른 방법으로, ``PYTHONPATH`` 환경변수를 설정해줄 수 있습니다.
   ``django-trunk`` 아래 ``django`` 디렉토리를 지정해줍니다. 앞에서
   설명한 심볼릭 링크가 지원되지 않는 윈도우즈 시스템이라면 가장 간단한
   방법입니다. (윈도우즈 `제어판`_에서 환경변수를
   지정하세요.)

   .. admonition:: 아파치와 mod_python에서는?

      아파치 설정에서 ``PythonPath``를 지정하세요.

      더 자세한 방법은 `mod_python에서 장고 운영하기`_을 참고하세요.

      .. _mod_python에서 장고 운영하기: ../modpython/

 4. ``django-trunk/django/bin/django-admin.py``를
   ``/usr/local/bin``(유닉스)나 ``C:\Python24\Scripts``(윈도우즈)처럼
   어느 디렉토리에서도 ``django-admin.py``로 바로 실행할 수 있는
   경로로 복사합니다.

``python setup.py install``를 *일부러 실행할 필요는 없습니다*. 3, 4번째
항목에서 이미 비슷한 작업을 했습니다.

``django-trunk`` 디렉토리에서 ``svn update``으로 장고 소스코드를
업데이트할 수 있습니다. `Subversion`_이 알아서 지난 변경사항을
내려받아둡니다.

.. _내려받기 페이지: http://www.djangoproject.com/download/
.. _Subversion: http://subversion.tigris.org/
.. _제어판: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/sysdm_advancd_environmnt_addchange_variable.mspx

Last modified 7 years ago Last modified on 11/12/07 09:13:29