Tuesday, October 10, 2006

Django installation for production server

I've made a simple how-to in Bahasa Indonesia about Django installation on production server. That means, I use Apache HTTPd and mod_python. Have a look.


Instalasi Django untuk Production Server




Untuk instalasi Django, penulis menggunakan versi software yang
terbaru pada saat dokumentasi ini ditulis (kecuali Python)

Asumsi



  1. Sistem operasi yang digunakan adalah GNU/Linux. JIka tidak menggunakan GNU/Linux, silahkan
    membuat sendiri berbagai penyesuaian (terutama path)

  2. Instalasi ini akan menjelaskan instalasi pada production server

  3. Home directory: /home/bpdp. $HOME akan menunjuk ke /home/bpdp


Persiapan Software



  • Python. Syarat: versi 2.3 ke atas, penulis menggunakan 2.4.3

  • Apache HTTPd. Penulis menggunakan versi 2.3.3

  • mod_python. Penulis menggunakan versi 3.2.10

  • Django. Penulis menggunakan versi 0.95


Langkah-langkah Instalasi


Apache HTTPd



1. Instalasi akan diletakkan di /home/bpdp/software/apache-httpd
2. Buat direktori tersebut:

   $ mkdir ~/software/apache-httpd
   $ tar -xjvf ~/download/software/apache-httpd/httpd-2.3.3.tar.bz2
   $ cd httpd-2.3.3
   $ ./configure --prefix=/home/bpdp/software/apache-httpd/
   $ make
   $ make install

   Untuk mempermudah, penulis membuat shell script di
   ~/environment/shell/apache-httpd yang berisi:

    ---------------------------------------------------------------------
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/bpdp/software/apache-httpd/lib
    export LD_LIBRARY_PATH
   
    PATH=/home/bpdp/software/apache-httpd/bin:$PATH
    export PATH
   
    MANPATH=/home/bpdp/software/apache-httpd/man:$MANPATH
    export MANPATH
    --------------------------------------------------------------------

   Setiap akan mengaktifkan apache, penulis melakukan sourcing
   terhadap file tersebut dengan perintah:

$ source ~/environment/shell/apache-httpd


    Beberapa perubahan yang penulis lakukan terhadap konfigurasi
    di $APACHE_HOME/conf/httpd.conf
    (/home/bpdp/software/apache-httpd/conf/httpd.conf):

    ------------------------------

    Listen 2508

    ------------------------------

mod_python



1. Instalasi akan diletakkan di $APACHE_HOME
2. Berikut ini langkah-langkahnya:

    $ tar -xzvf ~/download/software/modpython/mod_python-3.2.10.tgz
    $ cd mod_python-3.2.10
    $ ./configure --with-apxs=/home/bpdp/software/apache-httpd/bin/apxs
    $ make
    $ make install

   File konfigurasi httpd.conf dari apache-httpd harus diubah
   sesuai petunjuk pada akhir proses di atas. Pada httpd.conf
   milik penulis, penambahan yang dilakukan adalah:



   LoadModule python_module /home/bpdp/software/apache-httpd//modules/mod_python.so

    <Location /mpinfo>
       SetHandler mod_python
       PythonHandler mod_python.testhandler
    </Location>



4. Untuk memeriksa instalasi, tes dengan cara:

    $ source ~/environment/shell/apache-httpd
    $ apache-ctl start

    Gunakan browser untuk mengakses http://127.0.1.1:2508/mpinfo

   Hasilnya berupa tampilan info mod_python. Silahkan
   melihat hasilnya di sini

   Catatan: Alamat IP silahkan disesuaikan dengan milik anda
   (kemungkinan 127.0.0.1 atau localhost atau namaserver)

Django



1. $ tar -xzvf ~/download/software/django/Django-0.95.tar.gz
2. $ cd Django-0.95
3. Sebagai root, copykan seluruh direktori django ke site-packages dari Python:

    $ su -
    password:
    # cd /home/bpdp/software/download/django/Django-0.96/
    # cp -R django /usr/lib/python2.4/site-packages/

   Catatan: Cara di atas sebenarnya bisa dilakukan dengan cara lain yaitu dengan:

python setup.py install


   tetapi cara di atas harus terkoneksi ke Internet jika belum ada paket setuptools terinstall.

4. Membuat proyek aplikasi Django untuk tes:

    Catatan: proyek akan diletakkan di $HOME/src/

    $ export PATH=$PATH:/usr/lib/python2.4/site-packages/django/bin/
    $ django-admin.py startproject bpdp

    Hasil dari perintah di atas adalah:



bpdp@bpdp-desktop:~$ ls -la src/bpdp/
total 32
drwxr-xr-x 2 bpdp bpdp 4096 2006-10-10 05:14 .
drwxr-xr-x 5 bpdp bpdp 4096 2006-10-10 05:06 ..
-rw-r--r-- 1 bpdp bpdp 0 2006-10-10 05:06 __init__.py
-rw-r--r-- 1 bpdp bpdp 119 2006-10-10 05:13 __init__.pyc
-rwxr-xr-x 1 bpdp bpdp 546 2006-10-10 05:06 manage.py
-rw-r--r-- 1 bpdp bpdp 2403 2006-10-10 05:07 settings.py
-rw-r--r-- 1 bpdp bpdp 1791 2006-10-10 05:13 settings.pyc
-rw-r--r-- 1 bpdp bpdp 230 2006-10-10 05:06 urls.py
-rw-r--r-- 1 bpdp bpdp 216 2006-10-10 05:14 urls.pyc
bpdp@bpdp-desktop:~$



5. Konfigurasi Apache HTTPd + mod_python untuk Django:



PythonPath "['/home/bpdp/src'] + sys.path"

<Location "/bpdp/">
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE bpdp.settings
    PythonDebug On
</Location>



6. Menguji:

    Aktifkan browser kemudian akses ke:

http://127.0.1.1:2508/bpdp/


    Hasilnya sebagai berikut:






    Jika muncul hasil seperti di atas, maka instalasi
    Django telah berhasil.

7. Happy hacking with Python and Django!

Tambahan



Instalasi di atas adalah instalasi awal, silahkan membaca semua
dokumentasi yang telah disertakan di direktori docs/ pada distribusi
Django yang anda download. *You do need that, badly!*

0 comment(s):