<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Artikel Magnet &#187; Python</title>
	<atom:link href="http://artikel.magnet-id.com/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://artikel.magnet-id.com</link>
	<description>Kumpulan Panduan, Tutorial dan Informasi Magnet</description>
	<lastBuildDate>Fri, 02 Sep 2011 00:30:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Django, Nginx dan Apache mod_wsgi di Ubuntu</title>
		<link>http://artikel.magnet-id.com/aplikasi-linux/django-nginx-dan-apache-mod_wsgi-di-ubuntu/</link>
		<comments>http://artikel.magnet-id.com/aplikasi-linux/django-nginx-dan-apache-mod_wsgi-di-ubuntu/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 17:19:36 +0000</pubDate>
		<dc:creator>Magnet Hosting</dc:creator>
				<category><![CDATA[Aplikasi Linux]]></category>
		<category><![CDATA[Programming dan Framework]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://artikel.magnet-id.com/?p=902</guid>
		<description><![CDATA[Artikel ini akan memberikan panduan untuk menjalankan aplikasi Django anda dengan menggunakan front end Nginx Web Server untuk file statik dengan upstream Apache dan mod_wsgi untuk menjalankan script python pada mesin Ubuntu 9.04 64 bit yang dapat anda miliki melalui Layanan VPS Magnet Hosting.]]></description>
			<content:encoded><![CDATA[<p>Artikel ini akan memberikan panduan untuk menjalankan aplikasi Django anda dengan menggunakan front end Nginx Web Server untuk file statik dengan upstream Apache dan mod_wsgi untuk menjalankan script python pada mesin Ubuntu 9.04 64 bit yang dapat anda miliki melalui Layanan VPS Magnet Hosting.</p>
<p><span id="more-902"></span></p>
<p><strong>Mengapa Nginx Web Server?</strong></p>
<p>Nginx Web Server sangat powerful dan jauh lebih hemat RAM dibandingkan Apache ketika melayani file statik seperti file gambar atau pun html, oleh sebab itu Nginx menjadi preferensi bagi website / aplikasi dengan traffic / load tinggi, baik berjalan sendiri maupun dipadukan dengan web server lain seperti Apache.</p>
<p><strong>Mengapa Apache mod_wsgi?</strong></p>
<p>Mod_wsgi memiliki overhead sampai dengan 50% lebih ringan dibandingkan mod_python, dan jauh lebih ringan dibandingkan CGI untuk menjalankan script python pada Web Server Apache. Dokumentasi teknis mengenai benchmark ini dapat dipelajari lebih lanjut di <a  href="http://code.google.com/p/modwsgi/wiki/PerformanceEstimates" target="_blank">http://code.google.com/p/modwsgi/wiki/PerformanceEstimates</a>. Atau melalui link berikut untuk perbandingan di aplikasi yang sudah berjalan <a  href="http://collingrady.wordpress.com/2009/01/06/mod_python-versus-mod_wsgi/" target="_blank">http://collingrady.wordpress.com/2009/01/06/mod_python-versus-mod_wsgi/</a>.</p>
<p><strong>Mengapa Ubuntu?</strong></p>
<p>Ubuntu apabila dibandingkan dengan distribusi linux lainnya memiliki kompilasi paket yang lebih maju, sebagai ilustrasi, versi python pada Ubuntu 9.04 adalah Python 2.6.2, sementara pada CentOS 5.3 memiliki versi Python 2.4.3. Hal ini merupakan salah satu alasan untuk menggunakan Ubuntu apabila anda membutuhkan dukungan Python dengan versi lebih baru. Karena pada semua distribusi Linux Python merupakan core software yang sangat sulit (atau tidak bisa) untuk diupgrade secara manual. Namun demikian, Django mendukung Python 2.3.x (dukungan terhadap Python 2.3.x akan ditarik oleh Django dalam waktu dekat) sehingga tetap tidak menjadi masalah apabila anda menggunakan CentOS untuk mendeploy aplikasi anda.</p>
<p><strong>Update Ubuntu</strong></p>
<p>Masukkan repository universe pada sources.list anda.</p>
<pre class="brush: bash">sudo nano /etc/apt/sources.list</pre>
<p>Sesuaikan dengan isi file anda, seperti contoh berikut;</p>
<pre>deb http://ubuntu.indika.net.id jaunty main universe
deb http://security.ubuntu.com/ubuntu jaunty-security main universe</pre>
<p>Update Ubuntu</p>
<pre class="brush: bash">sudo aptitude update</pre>
<p><strong>Instalasi Build Essential</strong></p>
<pre class="brush: bash">sudo aptitude install build-essential</pre>
<p><strong>Instalasi Apache dan mod_wsgi</strong></p>
<pre class="brush: bash">sudo aptitude install apache2 apache2.2-common apache2-mpm-worker apache2-threaded-dev libapache2-mod-wsgi python-dev</pre>
<p><strong>Konfigurasi Apache</strong></p>
<p>Sesuaikan direktif timeout dan matikan KeepAlive</p>
<pre class="brush: bash">sudo nano /etc/apache2/apache2.conf</pre>
<pre>Timeout 60
KeepAlive Off</pre>
<p>Modifikasi konfigurasi security di conf.d (opsional)</p>
<pre class="brush: bash">sudo nano /etc/apache2/conf.d/security</pre>
<pre>ServerTokens Prod
ServerSignature Off
TraceEnable Off</pre>
<p>Restart Apache</p>
<pre class="brush: bash">sudo apache2ctl graceful</pre>
<p>Hapus default site bawaan dari instalasi awal</p>
<pre class="brush: bash">sudo a2dissite 000-default</pre>
<p>Ubah port listening dan port virtual host Apache menjadi 8080, Nginx yang akan melayani port 80, sementara request untuk script Python akan di proxy ke port 8080 (Apache);</p>
<pre class="brush: bash">sudo nano /etc/apache2/ports.conf</pre>
<pre>NameVirtualHost *:8080
Listen 8080</pre>
<p>Restart Apache</p>
<pre class="brush: bash">sudo apache2ctl graceful</pre>
<p><strong>Instalasi Nginx</strong></p>
<pre class="brush: bash">sudo aptitude install nginx</pre>
<p>Instalasi dengan menggunakan aptitude akan membuat file konfigurasi berada di /etc/nginx. Pada Ubuntu 9.04, versi Nginx yang digunakan adalah 0.6.35, sementara versi stable terbaru pada saat tulisan ini dibuat adalah 0.7.61, anda bisa melakukan kompilasi sendiri apabila anda membutuhkan Nginx dengan versi yang lebih baru.</p>
<p>Start Nginx</p>
<pre class="brush: bash">sudo /etc/init.d/nginx start</pre>
<p>Hapus konfigurasi default virtual host dari Nginx</p>
<pre class="brush: bash">sudo rm -f /etc/nginx/sites-enabled/default</pre>
<p>Layout Nginx hasil instalasi ini mirip dengan Apache, untuk Virtual Host anda akan memiliki dua direktori yaitu sites-available dan sites-enabled, di dalam sites-enabled (seperti halnya Apache di Ubuntu) berisi symbolic link ke file yang berada di dalam sites-available. File konfigurasi virtual host sites-enabled ini yang nantinya akan ikut dipanggil ketika Nginx dijalankan.</p>
<p>Sesuaikan konfigurasi utama Nginx</p>
<pre class="brush: bash">sudo nano /etc/nginx/nginx.conf</pre>
<p>di root konfigurasi</p>
<pre>worker_processes  4;     &lt;--- sesuaikan dengan jumlah core di dalam server anda</pre>
<p>di dalam http {}</p>
<pre>keepalive_timeout  2;
tcp_nopush on;

gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;</pre>
<p>Buat file proxy.conf yang akan dipanggil oleh konfigurasi Virtual Host Nginx.</p>
<pre class="brush: bash">sudo nano /etc/nginx/proxy.conf</pre>
<pre>proxy_redirect              off;
proxy_set_header            Host $host;
proxy_set_header            X-Real-IP $remote_addr;
proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size        10m;
client_body_buffer_size     128k;
proxy_connect_timeout       90;
proxy_send_timeout          90;
proxy_read_timeout          90;
proxy_buffer_size           4k;
proxy_buffers               4 32k;
proxy_busy_buffers_size     64k;
proxy_temp_file_write_size  64k;</pre>
<p>Restart Nginx</p>
<pre class="brush: bash">sudo /etc/init.d/nginx restart</pre>
<p><strong>Instalasi Subversion</strong></p>
<p>Kita membutuhkan subversion karena Django yang akan kita gunakan adalah versi SVN.</p>
<pre class="brush: bash">sudo aptitude install subversion</pre>
<p><strong>Instalasi Django</strong></p>
<p>Pada Python 2.6 di Ubuntu, modul tambahan tidak lagi di letakkan di sites-package, melainkan di dist-packages, hal ini mungkin akan membingungkan bagi anda yang terbiasa menggunakan Python ver 2.5 ke bawah.</p>
<pre class="brush: bash">cd /usr/lib/python2.6/dist-packages
sudo svn co http://code.djangoproject.com/svn/django/tags/releases/1.0.2/django django
sudo ln -s /usr/lib/python2.6/dist-packages/django/bin/django-admin.py /usr/local/bin/django-admin.py</pre>
<p><strong>Menyiapkan Virtual Host</strong></p>
<p>Layout direktori berikut dapat disesuaikan dengan selera kita, pada intinya kita akan menyiapkan direktori untuk Nginx (Media Files), Apache (handler WSGI) dan untuk aplikasi Django kita yang dibuat melalui django-admin.py startproject &lt;namaproject&gt;. Sesuaikan semua keterangan di dalam &lt;keterangan&gt; dengan kondisi anda.</p>
<pre>cd ~
mkdir /home/&lt;username&gt;/public_html
mkdir -p /home/&lt;username&gt;/public_html/&lt;domain name&gt;
mkdir -p /home/&lt;username&gt;/public_html/&lt;domain name&gt;/private
mkdir -p /home/&lt;username&gt;/public_html/&lt;domain name&gt;/logs</pre>
<p>Aplikasi Django kita akan berada di dalam /home/&lt;username&gt;/public_html/&lt;domain name&gt;</p>
<p>Berikan permission kepada web server (baik Nginx maupun Apache akan berjalan sebagai user www-data), tambahkan username kita atau yang akan digunakan ke dalam group web server / www-data</p>
<pre>sudo usermod -a -G www-data &lt;username&gt;</pre>
<p>Ubah group ownership dari layout direktori dan berikan permission yang sesuai seperti contoh berikut;</p>
<pre>sudo chgrp -R www-data /home/&lt;username&gt;/public_html
sudo chmod -R 2750 /home/&lt;username&gt;/public_html
sudo chmod -R 2770 /home/&lt;username&gt;/public_html/&lt;domain name&gt;/private</pre>
<p><strong>Instalasi Aplikasi Django</strong></p>
<p>Start Django project, atau pindahkan file anda apabila sudah ada</p>
<pre>cd /home/&lt;username&gt;/public_html/&lt;domain name&gt;
django-admin.py startproject &lt;django_project_name&gt;</pre>
<p>Buat file .wsgi yang akan dipanggil oleh Apache mod_wsgi</p>
<pre>mkdir -p /home/&lt;username&gt;/public_html/&lt;domain name&gt;/&lt;django project name&gt;/apache
cd /home/&lt;username&gt;/public_html/&lt;domain name&gt;/&lt;django project name&gt;/apache
sudo nano &lt;django project name&gt;.wsgi</pre>
<pre>import os, sys

apache_configuration= os.path.dirname(__file__)
project = os.path.dirname(apache_configuration)
workspace = os.path.dirname(project)
sys.path.append(workspace) 

sys.path.append('/usr/lib/python2.6/dist-packages/django/')
sys.path.append('/home/&lt;username&gt;/public_html/&lt;domain name&gt;/&lt;django project name&gt;')

os.environ['DJANGO_SETTINGS_MODULE'] = '&lt;django project name&gt;.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()</pre>
<p>Buat symbolic link untuk file media interface admin</p>
<pre>sudo ln -s /usr/lib/python2.6/dist-packages/django/contrib/admin/media /home/&lt;username&gt;/public_html/&lt;domain name&gt;/&lt;django project name&gt;/media/admin]</pre>
<p>Sesuaikan settings.py untuk Django Project anda</p>
<pre class="brush: bash">sudo nano settings.py</pre>
<pre>ADMIN_MEDIA_PREFIX = '/media/admin/'
.
.
.
MIDDLEWARE_CLASSES = (
'django.middleware.http.SetRemoteAddrFromForwardedFor',
)</pre>
<p><strong>Virtual Host Nginx</strong></p>
<pre>sudo nano /etc/nginx/sites-available/&lt;namadomainanda.com&gt;</pre>
<pre>upstream backend {
 server 127.0.0.1:8080;
}

server {
 listen   &lt;ip.address.anda&gt;:80;
 server_name www.&lt;domain name&gt; &lt;domain name&gt;;

 access_log /home/&lt;username&gt;/public_html/&lt;domain name&gt;/logs/nginx_access.log;
 error_log /home/&lt;username&gt;/public_html/&lt;domain name&gt;/logs/nginx_error.log;

 location / {
 proxy_pass  http://backend;
 include     /etc/nginx/proxy.conf;
 }

 location  /media/ {
 root /home/&lt;username&gt;/public_html/&lt;domain name&gt;/&lt;django project name&gt;/;
 }
}</pre>
<p>Aktifkan konfigurasi Virtual Host tersebut dan restart Nginx</p>
<pre>sudo ln -s /etc/nginx/sites-available/&lt;domain name&gt; /etc/nginx/sites-enabled/&lt;domain name&gt;
sudo /etc/init.d/nginx restart</pre>
<p><strong>Virtual Host Apache</strong></p>
<pre>sudo nano /etc/apache2/sites-available/&lt;domain name&gt;</pre>
<pre>&lt;VirtualHost *:8080&gt;
 #Basic setup
 ServerAdmin &lt;admin email&gt;
 ServerName www.&lt;domain name&gt;
 ServerAlias &lt;domain name&gt;

 &lt;Directory /home/&lt;username&gt;/public_html/&lt;domain name&gt;/&lt;django project name&gt;/apache/&gt;
 Order deny,allow
 Allow from all
 &lt;/Directory&gt;

 LogLevel warn
 ErrorLog  /home/&lt;username&gt;/public_html/&lt;domain name&gt;/logs/apache_error.log
 CustomLog /home/&lt;username&gt;/public_html/&lt;domain name&gt;/logs/apache_access.log combined

 WSGIDaemonProcess &lt;domain name&gt; user=www-data group=www-data threads=25
 WSGIProcessGroup &lt;domain name&gt;

 WSGIScriptAlias / /home/&lt;username&gt;/public_html/&lt;domain name&gt;/&lt;django project name&gt;/apache/&lt;django project name&gt;.wsgi
&lt;/VirtualHost&gt;</pre>
<p>Aktifkan konfigurasi tersebut dan restart Apache</p>
<pre>sudo a2ensite &lt;domain name&gt;
sudo /etc/init.d/apache2 reload</pre>
<p><strong>Reload WSGI Daemon Mode</strong></p>
<p>Konfigurasi di atas akan menjalankan mod_wsgi dalam moda Daemon, dengan demikian apabila anda melakukan perubahan script, silahkan di touch file .wsgi nya agar group proses wsgi akan direload ulang, dengan demikian anda tidak perlu mereload / restart Apache setiap terjadi perubahan script.</p>
<pre>sudo touch /home/&lt;username&gt;/public_html/&lt;domain name&gt;/&lt;django project name&gt;/apache/&lt;djangoproject&gt;.wsgi</pre>
<p><strong>Referensi</strong></p>
<ul>
<li><a  href="http://www.meppum.com/2009/jan/17/installing-django-ubuntu-intrepid/" target="_blank">http://www.meppum.com/2009/jan/17/installing-django-ubuntu-intrepid/</a></li>
<li><a  href="http://code.google.com/p/modwsgi/">http://code.google.com/p/modwsgi/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://artikel.magnet-id.com/aplikasi-linux/django-nginx-dan-apache-mod_wsgi-di-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install Django SVN dengan Apache mod Python dan MySQL pada CentOS 5.2</title>
		<link>http://artikel.magnet-id.com/aplikasi-linux/install-django-svn-dengan-apache-mod-python-dan-mysql-pada-centos-52/</link>
		<comments>http://artikel.magnet-id.com/aplikasi-linux/install-django-svn-dengan-apache-mod-python-dan-mysql-pada-centos-52/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 18:24:11 +0000</pubDate>
		<dc:creator>Magnet Hosting</dc:creator>
				<category><![CDATA[Aplikasi Linux]]></category>
		<category><![CDATA[Programming dan Framework]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Database Server]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Web Server]]></category>

		<guid isPermaLink="false">http://artikel.magnet-id.com/?p=650</guid>
		<description><![CDATA[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) Install Apache dan Python Module Yum package management akan secara otomatis melakukan instalasi Apache 2.2.3 melalui perintah dibawah ini; yum install [...]]]></description>
			<content:encoded><![CDATA[<p>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)</p>
<p><span id="more-650"></span><br />
<strong><br />
</strong></p>
<div id="attachment_651" class="wp-caption aligncenter" style="width: 278px"><a  href="http://artikel.magnet-id.com/wp-content/uploads/2008/11/mod_python.gif" class="thickbox no_icon" rel="gallery-650" title="mod_python"><img class="size-medium wp-image-651" title="mod_python" src="http://artikel.magnet-id.com/wp-content/uploads/2008/11/mod_python.gif" alt="Mod Python" width="268" height="164" /></a><p class="wp-caption-text">Mod Python</p></div>
<p><strong>Install Apache dan Python Module</strong></p>
<p>Yum package management akan secara otomatis melakukan instalasi Apache 2.2.3 melalui perintah dibawah ini;</p>
<pre class="brush: bash">yum install -y mod_python subversion wget</pre>
<p>Selain instalasi httpd dan mod_python, kita juga melakukan instalasi subversion untuk melakukan instalasi django.</p>
<p>Masukkan service httpd pada startup list; dan start service httpd;</p>
<pre class="brush: bash">chkconfig httpd on
service httpd start</pre>
<p>Pada CentOS 5.2, Python Module untuk apache akan dipanggil oleh file /etc/httpd/conf.d/python.conf</p>
<pre>#
# 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</pre>
<p><strong>Install Django SVN<br />
</strong></p>
<pre class="brush: bash">mkdir /opt/django
cd /opt/django/
svn co http://code.djangoproject.com/svn/django/trunk/</pre>
<p>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.</p>
<pre class="brush: bash">ln -s /opt/django/trunk/django /usr/lib/python2.4/site-packages</pre>
<p>Kemudian kita membuat symbolic link django-admin.py ke dalam system CentOS agar bisa dipanggil dari direktori mana saja.</p>
<pre class="brush: bash">ln -s /opt/django/trunk/django/bin/django-admin.py /usr/local/bin/django-admin.py</pre>
<p>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.</p>
<pre>python
&gt;&gt;&gt; import django</pre>
<p><strong>Instalasi Database Server MySQL dan Python Module 1.2.2</strong></p>
<p>Ikauti langkah-langkah instalasi database server MySQL dan Python Module 1.2.2 pada artikel <a  href="http://artikel.magnet-id.com/knowledge-base/vps-knowledge-base/menggunakan-mysqldb-untuk-aplikasi-django/">http://artikel.magnet-id.com/knowledge-base/vps-knowledge-base/menggunakan-mysqldb-untuk-aplikasi-django/</a> , 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.</p>
<p><strong>Membuat Direktori Template dan Aplikasi</strong></p>
<p>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;</p>
<p>Install sudo</p>
<pre class="brush: bash">yum install -y wget sudo</pre>
<p>Buat username dan berikan password</p>
<pre class="brush: bash">adduser username
passwd usename</pre>
<p>Berikan akses sudo kepada user terkait</p>
<pre class="brush: bash">visudo</pre>
<p>Tambahkan baris berikut;</p>
<pre>username ALL=(ALL) ALL</pre>
<p>Save dan exit visudo</p>
<pre class="brush: bash">:wq</pre>
<p>Su ke user tersebut dan pindah ke home direktori user;</p>
<pre class="brush: bash">su username
cd ~</pre>
<p>Ubah username dengan nama user yang anda buat, buat direktori djangoapps (untuk aplikasi dan project anda nantinya) dan djangowww untuk file media dan template.</p>
<pre class="brush: bash">mkdir djangoapps
mkdir djangowww
mkdir djangowww/template
mkdir djangowww/media</pre>
<p>Buat test project;</p>
<pre class="brush: bash">cd djangoapps/
django-admin.py startproject testapp
exit</pre>
<p>Ubah permission home direktori user agar dapat diakses oleh Apache kemudian dan tidak memunculkan Forbidden 403 Error;</p>
<pre class="brush: bash">cd /home/
chmod 711 username/</pre>
<p><strong></strong></p>
<p><strong>Membuat Egg Cache</strong></p>
<p>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/.</p>
<pre class="brush: bash">mkdir -p /var/cache/www/pythoneggs
chown apache /var/cache/www/pythoneggs</pre>
<p><strong>Konfigurasi Virtual Host Apache</strong></p>
<p>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.</p>
<p>Buat konfigurasi Virtual Host di file /etc/httpd/conf.d/vhosts.conf yang akan diload oleh Apache pada saat startup.</p>
<pre class="brush: bash">vi /etc/httpd/conf.d/vhosts.conf</pre>
<p>Masukkan baris berikut, bisa ditambahkan atau dikurangi kemudian sesuai dengan kebutuhan anda; Gantikan username, tesdomain.com dan testapp dengan konfigurasi anda.</p>
<pre>NameVirtualHost *:80
&lt;VirtualHost *:80&gt;
  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 #
  &lt;Location "/"&gt;
  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
&lt;/Location&gt;
# Static media: images, css, etc. #
&lt;Location "/media/"&gt;
  SetHandler None
&lt;/Location&gt;
&lt;/VirtualHost&gt;</pre>
<p>Save dan Exit; kemudian restart httpd;</p>
<pre class="brush: bash">:wq
service httpd restart</pre>
<p>Tes setup virtual host anda; Apabila konfigurasi virtual host apache dan django sudah dilakukan dengan benar maka akan muncul gambar seperti berikut;</p>
<div id="attachment_655" class="wp-caption aligncenter" style="width: 410px"><a  href="http://artikel.magnet-id.com/wp-content/uploads/2008/11/002-default-django.jpg" class="thickbox no_icon" rel="gallery-650" title="002-default-django"><img class="size-full wp-image-655" title="002-default-django" src="http://artikel.magnet-id.com/wp-content/uploads/2008/11/002-default-django.jpg" alt="Default Page Django" width="400" height="188" /></a><p class="wp-caption-text">Default Page Django</p></div>
<p>Aplikasi Django anda sudah siap untuk dikembangkan dengan menggunakan Apache Web Server.</p>
<p><strong>Referensi</strong></p>
<ul>
<li><a  href="http://docs.djangoproject.com/en/dev/topics/install/" target="_blank">http://docs.djangoproject.com/en/dev/topics/install/</a></li>
<li><a  href="http://fosswire.com/2008/05/19/installing-mod_python-and-django-on-apache/" target="_blank">http://fosswire.com/2008/05/19/installing-mod_python-and-django-on-apache/</a></li>
<li><a  href="http://artikel.magnet-id.com/knowledge-base/vps-knowledge-base/menggunakan-mysqldb-untuk-aplikasi-django/" target="_blank">http://artikel.magnet-id.com/knowledge-base/vps-knowledge-base/menggunakan-mysqldb-untuk-aplikasi-django/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://artikel.magnet-id.com/aplikasi-linux/install-django-svn-dengan-apache-mod-python-dan-mysql-pada-centos-52/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

