<?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; Ubuntu</title>
	<atom:link href="http://artikel.magnet-id.com/tag/ubuntu/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>Apache Mod_fcgid, MySQL dan PHP di Server Ubuntu 9.04 Jaunty</title>
		<link>http://artikel.magnet-id.com/aplikasi-linux/apache-mod_fcgid-mysql-dan-php-di-server-ubuntu-9-04-jaunty/</link>
		<comments>http://artikel.magnet-id.com/aplikasi-linux/apache-mod_fcgid-mysql-dan-php-di-server-ubuntu-9-04-jaunty/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 18:38:58 +0000</pubDate>
		<dc:creator>Magnet Hosting</dc:creator>
				<category><![CDATA[Aplikasi Linux]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Database Server]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web Server]]></category>

		<guid isPermaLink="false">http://artikel.magnet-id.com/?p=924</guid>
		<description><![CDATA[Mod Fcgid merupakan modul Apache yang melakukan spawning terhadap proses terisolasi mirip dan kompatibel dengan FastCGI yang muncul sebelumnya untuk memperbaiki kekurangan yang ada pada CGI. Mod Fcgid menjawab ketidakstabilan FastCGI, dan dapat memberikan ruang lebih pada RAM anda karena secara efektif memisahkan proses terhadap request dinamis dan request statis. Tulisan ini dibuat untuk memandu [...]]]></description>
			<content:encoded><![CDATA[<p>Mod Fcgid merupakan modul Apache yang melakukan spawning terhadap proses terisolasi mirip dan kompatibel dengan FastCGI yang muncul sebelumnya untuk memperbaiki kekurangan yang ada pada CGI. Mod Fcgid menjawab ketidakstabilan FastCGI, dan dapat memberikan ruang lebih pada RAM anda karena secara efektif memisahkan proses terhadap request dinamis dan request statis.</p>
<p><span id="more-924"></span></p>
<p>Tulisan ini dibuat untuk memandu anda mendeploy LAMP (Apache, MySQL, PHP) dengan konfigurasi di atas pada mesin Ubuntu 9.04 Jaunty Jackalope, mesin yang digunakan adalah VPS di Magnet Hosting.</p>
<p><strong>Universe</strong></p>
<p>Tambahkan universe pada sources.list anda;</p>
<pre class="brush: bash">sudo nano /etc/apt/sources.list</pre>
<p>Menjadi kurang lebih sebagai berikut (tergantung repo yang anda gunakan);</p>
<pre>deb http://ubuntu.indika.net.id jaunty main universe
deb http://security.ubuntu.com/ubuntu jaunty-security main universe</pre>
<p><strong>Update Paket</strong></p>
<pre class="brush: bash">sudo aptitude update
sudo aptitude upgrade</pre>
<p><strong>Instalasi Paket</strong></p>
<p>Instalasi beberapa paket dasar;</p>
<pre class="brush: bash">sudo aptitude install bzip2 gcc gzip iptables ispell libc6-dev libmcrypt4 libsasl2-2 libsasl2-modules  locales lsb-base make original-awk perl perl-base perl-modules tar wget</pre>
<p><strong>Instalasi MySQL Server</strong></p>
<pre class="brush: bash">sudo aptitude install mysql-client mysql-common mysql-server</pre>
<p>Setelah MySQL Server terinstall, username root tidak otomatis masuk ke dalam table user di database mysql, untuk memperbaiki hal tersebut silahkan start mysql dengan skip-grant-tables di my.cnf</p>
<pre class="brush: bash">sudo nano /etc/mysql/my.cnf</pre>
<p>Tambahkan baris berikut pada bagian [mysqld]</p>
<pre>skip-grant-tables</pre>
<p>Kemudian restart mysql</p>
<pre class="brush: bash">sudo /etc/init.d/mysql restart</pre>
<p>Masuk ke dalam mysql, pilih database mysql dan masukkan user root@localhost pada table user, gantikan newpassword dengan password root yang anda inginkan;</p>
<pre class="brush: bash">mysql
use mysql;
INSERT INTO user VALUES (&#039;localhost&#039;,&#039;root&#039;,password(&#039;newpassword&#039;), &#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;, &#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;, &#039;Y&#039;,&#039;Y&#039;,&#039;Y&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,&#039;&#039;,0,0,0,0);</pre>
<p><strong>Instalasi Apache dan Mod_fcgi</strong></p>
<p>Lakukan instalasi melalui aptitude,  sesuaikan dengan modul PHP yang anda butuhkan;</p>
<pre class="brush: bash">sudo aptitude install apache2-mpm-worker apache2 apache2.2-common apache2-suexec apache2-utils  libapache2-mod-fcgid php-pear php5 php5-cgi php5-gd php5-mcrypt php5-mhash php5-mysql php5-curl</pre>
<p><strong>Konfigurasi Apache</strong></p>
<pre class="brush: bash">sudo nano /etc/apache2/apache2.conf</pre>
<p>Modifikasi direktif berikut;</p>
<pre>Timeout 60
KeepAlive Off</pre>
<pre class="brush: bash">sudo nano /etc/apache2/conf.d/security</pre>
<pre>ServerTokens Prod
ServerSignature Off
TraceEnable Off</pre>
<p>Buat konfigurasi fcgid;</p>
<pre class="brush: bash">sudo nano /etc/apache2/conf.d/php-fcgid.conf</pre>
<p>Isikan keterangan berikut, bisa diadjust sesuai dengan kebutuhan;</p>
<pre>AddHandler fcgid-script .fcgi .php
# Where to look for the php.ini file?
DefaultInitEnv PHPRC        "/etc/php5/cgi"
# Maximum requests a process should handle before it is terminated
MaxRequestsPerProcess       1000
# Maximum number of PHP processes
MaxProcessCount             15
# Number of seconds of idle time before a php-cgi process is terminated
IPCCommTimeout              120
IdleTimeout                 120
#Or use this if you use the file above
FCGIWrapper /usr/bin/php-cgi .php</pre>
<p><strong>Virtual Host Apache</strong></p>
<p>Buat direktori yang dibutuhkan di home direktori user yang anda gunakan, sesuaikan semua parameter di dalam &lt; &gt; dengan keinginan anda;</p>
<pre>cd ~
mkdir &lt;www_dir&gt;</pre>
<p>Masukkan user anda ke dalam group www-data</p>
<pre class="brush: bash">sudo nano /etc/group</pre>
<pre>www-data:x:&lt;xx&gt;:&lt;username&gt;</pre>
<p>Berikan permission pada www_dir anda</p>
<pre>sudo chgrp www-data /home/&lt;username&gt;/&lt;www_dir&gt;</pre>
<p>Hapus virtual host default;</p>
<pre class="brush: bash">sudo a2dissite 000-default</pre>
<p>Persiapkan virtual host Apache untuk situs / domain anda;</p>
<pre>sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/&lt;domainanda.com&gt;</pre>
<p>Sesuaikan isi konfigurasi virtual host tersebut;</p>
<pre>sudo nano /etc/apache2/sites-available/&lt;domainanda.com&gt;</pre>
<pre>&lt;VirtualHost *:80&gt;
    ServerAdmin hostmaster@&lt;domainanda.com&gt;
    ServerName &lt;domainanda.com&gt;
    ServerAlias www.&lt;domainanda.com&gt;

    DocumentRoot /home/&lt;username&gt;/&lt;domainanda.com&gt;
    &lt;Directory /home/&lt;username&gt;/&lt;domainanda.com&gt;/&gt;
        Options Indexes FollowSymLinks MultiViews Includes ExecCGI
        AllowOverride All
        Order allow,deny
        allow from all
     &lt;/Directory&gt;

     ErrorLog /var/log/apache2/&lt;domainanda.com&gt;-error.log
     LogLevel warn
     CustomLog /var/log/apache2/&lt;domainanda.com&gt;-access.log combined
&lt;/VirtualHost&gt;</pre>
<p>Enable Virtual Host anda;</p>
<pre>sudo a2ensite &lt;domainanda.com&gt;</pre>
<p>Restart Apache</p>
<pre class="brush: bash">sudo /etc/init.d/apache2 restart</pre>
<p><strong>Referensi:</strong></p>
<ul>
<li><a  href="http://fastcgi.coremail.cn/" target="_blank">http://fastcgi.coremail.cn/</a></li>
<li><a  href="http://2bits.com/articles/apache-fcgid-acceptable-performance-and-better-resource-utilization.html" target="_blank">http://2bits.com/articles/apache-fcgid-acceptable-performance-and-better-resource-utilization.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://artikel.magnet-id.com/aplikasi-linux/apache-mod_fcgid-mysql-dan-php-di-server-ubuntu-9-04-jaunty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>Instalasi Mod Security2 Pada Ubuntu</title>
		<link>http://artikel.magnet-id.com/pengelolaan-linux/instalasi-mod-security2-pada-ubuntu/</link>
		<comments>http://artikel.magnet-id.com/pengelolaan-linux/instalasi-mod-security2-pada-ubuntu/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 19:35:04 +0000</pubDate>
		<dc:creator>Magnet Hosting</dc:creator>
				<category><![CDATA[Aplikasi Linux]]></category>
		<category><![CDATA[Pengelolaan Server Linux]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://artikel.magnet-id.com/?p=791</guid>
		<description><![CDATA[ModSecurity merupakan firewall untuk aplikasi web yang membuat lapisan pengamanan eksternal dalam upaya peningkatan pengamanan dan berguna untuk mencegah serta mendeteksi serangan sebelum mecapai aplikasi web. Artikel ini akan memberikan panduan untuk melakukan instalasi Mod Security 2 dengan melakukan kompilasi source di Operating System Ubuntu,  pada contoh kasus pada Ubuntu Hardy 8.04, namun hal yang [...]]]></description>
			<content:encoded><![CDATA[<p>ModSecurity merupakan firewall untuk aplikasi web yang membuat lapisan pengamanan eksternal dalam upaya peningkatan pengamanan dan berguna untuk mencegah serta mendeteksi serangan sebelum mecapai aplikasi web.</p>
<p><span id="more-791"></span>Artikel ini akan memberikan panduan untuk melakukan instalasi Mod Security 2 dengan melakukan kompilasi source di <em>Operating System</em> Ubuntu,  pada contoh kasus pada Ubuntu Hardy 8.04, namun hal yang sama dapat dilakukan pada Ubuntu Intrepid 8.10.</p>
<p><strong>Install Paket yang dibutuhkan</strong></p>
<pre class="brush: bash">sudo aptitude update
sudo aptitude install build-essential gcc g++ </pre>
<p><strong>Kompilasi dari Source</strong></p>
<pre class="brush: bash">mkdir  ~/src/
cd ~/src/
wget http://www.magnet-id.com/download/etc/modsec/modsecurity-apache_2.5.9.tar.gz</pre>
<p>Ekstrak file yang barusan kita download;</p>
<pre class="brush: bash">tar xzvf  modsecurity-apache_2.5.9.tar.gz
cd modsecurity-apache_2.5.9/apache2/
sudo ./configure
sudo make install</pre>
<p><strong>Panggil Modul di Apache 2</strong></p>
<p>Memasukkan module yang barusan kita install ke dalam daftar modul yang akan diload oleh apache;</p>
<pre class="brush: bash">sudo nano /etc/apache2/mods-available/mod-security2.load</pre>
<p>Masukkan teks berikut;</p>
<pre>LoadFile /usr/lib/libxml2.so
LoadFile /usr/lib/liblua5.1.so
LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so</pre>
<p>Enable module tersebut;</p>
<pre class="brush: bash">sudo a2enmod mod-security2
sudo a2enmod unique_id</pre>
<p>Masukkan file konfigurasi mod security ke dalam daftar file konfigurasi yang akan dipanggil oleh Apache 2;</p>
<pre class="brush: bash">sudo nano /etc/apache2/conf.d/modsecurity2.conf</pre>
<p>Masukkan teks berikut;</p>
<pre>&lt;ifmodule mod_security2.c&gt;
    Include /etc/modsecurity/*.conf
&lt;/ifmodule&gt;</pre>
<p>Artinya file konfigurasi yang kita inginkan akan kita letakkan di direktori /etc/modsecurity dengan ekstension .conf.</p>
<p><strong>File dan Direktori Log</strong></p>
<p>Buat terlebih dahulu direktori dan file yang akan kita butuhkan kemudian</p>
<pre class="brush: bash">sudo mkdir /etc/modsecurity
sudo mkdir /etc/modsecurity/logs
sudo touch /etc/modsecurity/logs/modsec_audit.log
sudo touch /etc/modsecurity/logs/modsec_debug.log</pre>
<p><strong>Konfigurasi Standar Mod Security</strong></p>
<p>File source yang didownload di awal termasuk set rules standar yang dapat langsung kita implementasikan;</p>
<pre class="brush: bash">cd ~/src/modsecurity-apache_2.5.9/
sudo cp -Rv rules/* /etc/modsecurity/</pre>
<p>Sesuaikan path modsec_audit.log dan modsec_debug.log pada file /etc/modsecurity/modsecurity_crs_10_config.conf</p>
<pre class="brush: bash">sudo nano /etc/modsecurity/modsecurity_crs_10_config.conf</pre>
<p>Ubah baris-baris berikut;</p>
<pre>SecAuditLog             logs/modsec_audit.log
SecDebugLog             logs/modsec_debug.log</pre>
<p>Menjadi</p>
<pre>SecAuditLog             /etc/modsecurity/logs/modsec_audit.log
SecDebugLog             /etc/modsecurity/logs/modsec_debug.log</pre>
<p><strong>Restart Apache</strong></p>
<pre class="brush: bash">sudo /etc/init.d/apache2 restart</pre>
<p>Pastikan bahwa Mod Security sudah terload;</p>
<pre class="brush: bash">sudo  cat /var/log/apache2/error.log | grep ModSecurity
[Wed Apr 08 02:29:03 2009] [notice] ModSecurity for Apache/2.5.9 (http://www.modsecurity.org/) configured.</pre>
<p>File log dapat anda lihat melalui /etc/modsecurity/logs/*.log</p>
<pre class="brush: bash">sudo tail -f /etc/modsecurity/logs/modsec_audit.log</pre>
]]></content:encoded>
			<wfw:commentRss>http://artikel.magnet-id.com/pengelolaan-linux/instalasi-mod-security2-pada-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalasi LAMP pada Ubuntu Linux</title>
		<link>http://artikel.magnet-id.com/aplikasi-linux/instalasi-lamp-pada-ubuntu-linux/</link>
		<comments>http://artikel.magnet-id.com/aplikasi-linux/instalasi-lamp-pada-ubuntu-linux/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 10:14:02 +0000</pubDate>
		<dc:creator>Magnet Hosting</dc:creator>
				<category><![CDATA[Aplikasi Linux]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Database Server]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web Server]]></category>

		<guid isPermaLink="false">http://artikel.magnet-id.com/?p=532</guid>
		<description><![CDATA[Artikel ini akan memberikan panduan langkah demi langkah bagi anda yang ingin melakukan instalasi LAMP (Apache , MySQL, dan PHP) pada VPS Magnet dengan Ubuntu OS Template.]]></description>
			<content:encoded><![CDATA[<p>Artikel ini akan memberikan panduan langkah demi langkah bagi anda yang ingin melakukan instalasi LAMP (<a  title="Apache Http Server" href="http://httpd.apache.org/" target="_blank">Apache</a> , <a  title="MySQL" href="http://www.mysql.com/" target="_blank">MySQL</a>, dan <a  title="PHP" href="http://www.php.net" target="_blank">PHP</a>) pada <a  title="Magnet VPS" href="http://www.magnet-id.com/vps/" target="_blank">VPS Magnet</a> dengan <a  title="Ubuntu" href="http://www.ubuntu.com/" target="_blank">Ubuntu</a> OS Template.</p>
<p><span id="more-532"></span>Berikut adalah service yang akan kita install pada mesin ubuntu anda;</p>
<ul>
<li>Apache Httpd Server 2.2.8</li>
<li>MySQL Database Server 5.0.51a</li>
<li>PHP 5.2.4-2ubuntu5.3 dengan Suhosin Patch 0.9.6.2</li>
<li>Proftpd FTP Server</li>
<li>Bind9 DNS Server</li>
</ul>
<p><strong>DNS Server</strong></p>
<p>Berikut kita akan melakukan instalasi bind9 yang berjalan dengan moda chrooted.</p>
<pre class="brush: bash">apt-get install bind9
/etc/init.d/bind9 stop
vi /etc/default/bind9</pre>
<p>Lakukan modifikasi pada file tersebut;</p>
<blockquote><p>OPTIONS=&#8221;-u bind -t /var/lib/named&#8221;<br />
# Set RESOLVCONF=no to not run resolvconf<br />
RESOLVCONF=yes</p></blockquote>
<p>Buat file dan folder yang dibutuhkan di /var/lib; Pindahkan file-file sesuai dengan direktori tersebut dan buat device null dan random serta berikan permission yang sesuai dengan keperluan kita;</p>
<pre class="brush: bash">mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run
mv /etc/bind /var/lib/named/etc
ln -s /var/lib/named/etc/bind /etc/bind
mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind</pre>
<p>Modifikasi /etc/default/syslogd,</p>
<pre class="brush: bash">vi /etc/default/syslogd</pre>
<blockquote><p>SYSLOGD=&#8221;-a /var/lib/named/dev/log&#8221;</p></blockquote>
<p>Dan restart syslog daemon, serta startup bind</p>
<pre class="brush: bash">/etc/init.d/sysklogd restart
/etc/init.d/bind9 start</pre>
<p><strong>MySQL Database Server</strong></p>
<p>Install MySQL, masukkan root passwor anda pada proses instalasi, edit file my.cnf dan berikan tanda pagar (comment) pada bind-address agar MySQL Server anda melayani request melalui IP Address public (bukan hanya localhost)</p>
<pre class="brush: bash">apt-get install mysql-server mysql-client libmysqlclient15-dev
vi /etc/mysql/my.cnf</pre>
<blockquote><p>[...]<br />
# Instead of skip-networking the default is now to listen only on<br />
# localhost which is more compatible and is not less secure.<br />
#bind-address           = 127.0.0.1<br />
[...]</p></blockquote>
<p>Restart MySQL dan pastikan bahwa MySQL Server sudah berjalan dengan menggunakan netstat;</p>
<pre class="brush: bash">/etc/init.d/mysql restart
netstat -tap | grep mysql</pre>
<p><strong>Apache / PHP 5 dan Ruby</strong></p>
<p>Install Apache; Kemudian install PHP5 dan Ruby sebagai modul Apache;</p>
<pre class="brush: bash">apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
apt-get install libapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl</pre>
<p>Kemudian lakukan modifikasi pada /etc/apache2/mods-available/dir.conf</p>
<pre class="brush: bash">vi /etc/apache2/mods-available/dir.conf</pre>
<blockquote><p>&lt;IfModule mod_dir.c&gt;</p>
<p>#DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm<br />
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml</p>
<p>&lt;/IfModule&gt;</p></blockquote>
<p>Kemudian enable beberapa modul Apache</p>
<pre class="brush: bash">a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include</pre>
<p>Reload Apache</p>
<pre class="brush: bash">/etc/init.d/apache2 force-reload</pre>
<p><strong>Proftpd FTP Server</strong></p>
<p>Install proftpd dan lakukan modifikasi pada /etc/proftpd/proftpd.conf, pilih standalone pada proses instalasi;</p>
<pre class="brush: bash">apt-get install proftpd ucf
vi /etc/proftpd/proftpd.conf</pre>
<p>Tambahkan direktif berikut;</p>
<blockquote><p>[...]<br />
DefaultRoot ~<br />
IdentLookups off<br />
ServerIdent on &#8220;FTP Server ready.&#8221;<br />
[...]</p></blockquote>
<p>Restart proftpd</p>
<pre class="brush: bash">/etc/init.d/proftpd restart</pre>
<p><strong>Referensi</strong></p>
<ul>
<li>Disadur dari <a  title="How to forge" href="http://howtoforge.com/perfect-server-ubuntu8.04-lts" target="_blank">http://howtoforge.com/perfect-server-ubuntu8.04-lts</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://artikel.magnet-id.com/aplikasi-linux/instalasi-lamp-pada-ubuntu-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

