Install

Install Django SVN dengan Apache mod Python dan MySQL pada CentOS 5.2

Tanggal 21 Nov 2008
Kategori : Aplikasi Linux,Programming dan Framework
Tag : , , , , , , ,

Django SVN merupakan development version dari Django, dan instalasi Django SVN akan memberikan pengaruh langsung kepada kita terhadap perkembangan Django. Metoda yang sama juga dapat anda ikuti untuk mengginstall Django dari source (tanpa SVN)



Mod Python

Mod Python

Install Apache dan Python Module

Yum package management akan secara otomatis melakukan instalasi Apache 2.2.3 melalui perintah dibawah ini;

yum install -y mod_python subversion wget

Selain instalasi httpd dan mod_python, kita juga melakukan instalasi subversion untuk melakukan instalasi django.

Masukkan service httpd pada startup list; dan start service httpd;

chkconfig httpd on
service httpd start

Pada CentOS 5.2, Python Module untuk apache akan dipanggil oleh file /etc/httpd/conf.d/python.conf

#
# Mod_python is a module that embeds the Python language interpreter
# within the server, allowing Apache handlers to be written in Python.
#
LoadModule python_module modules/mod_python.so

Install Django SVN

mkdir /opt/django
cd /opt/django/
svn co http://code.djangoproject.com/svn/django/trunk/

Setelah proses checkout SVN selesai, maka django telah terinstall, yang harus kita lakukan kemudian adalah memberitahukan python mengenai instalasi django yang baru saja kita lakukan. Hal ini dilakukan dengan membuat symbolic link path instalasi django ke direktori site package milik Python.

ln -s /opt/django/trunk/django /usr/lib/python2.4/site-packages

Kemudian kita membuat symbolic link django-admin.py ke dalam system CentOS agar bisa dipanggil dari direktori mana saja.

ln -s /opt/django/trunk/django/bin/django-admin.py /usr/local/bin/django-admin.py

Tes instalasi django, jika perintah berikut tidak mengembalikan pesan error maka instalasi django anda sudah berhasil, apabila masih ada kesalahan, periksa ulang perintah untuk memasukkan path django ke dalam path site package Python.

python
>>> import django

Instalasi Database Server MySQL dan Python Module 1.2.2

Ikauti langkah-langkah instalasi database server MySQL dan Python Module 1.2.2 pada artikel http://artikel.magnet-id.com/knowledge-base/vps-knowledge-base/menggunakan-mysqldb-untuk-aplikasi-django/ , hal ini harus dilakukan secara manual, karena python adapter untuk MySQL dari CentOS 5.2 yum masih pada versi 1.2.1 sementara django membutuhkan versi 1.2.1p5 ke atas.

Membuat Direktori Template dan Aplikasi

Berbeda dengan PHP, django di deploy tanpa menempatkan source file template dan aplikasi di document root web server, django kemdian akan melakukan pemetaan URL melalui Django URL Resolver. Untuk memudahkan proses development nantinya, kita akan membuat user di luar root terlebih dahulu;

Install sudo

yum install -y wget sudo

Buat username dan berikan password

adduser username
passwd usename

Berikan akses sudo kepada user terkait

visudo

Tambahkan baris berikut;

username ALL=(ALL) ALL

Save dan exit visudo

:wq

Su ke user tersebut dan pindah ke home direktori user;

su username
cd ~

Ubah username dengan nama user yang anda buat, buat direktori djangoapps (untuk aplikasi dan project anda nantinya) dan djangowww untuk file media dan template.

mkdir djangoapps
mkdir djangowww
mkdir djangowww/template
mkdir djangowww/media

Buat test project;

cd djangoapps/
django-admin.py startproject testapp
exit

Ubah permission home direktori user agar dapat diakses oleh Apache kemudian dan tidak memunculkan Forbidden 403 Error;

cd /home/
chmod 711 username/

Membuat Egg Cache

Kemudian siapkan direktori untuk menyimpan Python Egg Cache dan pastikan bahwa web server memiliki hak tulis ke direktori tersebut, dalam hal ini adalah /var/cache/.

mkdir -p /var/cache/www/pythoneggs
chown apache /var/cache/www/pythoneggs

Konfigurasi Virtual Host Apache

Pada bagian ini kita akan menambahkan sebuah virtual host di Apache, yang nantinya domain pada virtual host tersebut akan berjalan di atas aplikasi django yang akan kita kembangkan.

Buat konfigurasi Virtual Host di file /etc/httpd/conf.d/vhosts.conf yang akan diload oleh Apache pada saat startup.

vi /etc/httpd/conf.d/vhosts.conf

Masukkan baris berikut, bisa ditambahkan atau dikurangi kemudian sesuai dengan kebutuhan anda; Gantikan username, tesdomain.com dan testapp dengan konfigurasi anda.

NameVirtualHost *:80
<VirtualHost *:80>
  ServerName tesdomain.com
  DocumentRoot "/home/username/djangowww/"
  # Menambahkan www. untuk domain (optional) #
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^tesdomain\.com [NC]
  RewriteRule (.*) http://www.tesdomain.com$1 [R=301,L]
  # Django stuff #
  <Location "/">
  SetHandler python-program
  PythonHandler django.core.handlers.modpython
  PythonPath "['/home/username/djangoapps/'] + sys.path"
  SetEnv DJANGO_SETTINGS_MODULE testapp.settings
  SetEnv PYTHON_EGG_CACHE "/var/cache/www/pythoneggs"
  PythonDebug On
</Location>
# Static media: images, css, etc. #
<Location "/media/">
  SetHandler None
</Location>
</VirtualHost>

Save dan Exit; kemudian restart httpd;

:wq
service httpd restart

Tes setup virtual host anda; Apabila konfigurasi virtual host apache dan django sudah dilakukan dengan benar maka akan muncul gambar seperti berikut;

Default Page Django

Default Page Django

Aplikasi Django anda sudah siap untuk dikembangkan dengan menggunakan Apache Web Server.

Referensi

Situs ini dibuat dengan memanfaatkan Teknologi Open Source Wordpress, Nginx, 960 Grid System dan Linux CentOS.
Isi dari situs diutamakan untuk membantu Pengguna Layanan Magnet Hosting dalam memanfaatkan layanannya, disediakan tanpa jaminan, dapat dimanfaatkan, diperbanyak ataupun ditulis kembali dengan resiko masing-masing.
Copyright PT. Indonesia Digital Media © 2008-2009. (Top)