<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Round Robin DNS Information and Services</title>
	
	<link>http://www.rrdns.com</link>
	<description />
	<lastBuildDate>Sun, 05 Jul 2009 13:06:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/RoundRobinDns" type="application/rss+xml" /><feedburner:emailServiceId>RoundRobinDns</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Clustered Mail Server Setup with @mail</title>
		<link>http://feedproxy.google.com/~r/RoundRobinDns/~3/gJVUjf7RWnI/clustered-mail-server-setup-with-atmail.html</link>
		<comments>http://www.rrdns.com/clustered-mail-server-setup-with-atmail.html#comments</comments>
		<pubDate>Sun, 05 Jul 2009 13:06:41 +0000</pubDate>
		<dc:creator>Webmaster</dc:creator>
				<category><![CDATA[How To's]]></category>
		<category><![CDATA[@mail]]></category>
		<category><![CDATA[atmail]]></category>
		<category><![CDATA[webmail cluster]]></category>

		<guid isPermaLink="false">http://www.rrdns.com/?p=135</guid>
		<description><![CDATA[We recently configured a clustered mail server setup and webmail for one of our clients using the @Mail Mail Server (http://www.atmail.com) . Using the multiserver configuration which @Mail supports, you can install more than one copy of @Mail on different machines to cluster the mail server and load the webmail interface from different machines.  The [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>We recently configured a clustered mail server setup and webmail for one of our clients using the @Mail Mail Server (<a title="http://www.atmail.com" href="http://www.atmail.com" target="_blank">http://www.atmail.com</a>) . Using the multiserver configuration which @Mail supports, you can install more than one copy of @Mail on different machines to cluster the mail server and load the webmail interface from different machines.  The software uses MySQL to store all the userdata and can be configured to use a central point for mail storage , it can support a multiserver configuration without any issues.</p>
<p>We won&#8217;t be going into much details on how exactly @Mail was installed as their own website provides very clear instructions about the installation in multiserver mode. You should make sure the NFS mount and all the required services  For more details on these you can visit <a title="this knowledge base article" href="http://atmail.com/wiki/doku.php?id=multiserver:multiserver" target="_blank">this knowlegde base article</a> from the @Mail site itself. We will be looking into the Round Robin DNS setup which would need to be done for this setup.</p>
<p>You can run Pop3/IMAP , SMTP and Webmail services from different servers when you run @Mail in multiserver mode.You would need edit the DNS records for your domain to be able to utilize the cluster setup on your domain. We normally use ISC Bind as the nameserver on our setups and we used the same for this setup. We will consider the hypothetical domain used for the setup as yourdomain.com throughout this article.</p>
<p>Our cluster had three nodes namely: node1.yourdomain.com (123.123.123.126), node2.yourdomain.com (123.123.123.127) and node3.yourdomain.com (123.123.123.128) . We installed @Mail on all of them as per the official multiserver installation instuctions and it shared the same MySQL db and used the central NFS storage area as well. The setup requires the MX records for the domain to be pointed to all the 3 nodes. The MX priority for each of these mail servers should be the same so that the mails are distributed properly to these nodes.</p>
<p>The DNS entries for the nodes would be as below in the zone file:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">node1         IN      A       123.123.123.126
node2         IN      A       123.123.123.127
node3         IN      A       123.123.123.128</pre></div></div>

<p>The MX record for the domain needs to point to each of the nodes as below. The priority would remain the same. It is set to 0 in this case.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yourdomain.com.           IN      MX      <span style="color: #000000;">0</span>       node1
yourdomain.com.           IN      MX      <span style="color: #000000;">0</span>       node2
yourdomain.com.           IN      MX      <span style="color: #000000;">0</span>       node3</pre></div></div>

<p>The above setup will set the incoming mails to be handled by any of the 3 nodes.</p>
<p>The remaining services would need to be load balanced to the different nodes in the same manner. This includes the Webmail and POP3/IMAP services. The setup in the DNS zone file would be as below. Using the round robin setup, if a node goes down in the cluster the request is automatically forwarded to the next node.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">mail  IN      A       123.123.123.126
mail  IN      A       123.123.123.127
mail  IN      A       123.123.123.128</pre></div></div>

<p>You would need the reload the DNS zone after making these changes or restart the service. You would need to verify the changes you made as below:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># dig yourdomain.com mx</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">;;</span> QUESTION SECTION:
;yourdomain.com.                    IN      MX
&nbsp;
<span style="color: #000000; font-weight: bold;">;;</span> ANSWER SECTION:
yourdomain.com.             <span style="color: #000000;">86400</span>   IN      MX      <span style="color: #000000;">0</span> node3.yourdomain.com.
yourdomain.com.             <span style="color: #000000;">86400</span>   IN      MX      <span style="color: #000000;">0</span> node1.yourdomain.com.
yourdomain.com.             <span style="color: #000000;">86400</span>   IN      MX      <span style="color: #000000;">0</span> node2.yourdomain.com.</pre></div></div>

<p>You can find below that mail.yourdomain.com resolves to 3 Ips as below.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># nslookup mail.yourdomain.com</span>
Server:         127.0.0.1
Address:        127.0.0.1<span style="color: #666666; font-style: italic;">#53</span>
&nbsp;
Name:   mail.yourdomain.com
Address: 123.123.123.126
Name:   mail.yourdomain.com
Address: 123.123.123.127
Name:   mail.yourdomain.com
Address: 123.123.123.128</pre></div></div>

<p>Using this method you can setup a load balanced mail cluster using @Mail. If you have additions to make, they are always welcome <img src='http://www.rrdns.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.rrdns.com/clustered-mail-server-setup-with-atmail.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rrdns.com/clustered-mail-server-setup-with-atmail.html</feedburner:origLink></item>
		<item>
		<title>New Control Panels Available</title>
		<link>http://feedproxy.google.com/~r/RoundRobinDns/~3/DqXLQsS5nfA/new-control-panels-available.html</link>
		<comments>http://www.rrdns.com/new-control-panels-available.html#comments</comments>
		<pubDate>Sat, 20 Sep 2008 18:27:41 +0000</pubDate>
		<dc:creator>Webmaster</dc:creator>
				<category><![CDATA[Services]]></category>
		<category><![CDATA[control panels]]></category>
		<category><![CDATA[cpanel]]></category>
		<category><![CDATA[directadmin]]></category>
		<category><![CDATA[helm]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[hsphere]]></category>
		<category><![CDATA[plesk]]></category>
		<category><![CDATA[whm]]></category>

		<guid isPermaLink="false">http://www.rrdns.com/?p=118</guid>
		<description><![CDATA[We have new control panels being rolled out as part of our updated services for the master nodes on the clusters we provide. We provide the following control panels on the clusters currently:

Cpanel/WHM (Linux &#38; Windows to be soon available)
Plesk 8.x (Windows and Linux)
Parallels Helm 4.0 (Windows)
ISPConfig (OpenSource Control panel &#8211; Linux)
Hsphere (Linux and Windows)
DirectAdmin [...]


Related posts:<ol><li><a href='http://www.rrdns.com/wide-choice-for-operating-systems.html' rel='bookmark' title='Permanent Link: Wide Choice for Operating Systems'>Wide Choice for Operating Systems</a> <small>As part of</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>We have new control panels being rolled out as part of our updated services for the master nodes on the clusters we provide. We provide the following control panels on the clusters currently:</p>
<ul>
<li>Cpanel/WHM (Linux &amp; Windows to be soon available)</li>
<li>Plesk 8.x (Windows and Linux)</li>
<li>Parallels Helm 4.0 (Windows)</li>
<li>ISPConfig (OpenSource Control panel &#8211; Linux)</li>
<li>Hsphere (Linux and Windows)</li>
<li>DirectAdmin (Linux)</li>
<li>Webmin (Linux)</li>
</ul>
<p>We have our own custom designed control panel for dedicated mail clusters as well as qmail based mail cluster solutions. For further information on this setup, please contact us via the Contact Form.</p>


<p>Related posts:<ol><li><a href='http://www.rrdns.com/wide-choice-for-operating-systems.html' rel='bookmark' title='Permanent Link: Wide Choice for Operating Systems'>Wide Choice for Operating Systems</a> <small>As part of</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.rrdns.com/new-control-panels-available.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rrdns.com/new-control-panels-available.html</feedburner:origLink></item>
		<item>
		<title>Wide Choice for Operating Systems</title>
		<link>http://feedproxy.google.com/~r/RoundRobinDns/~3/dR-D-oDBGMU/wide-choice-for-operating-systems.html</link>
		<comments>http://www.rrdns.com/wide-choice-for-operating-systems.html#comments</comments>
		<pubDate>Thu, 18 Sep 2008 08:39:14 +0000</pubDate>
		<dc:creator>Webmaster</dc:creator>
				<category><![CDATA[Services]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Windows 2003]]></category>
		<category><![CDATA[Windows 2008]]></category>

		<guid isPermaLink="false">http://www.rrdns.com/?p=116</guid>
		<description><![CDATA[As part of out updated services, we are now offering a wide choice on Operating Systems for the clusters we provide. The following are the OS options we offer at this time:
1. CentOS 4.x/5.x
2. RHEL 4.x/5.x
3. Fedore Core
4. Windows Server 2003
5. Windows Server 2008
6. FreeBSD 6.x
We will soon also be expanding our services to offer [...]


Related posts:<ol><li><a href='http://www.rrdns.com/new-control-panels-available.html' rel='bookmark' title='Permanent Link: New Control Panels Available'>New Control Panels Available</a> <small>We have ne</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p>As part of out updated services, we are now offering a wide choice on Operating Systems for the clusters we provide. The following are the OS options we offer at this time:</p>
<p>1. CentOS 4.x/5.x</p>
<p>2. RHEL 4.x/5.x</p>
<p>3. Fedore Core</p>
<p>4. Windows Server 2003</p>
<p>5. Windows Server 2008</p>
<p>6. FreeBSD 6.x</p>
<p>We will soon also be expanding our services to offer a wide choice on Control Panels for the servers on the cluster as well.</p>


<p>Related posts:<ol><li><a href='http://www.rrdns.com/new-control-panels-available.html' rel='bookmark' title='Permanent Link: New Control Panels Available'>New Control Panels Available</a> <small>We have ne</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.rrdns.com/wide-choice-for-operating-systems.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rrdns.com/wide-choice-for-operating-systems.html</feedburner:origLink></item>
		<item>
		<title>Cluster Setup for an Autosurf Website</title>
		<link>http://feedproxy.google.com/~r/RoundRobinDns/~3/ghwDNj77LFE/cluster-setup-for-an-autosurf-website.html</link>
		<comments>http://www.rrdns.com/cluster-setup-for-an-autosurf-website.html#comments</comments>
		<pubDate>Thu, 21 Aug 2008 09:24:42 +0000</pubDate>
		<dc:creator>Webmaster</dc:creator>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[autosurf website cluster]]></category>

		<guid isPermaLink="false">http://www.rrdns.com/?p=67</guid>
		<description><![CDATA[Over the years, mutual traffic exchange programs have been gaining popularity as a medium to promote websites. Most of these programs/websites use autosurf technogies to generate hits for their advitiser or member&#8217;s websites. Various HYIP and Paid traffic exchange programs using autosurf scripts as their base exist on the internet. The cluster setup we did [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Over the years, mutual traffic exchange programs have been gaining popularity as a medium to promote websites. Most of these programs/websites use autosurf technogies to generate hits for their advitiser or member&#8217;s websites. Various HYIP and Paid traffic exchange programs using autosurf scripts as their base exist on the internet. The cluster setup we did was for a site which was purely designed for mutual traffic exchange with no paid services. The member sites needed to add banners and ads from the parent website in lue of the traffic exchanged via the site.</p>

<a href="http://www.rrdns.com/wp-content/gallery/newpics/1480_420_280_crop_548af.jpg" title="" class="thickbox" rel="singlepic11" >
	<img class="ngg-singlepic" src="http://www.rrdns.com/wp-content/plugins/nextgen-gallery/nggshow.php?pid=11&amp;width=320&amp;height=240&amp;mode=" alt="1480_420_280_crop_548af.jpg" title="1480_420_280_crop_548af.jpg" />
</a>

<p>This site gained a huge membership base in just a few months and had traffic which could not be manged by a single dedicated server. The site involved an autosurf bar which checked for the banner/ads existence on the member site and rotated it amongst the members every few minutes. The amount of hits the member&#8217;s website would receive is dependent on the amount of sites he would surf via his own autosurf area.The cluster we setup had the structure as below:</p>

<a href="http://www.rrdns.com/wp-content/gallery/techpics/autosurf.jpg" title="" class="thickbox" rel="singlepic10" >
	<img class="ngg-singlepic ngg-center" src="http://www.rrdns.com/wp-content/plugins/nextgen-gallery/nggshow.php?pid=10&amp;width=320&amp;height=240&amp;mode=" alt="autosurf.jpg" title="autosurf.jpg" />
</a>

<p><em><strong>WebServer</strong><strong>s</strong></em>: The webservers were the most busy nodes of this cluster. Their site was all about generating http traffic and their members were on the site almost all the time. The autosurf structure made sure that no member was idle and so the http hits were continous and enormous in number. We had to use 3 webservers to be able to manage the amount of traffic this site was getting. Each of the webserver nodes was setup with <a href="http://www.rrdns.com/how-to-install-lighttpd-php-in-fastcgi-mode.html" target="_blank">Lighttpd + PHP as Fastcgi</a> for faster site performance and dynamic page generation.</p>
<p>The configuration for the webservers we used was:</p>
<ul>
<li>Intel Pentium Dual Xeon<a id="KonaLink1" class="kLink" style="text-decoration: underline ! important; position: static;" href="../services/three-node-startup-cluster#" target="_top"></a> 2.8 Processor</li>
<li>2GB DDR2 RAM / 160GB SATA HDD Drive</li>
<li>CentOS 4.6</li>
<li>1000Mbps Uplink</li>
<li>Private LAN  Connections to other Nodes on the Cluster</li>
</ul>
<p><em><strong>Master Mysql Server</strong></em>: All the three webservers connected internally via private switch to the master Mysql server. All the site&#8217;s membership data and hits stats were being stored in the database and database traffic was huge as well as each hit was being logged into mysql. The client needed managed mysql backups and redundancy and so mysql replication was used for the cluster. Due to the amount of mysql activity on the master mysql server, generation of backups from this node was almost impossible. We used replication to sync the db data on the slave server and used the slave server for generating mysql backups. The configuration we used for the Mysql Server is as below:</p>
<ul>
<li>Intel Pentium Quad Core Q6600 Processor</li>
<li>8GB DDR2 RAM/ 1&#215;300GB SCSI 10k RPM Drive</li>
<li>CentOS 4.6</li>
<li>100Mbps Uplink</li>
<li>Private LAN  Connections to other Nodes on the Cluster</li>
</ul>
<p>The slave Mysql server also acts as the mail server for the setup. The mailing activity for the site is moderate and so only one mail server is being used.</p>
<ul>
<li>Intel Pentium Quad Core Q6600 Processor</li>
<li>4GB DDR2 RAM/ 1&#215;300GB SCSI 10k RPM Drive</li>
<li>CentOS 4.6</li>
<li>100Mbps Uplink</li>
<li>Private LAN  Connections to other Nodes on the Cluster</li>
</ul>
<p>This setup distributes the traffic for the site to the three nodes using round robin DNS which is managed by the TTL. Comments are welcome as always.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.rrdns.com/cluster-setup-for-an-autosurf-website.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rrdns.com/cluster-setup-for-an-autosurf-website.html</feedburner:origLink></item>
		<item>
		<title>Corporate Clustered Mail Server Setup</title>
		<link>http://feedproxy.google.com/~r/RoundRobinDns/~3/y0oMl_9xhSs/corporate-clustered-mail-server-setup.html</link>
		<comments>http://www.rrdns.com/corporate-clustered-mail-server-setup.html#comments</comments>
		<pubDate>Wed, 13 Aug 2008 11:45:48 +0000</pubDate>
		<dc:creator>Webmaster</dc:creator>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[clustered mail servers]]></category>
		<category><![CDATA[corporate mail servers]]></category>
		<category><![CDATA[failover mail server]]></category>

		<guid isPermaLink="false">http://www.rrdns.com/?p=38</guid>
		<description><![CDATA[Organizations with huge staff or even medium sized organizations with heavy mailing activity usually use a clustered setup for handling their mails. Proper internal and client Communication is the core need for any such company and so mail server uptime is of utmost importance for them. I am going to present a case study of [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Organizations with huge staff or even medium sized organizations with heavy mailing activity usually use a clustered setup for handling their mails. Proper internal and client <em><strong>Communication</strong></em> is the core need for any such company and so mail server uptime is of utmost importance for them. I am going to present a case study of the architecture of an actual mail server cluster setup we designed for one of our clients.</p>
<p><strong>Environment</strong>:</p>
<ul>
<li>The organization is a medium enterprise with work area related to Engineering drawing and CAD designing.</li>
<li>The employee strength is around 250.</li>
<li>Their mailing activity is heavy as the huge design files are being passed along internally within the organization and even to their end clients mostly using mails and heavy attachments.</li>
<li>The staff is located in two different countries with almost the same strength at each office.</li>
</ul>
<p><strong>Our Task and Resources</strong>:</p>
<p>Our primary task to build a robust and fail over enabled cluster for their mailing activity. The volume of mails being sent via this cluster was substantial due to the fact that mails were the most important aspect of their daily chores. We were approved to use a six node cluster for their mails. Even though this was a corporate setup, we had to use open source softwares as the client wanted to keep it cost effective.  We used a qmail, vpopmail etc for their cluster preventing the use of any paid softwares.</p>

<a href="http://www.rrdns.com/wp-content/gallery/newpics/hosting.jpg" title="" class="thickbox" rel="singlepic30" >
	<img class="ngg-singlepic ngg-center" src="http://www.rrdns.com/wp-content/plugins/nextgen-gallery/nggshow.php?pid=30&amp;width=320&amp;height=240&amp;mode=" alt="hosting.jpg" title="hosting.jpg" />
</a>

<p><strong>The Setup</strong>:</p>
<p>As we were allowed to use six nodes for the cluster, we decided to use two nodes for outbound mails ,two nodes for inbound mails and one node for a pop3/imap connector and one as a mail gateway.</p>
<p>The hardware configurations for all these nodes was as below:</p>
<ul>
<li>Intel Pentium Dual Xeon 2.8Ghz</li>
<li>2GB DDR2 RAM, 2&#215;500GB SATA Drives</li>
<li>Fedora Linux Base OS, 100Mbps Uplink on each node</li>
</ul>
<p>The setup flow was as below:</p>

<a href="http://www.rrdns.com/wp-content/gallery/techpics/mail_cluster.jpg" title="" class="thickbox" rel="singlepic9" >
	<img class="ngg-singlepic" src="http://www.rrdns.com/wp-content/plugins/nextgen-gallery/nggshow.php?pid=9&amp;width=320&amp;height=240&amp;mode=" alt="mail_cluster.jpg" title="mail_cluster.jpg" />
</a>

<p><strong>The Actual Functionality</strong>:</p>
<p>As you can see above, the domain was setup to use seperate nodes to send and receive the mails. A brief explanation of how it all worked together and each node&#8217;s function is below:</p>
<p><em>MX Records</em>: The domain had two MX records. One was the primary MX which accepted the mails for the domain and prepared them to be fetched by the pop3 connector. The second backup MX record&#8217;s node was a failover to the primary MX and stored the inbound mails while the primary MX was down.</p>
<p><em>SMTP Servers</em>: The company had a very high volume of outbound mails and so two smtp servers needed to be used. As they had two offices, each of them got a dedicated SMTP server to use.</p>
<p><em>Mail Gateway</em>: Both the SMTP servers were connected to a single Qmail based mail gateway. The mail gateway provided functions like archiving mails to monitor employee activity, filtering content and proper monitoring of the outbound mail stats for the entire company.</p>
<p><em>Pop3 connector</em>: The pop3 connector retrieved and redistributed the mails received by the primary MX server for the domain to the user mailboxes which were made available via webmail or regular POP3 as well as IMAP based mail clients to the employees.</p>
<p>This particular mail setup did not require use of round robin DNS as failover functionality was more important than distribution of traffic. This type of setup also gives us the scope of expansion if there is a surge in the mail activity for the client. Another SMTP server for outbound mails or another node to act as the primary mail server can always be added due to the architecture used. I hope you find this case study useful for deploying mail server clusters. Comments are always welcome <img src='http://www.rrdns.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.rrdns.com/corporate-clustered-mail-server-setup.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rrdns.com/corporate-clustered-mail-server-setup.html</feedburner:origLink></item>
		<item>
		<title>GeoLocation – Explained</title>
		<link>http://feedproxy.google.com/~r/RoundRobinDns/~3/SExjWYgj9vY/geolocation-explained.html</link>
		<comments>http://www.rrdns.com/geolocation-explained.html#comments</comments>
		<pubDate>Sun, 10 Aug 2008 18:50:06 +0000</pubDate>
		<dc:creator>Webmaster</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[tracking]]></category>

		<guid isPermaLink="false">http://www.rrdns.com/?p=27</guid>
		<description><![CDATA[Geolocation refers to the method of identifying the actual Geographical location of a Computer on the internet or a visitor on your site or even the a mobile device. With reference to Hosting Clusters, we mostly trace the geographical location of the website visitors. There can be various procedures used to track down the geographical [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p><em><strong>Geolocation</strong></em> refers to the method of identifying the actual Geographical location of a Computer on the internet or a visitor on your site or even the a mobile device. With reference to Hosting Clusters, we mostly trace the geographical location of the website visitors. There can be various procedures used to track down the geographical location of the visitors some of which are:</p>
<p><strong>Internet Protocol Address (IP Address) Lookup:</strong></p>
<p>This is the most common procedure we use on our setups. The visitors are traced on the basis of the whois lookups done to their current IP address. These lookups are automated, real-time and are implemented using special server side modules or even third party lookup services. These lookups can provide the most accurate locations of the visitors as these IP whois databases can always have updates.<br />
<strong></strong></p>
<p><strong>Media Access Control Address (MAC Address):</strong></p>
<p>Media Access Control or MAC addresses is an Unique Identifier assigned to most network adapters or Ethernet Cards by their Manufacturer. It contains a combination of the manufacturer&#8217;s unique <em><strong>Identification </strong></em>number<em><strong> </strong></em>and some other codes to generate an unique MAC address for the physical device. The location of this device can be traced based on the Sales data for the manufacturer or some other similar methods.</p>
<p><strong>Radio Frequency Identification (RFID)</strong>:</p>
<p>Radio Frequency Identification or RFID uses Radio waves to transmit data with the help of devices like <em>Transponders</em>. RFID does not have much applications on internet related geolocation but it has wide uses in corporate and enterprise supply chain management systems for inventory tracking and other applications.</p>
<p><strong>Global Positioning System (GPS)</strong>:</p>
<p>Global Positioning System or GPS uses different Artificial Satellites to interpret the microwave signals obtained from certain GPS enabled mobile devices to calculate the exact geographical location of the device. The device receives this interpreted data which it can use to locate itself and obtain navigation instructions for a particular destination from its current location.</p>
<p>The IP whois lookup method is the most commonly used method for clusters. We will study the exact implementation of this technique in the actual case studies we will be releasing soon.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.rrdns.com/geolocation-explained.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rrdns.com/geolocation-explained.html</feedburner:origLink></item>
		<item>
		<title>Site Design Tips for Websites which use RRDNS</title>
		<link>http://feedproxy.google.com/~r/RoundRobinDns/~3/QV4WMuQW19g/site-design-tips-for-websites-which-use-rrdns.html</link>
		<comments>http://www.rrdns.com/site-design-tips-for-websites-which-use-rrdns.html#comments</comments>
		<pubDate>Fri, 11 Jul 2008 12:21:39 +0000</pubDate>
		<dc:creator>Webmaster</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[website design tips]]></category>

		<guid isPermaLink="false">http://www.rrdns.com/?p=19</guid>
		<description><![CDATA[Websites which need to be hosted on a Round Robin Environment are usually high traffic websites. It is very important for them to maintain functionality as well as a good site speed to be able retain their traffic . Site design can play a very important part to maximise the performance of a clustered hosting [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Websites which need to be hosted on a Round Robin Environment are usually high traffic websites. It is very important for them to maintain functionality as well as a good site speed to be able retain their traffic . Site design can play a very important part to maximise the performance of a clustered hosting environment for such sites.</p>

<a href="http://www.rrdns.com/wp-content/gallery/newpics/Server.jpg" title="" class="thickbox" rel="singlepic25" >
	<img class="ngg-singlepic ngg-center" src="http://www.rrdns.com/wp-content/plugins/nextgen-gallery/nggshow.php?pid=25&amp;width=320&amp;height=240&amp;mode=" alt="Server.jpg" title="Server.jpg" />
</a>

<p>Although the design changes or tweaks depend on the type of site you have or are building but we will just try and touch base to some of the major points that can be taken into consideration during the site design phase for hosting it on a cluster. We will be adding some case studies later on our site for particular types of sites we have hosted and their design changes we implemented for optimal performance. The general tweaks would be as below :</p>
<p>1. Distribution of static and Dynamic Content</p>
<p>The site design can be done in such a way that there is scope to distribute static and dynamic content to different servers. Use of subdomain paths on the is a method which is helpful to achieve such distribution.</p>
<p>2. Prevention of Excessive Remote Includes</p>
<p>URL includes from the site to its own URLs causes and increase in the http traffic. This needs to be avoided as far as possible so that http does not have heavy traffic from the server itself.</p>
<p>3. Mysql Based Session Management</p>
<p>Websites which require sessions need to use mysql based sessions in order to maintain proper sessions on the site. The session mechanism can use a different mysql server if needed as well.</p>
<p>We will elaborate more on each of these points with examples in the case studies we will be posting.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.rrdns.com/site-design-tips-for-websites-which-use-rrdns.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rrdns.com/site-design-tips-for-websites-which-use-rrdns.html</feedburner:origLink></item>
		<item>
		<title>Round Robin DNS Setup :: A Howto</title>
		<link>http://feedproxy.google.com/~r/RoundRobinDns/~3/xAjOVlryvUU/round-robin-dns-setup-a-howto.html</link>
		<comments>http://www.rrdns.com/round-robin-dns-setup-a-howto.html#comments</comments>
		<pubDate>Thu, 29 May 2008 10:38:05 +0000</pubDate>
		<dc:creator>Webmaster</dc:creator>
				<category><![CDATA[How To's]]></category>
		<category><![CDATA[DNS Setup]]></category>

		<guid isPermaLink="false">http://www.rrdns.com/?p=17</guid>
		<description><![CDATA[Round Robin DNS is a technique involving changes to the DNS records  The TTL or the Time to Live plays a very important part for Round Robin DNS to work. We will see some practical examples of DNS being using in Round Robin mode below:
1. If you need a site&#8217;s http traffic to be [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p>Round Robin DNS is a technique involving changes to the DNS records  The TTL or the Time to Live plays a very important part for Round Robin DNS to work. We will see some practical examples of DNS being using in Round Robin mode below:</p>
<p>1. If you need a site&#8217;s http traffic to be distributed to multiple servers, you need to set the A records in the DNS zone for the domain as below :</p>
<p><code lang="apache">domain.com.   300   IN      A       123.123.123.123<br />
domain.com.   300   IN      A       123.123.124.124<br />
domain.com.   300   IN      A       111.112.113.114</code></p>

<a href="http://www.rrdns.com/wp-content/gallery/nice_pics/arecords.jpg" title="" class="thickbox" rel="singlepic6" >
	<img class="ngg-singlepic" src="http://www.rrdns.com/wp-content/plugins/nextgen-gallery/nggshow.php?pid=6&amp;width=320&amp;height=240&amp;mode=" alt="arecords.jpg" title="arecords.jpg" />
</a>

<p>2. If you need a site&#8217;s mail traffic to be distributed to multiple servers, you should point the domain&#8217;s MX record to mail.domain.com and then you need to set the A records in the DNS zone for the mail record as below :</p>
<p><code lang="apache"><br />
domain.com    3600   IN      MX      0       mail.domain.com.<br />
domain.com.   300   IN      A       123.123.123.123<br />
domain.com.   300   IN      A       123.123.124.124<br />
domain.com.   300   IN      A       111.112.113.114</code></p>
<p>In the above examples you will see that the TTL for the A record has been set to 300 seconds. This is lower than normal and so the traffic will be rotated in Round Robin Mode.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.rrdns.com/round-robin-dns-setup-a-howto.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rrdns.com/round-robin-dns-setup-a-howto.html</feedburner:origLink></item>
		<item>
		<title>Technical Terms</title>
		<link>http://feedproxy.google.com/~r/RoundRobinDns/~3/FOuLPaZDMC0/technical-terms.html</link>
		<comments>http://www.rrdns.com/technical-terms.html#comments</comments>
		<pubDate>Thu, 15 May 2008 08:36:52 +0000</pubDate>
		<dc:creator>Webmaster</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[technical terms]]></category>

		<guid isPermaLink="false">http://www.rrdns.com/?p=12</guid>
		<description><![CDATA[We will be using a lot of technical terms on this site both in our tutorials and in the normal content as well. So we thought of adding a post explaining all these terms in brief. Following are some of the internet definitions of the terms we will be using.
DNS: DNS is the short name [...]


Related posts:<ol><li><a href='http://www.rrdns.com/geolocation-explained.html' rel='bookmark' title='Permanent Link: GeoLocation &#8211; Explained'>GeoLocation &#8211; Explained</a> <small>Geolocatio</small></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">We will be using a lot of technical terms on this site both in our tutorials and in the normal content as well. So we thought of adding a post explaining all these terms in brief. Following are some of the internet definitions of the terms we will be using.</p>
<p style="text-align: justify;"><strong>DNS</strong>: DNS is the short name used for Domain Name System (or Service or Server). This is an Internet service which translates domain names into IP addresses.</p>
<p style="text-align: justify;"><strong>FQDN</strong>: Fully Qualified Domain Name. This is the fully resolvable  DNS name for any  server  on a network.</p>
<p style="text-align: justify;"><strong>Network</strong>: A group of computers or devices connected to each other is called a network.</p>
<p style="text-align: justify;"><strong>Server</strong>: A server is a computer or device on a network which manages network resources. Like file server just stores files which a web server handles web requests.</p>
<p style="text-align: justify;"><strong>Node</strong>: A node is a server or device on a complex network which is commissioned to a specific job on the network.</p>
<p style="text-align: justify;"><strong>Load Balancing</strong>: Distribution of network traffic evenly across multiple nodes on a network is<br />
called as load balancing.</p>
<p style="text-align: justify;"><strong>Fault Tolerance</strong>: A systems ability to react and implement auto corrective measures when a fault it detected on one of its components is called as fault tolerance.</p>
<p style="text-align: justify;"><strong>Server Clusters</strong>: Connecting two or more servers/nodes together to perform a single task form clusters. Clusters are used for Load Balancing</p>


<p>Related posts:<ol><li><a href='http://www.rrdns.com/geolocation-explained.html' rel='bookmark' title='Permanent Link: GeoLocation &#8211; Explained'>GeoLocation &#8211; Explained</a> <small>Geolocatio</small></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.rrdns.com/technical-terms.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rrdns.com/technical-terms.html</feedburner:origLink></item>
		<item>
		<title>How to Install Lighttpd + PHP in Fastcgi Mode</title>
		<link>http://feedproxy.google.com/~r/RoundRobinDns/~3/W3vj7iA1ZGo/how-to-install-lighttpd-php-in-fastcgi-mode.html</link>
		<comments>http://www.rrdns.com/how-to-install-lighttpd-php-in-fastcgi-mode.html#comments</comments>
		<pubDate>Sat, 10 May 2008 08:17:10 +0000</pubDate>
		<dc:creator>Webmaster</dc:creator>
				<category><![CDATA[How To's]]></category>
		<category><![CDATA[lighttpd php fastcgi]]></category>

		<guid isPermaLink="false">http://www.rrdns.com/?p=5</guid>
		<description><![CDATA[Lighttpd (http://www.lighttpd.net) is a webserver daemon which we widely use for cluster deployment. Lighttpd has a smaller memory footprint as compared to Apache(http://httpd.apache.org) which is widely used on most production servers all over the world. The efficient CPU management features and fast speed from Lighttpd make it a preferred choice for high traffic sites and [...]


No related posts.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><strong>Li</strong></em><em><strong>ghttpd</strong></em> (<a href="http://www.lighttpd.net">http://www.lighttpd.net</a>) is a webserver daemon which we widely use for cluster deployment<strong>. </strong>Lighttpd has a smaller memory footprint as compared to <em><strong>Apache</strong></em>(<a href="http://httpd.apache.org">http://httpd.apache.org</a>) which is widely used on most production servers all over the world. The <em>efficient</em> CPU management features and fast speed from Lighttpd make it a preferred choice for high traffic sites and clusters. We prefer using it as well for our clusters along with php running in FastCGI mode. This combination provides an awesome fast environment for dynamic delivery of PHP based content. The following how to shows instructions on installing Lighttpd+PHP in FastCGI mode.</p>
<p style="text-align: center;"><img class="size-full wp-image-7 aligncenter" style="vertical-align: middle;" title="light_button" src="http://www.rrdns.com/wp-content/uploads/2008/05/light_button.png" alt="" width="80" height="27" /></p>
<p style="text-align: center;"><img class="size-full wp-image-8 aligncenter" style="vertical-align: middle;" title="php-power-micro2" src="http://www.rrdns.com/wp-content/uploads/2008/05/php-power-micro2.png" alt="" width="80" height="15" /></p>
<p style="text-align: justify;">We have to check for some prerequisites here before doing this installation. I will list them out as below :</p>
<ul>
<li style="text-align: justify;">MySQL Server Installation</li>
<li style="text-align: justify;">Openssl Installed</li>
<li style="text-align: justify;">Pcre and Pcre-devel packages installed</li>
</ul>
<p style="text-align: justify;">These are just basic requirements and if you need some other special modules installed these may change as well. I am assuming the OS for the server would be CentOS 5.x in this how to but I do believe this how to should work for Fedora, CentOS or RHEL as well. You can use &#8220;<em><strong>yum</strong></em>&#8221; to install the above requirments or use &#8220;<em><strong>up2date</strong></em>&#8221; on RHEL . Lets assume that the prerequisites are already satisfied and we will proceed with the actual installation.  We will make a temporary directory for the installation so that we can remove this directory once the installation is successful.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>lighttpd_install</pre></div></div>

<p style="text-align: justify;">We will download the latest lighttpd source file from their site and uncompress it.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>lighttpd_install
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.lighttpd.net<span style="color: #000000; font-weight: bold;">/</span>download<span style="color: #000000; font-weight: bold;">/</span>lighttpd-1.4.19.tar.gz
<span style="color: #c20cb9; font-weight: bold;">tar</span> xzf lighttpd-1.4.19.tar.gz
<span style="color: #7a0874; font-weight: bold;">cd</span> lighttpd-1.4.19
.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--prefix</span>=<span style="color: #000000; font-weight: bold;">/</span>usr
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<p>Once Lighttpd is installed we need to copy the init.d script for Lighttpd and also the spawn-php.sh script to /etc/init.d/ . This spawn-php.sh will be used to spawn php-fcgi processes later after we build PHP.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #660033;">-av</span> doc<span style="color: #000000; font-weight: bold;">/</span>rc.lighttpd.redhat <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>lighttpd
<span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #660033;">-av</span> doc<span style="color: #000000; font-weight: bold;">/</span>spawn-php.sh <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>spawn-php.sh</pre></div></div>

<p>Now we need to build fastcgi on the server.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.fastcgi.com<span style="color: #000000; font-weight: bold;">/</span>dist<span style="color: #000000; font-weight: bold;">/</span>fcgi-2.4.0.tar.gz
<span style="color: #c20cb9; font-weight: bold;">tar</span> xvf fcgi-2.4.0.tar.gz
<span style="color: #7a0874; font-weight: bold;">cd</span> fcgi-2.4.0
.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--prefix</span>=<span style="color: #000000; font-weight: bold;">/</span>usr
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<p style="text-align: justify;">Php needs to be built after this step. You can either use php4 or php5 as per your requirement. You need to download the php source from the <em><strong>PHP</strong></em> <em><strong>site</strong></em> (http://www.php.net) into the /usr/src/lighttpd_install before proceeding to the next step. We will be using PHP5 in this case and the php version used for the tutorial is php 5.2.6 . Once you have downloaded the source the steps would be as below:  If you have an existing and working php installation on the server, you can use the same configure options for building php again. The following code snippet should get you the existing config line without the options we need for the build</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">php <span style="color: #660033;">-i</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> config <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> s<span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;'&quot;</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">/</span>g <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> s<span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;&amp;lt;.*&amp;gt; &quot;</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">/</span>g <span style="color: #000000; font-weight: bold;">|</span>\
<span style="color: #c20cb9; font-weight: bold;">sed</span> s<span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;&amp;lt;\/.*&amp;gt;&quot;</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">/</span>g <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> s<span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;.* =&amp;gt;  &quot;</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">/</span>g <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> s<span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;'&quot;</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">/</span>g <span style="color: #000000; font-weight: bold;">|</span>\
<span style="color: #c20cb9; font-weight: bold;">sed</span> s<span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;--with-apxs=.*apxs &quot;</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">/</span>g <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> s<span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;.\/configure &quot;</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">/</span>g <span style="color: #000000; font-weight: bold;">|</span>\
<span style="color: #c20cb9; font-weight: bold;">sed</span> s<span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;--prefix=\/usr\/local &quot;</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">/</span>g <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> s<span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;--with-apxs2=.*apxs &quot;</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">/</span>g <span style="color: #000000; font-weight: bold;">|</span>\
<span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-v</span> ^tidy</pre></div></div>

<p>Use this output from the above command along with the options below as your configure line to build php as fastcgi</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #660033;">--prefix</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>php5-fcgi --enable-force-cgi-redirect\
<span style="color: #660033;">--enable-fastcgi</span> <span style="color: #660033;">--enable-discard-path</span></pre></div></div>

<p>If you do not have an existing php installation, just build php with whatever options you need and add the &#8211;enable-fastcgi options as above.  The procedure would be as below:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>lighttpd_install
<span style="color: #c20cb9; font-weight: bold;">tar</span> zxf php-5.2.6.tar.gz
.<span style="color: #000000; font-weight: bold;">/</span>configure ---<span style="color: #7a0874; font-weight: bold;">&#40;</span>add options you need to add or use\
 the config line generated from above<span style="color: #7a0874; font-weight: bold;">&#41;</span>\--prefix=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>php5-fcgi\
<span style="color: #660033;">--enable-force-cgi-redirect</span> <span style="color: #660033;">--enable-fastcgi</span> <span style="color: #660033;">--enable-discard-path</span>
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<p>If the installation is successfull you should should see php built with cgi-fcgi mode as below. Please node the php binary name could also be php-cgi.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>server ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># /usr/local/php5-fcgi/bin/php -v</span>
PHP 5.2.6 <span style="color: #7a0874; font-weight: bold;">&#40;</span>cgi-fcgi<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>built: May  <span style="color: #000000;">8</span> <span style="color: #000000;">2008</span> 02:<span style="color: #000000;">38</span>:<span style="color: #000000;">11</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>c<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">1997</span>-<span style="color: #000000;">2008</span> The PHP Group
Zend Engine v2.2.0, Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>c<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">1998</span>-<span style="color: #000000;">2008</span> Zend Technologies
    with eAccelerator v0.9.5.2, Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>c<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">2004</span>-<span style="color: #000000;">2006</span> eAccelerator, by eAccelerator
    with the ionCube PHP Loader v3.1.32, Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>c<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">2002</span>-<span style="color: #000000;">2007</span>, by ionCube Ltd., and
    with Zend Extension Manager v1.2.2, Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>c<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">2003</span>-<span style="color: #000000;">2007</span>, by Zend Technologies
    with Zend Optimizer v3.3.3, Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>c<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">1998</span>-<span style="color: #000000;">2007</span>, by Zend Technologies</pre></div></div>

<p style="text-align: justify;">After successfully building Lighttpd and PHP in Fastcgi mode, its times to now configure them to work together. In this tutorial we are considering a single site environment and so we will set the configuration files accordingly. We will be adding some more how to&#8217;s soon which will show the configurations that need to be done for multi site environments or even complex setups like load balancing using Apache and Lighttpd together.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>lighttpd
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>lighttpd_install<span style="color: #000000; font-weight: bold;">/</span>lighttpd-1.4.19
<span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #660033;">-v</span> doc<span style="color: #000000; font-weight: bold;">/</span>lighttpd.conf <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>lighttpd<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">vi</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>lighttpd<span style="color: #000000; font-weight: bold;">/</span>lighttpd.conf</pre></div></div>

<p>We need to make sure the following modules are now enabled in the lighttpd.conf . They just need to be uncommented.</p>
<ul>
<li>mod_rewrite</li>
<li>mod_redirect</li>
<li>mod_alias</li>
<li>mod_access</li>
<li>mod_cml</li>
<li>mod_auth</li>
<li>mod_status</li>
<li>mod_setenv</li>
<li>mod_fastcgi</li>
<li>mod_simple_vhost</li>
<li>mod_cgi</li>
<li>mod_ssi</li>
<li>mod_accesslog</li>
</ul>
<p>Your server modules section of lighttpd.conf should look as below after the change :</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">server.modules              = <span style="color: #7a0874; font-weight: bold;">&#40;</span>
                               <span style="color: #ff0000;">&quot;mod_rewrite&quot;</span>,
                               <span style="color: #ff0000;">&quot;mod_redirect&quot;</span>,
                               <span style="color: #ff0000;">&quot;mod_alias&quot;</span>,
                               <span style="color: #ff0000;">&quot;mod_access&quot;</span>,
                               <span style="color: #ff0000;">&quot;mod_cml&quot;</span>,
                               <span style="color: #ff0000;">&quot;mod_auth&quot;</span>,
                               <span style="color: #ff0000;">&quot;mod_status&quot;</span>,
                               <span style="color: #ff0000;">&quot;mod_setenv&quot;</span>,
                               <span style="color: #ff0000;">&quot;mod_fastcgi&quot;</span>,
                               <span style="color: #ff0000;">&quot;mod_simple_vhost&quot;</span>,
                               <span style="color: #ff0000;">&quot;mod_cgi&quot;</span>,
                               <span style="color: #ff0000;">&quot;mod_ssi&quot;</span>,
                               <span style="color: #ff0000;">&quot;mod_accesslog&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>The other options that need to be changed are:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">server.document-root        = <span style="color: #ff0000;">&quot;/home/username/public_html&quot;</span></pre></div></div>

<p>The document root can even be in /var/www/html or just anywhere you want . We choose /home/username/public_html for easier ftp access to the location for updates.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">server.errorlog             = <span style="color: #ff0000;">&quot;/home/username/logs/error.log&quot;</span></pre></div></div>

<p style="text-align: justify;">Changing this setting is optional. If you want the user to have access to the error log then change the above option. Otherwise you can leave the setting as it is. Just make sure you have created the file folder /var/log/lighttpd and chowned it to the username you run lighttpd and php as.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">accesslog.filename          = <span style="color: #ff0000;">&quot;/home/username/logs/access.log&quot;</span></pre></div></div>

<p>Again this setting is also optional. If you want the user to have access to the access log then change the above option.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">server.port                = <span style="color: #000000;">80</span></pre></div></div>

<p>The default port is 80. If you want to test or run your lighttpd installation on a non-standard port, you need to change this.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">server.bind                = <span style="color: #ff0000;">&quot;xxx.xxx.xxx.xxx&quot;</span></pre></div></div>

<p>This is the Ip address lighttpd listens on. By default it listens on all IPs. If you want it binded to just one Ip on the server you need specify this option.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">server.username            = <span style="color: #ff0000;">&quot;username&quot;</span>
server.groupname           = <span style="color: #ff0000;">&quot;username&quot;</span></pre></div></div>

<p>The username and group which lighttpd will run as. We are going to have the server running in suexec mode when we specify these options. Files created by the webserver will be owned by the username itself.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">fastcgi.server = <span style="color: #7a0874; font-weight: bold;">&#40;</span> <span style="color: #ff0000;">&quot;.php&quot;</span> =<span style="color: #000000; font-weight: bold;">&amp;</span>gt;
  <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span> <span style="color: #ff0000;">&quot;host&quot;</span> =<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #ff0000;">&quot;127.0.0.1&quot;</span>,
     <span style="color: #ff0000;">&quot;port&quot;</span> =<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #000000;">1026</span>,
     <span style="color: #ff0000;">&quot;bin-path&quot;</span> =<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #ff0000;">&quot;/usr/local/php5-fcgi/bin/php&quot;</span>
  <span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p style="text-align: justify;">In the above section we are specifying how php files will be handled. The bin-path will change as well as the port based on the spawn-php.sh script which we will be configuring next. After all these changes, the lighttpd.conf is all setup for use once you save the file.  We will now configure the spawn-php.sh script which we have previously copied to /etc/init.d/</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">vi</span> spawn-php.sh</pre></div></div>

<p>The following options need to be edited in this script:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">SPAWNFCGI</span>=<span style="color: #ff0000;">&quot;/usr/bin/spawn-fcgi&quot;</span></pre></div></div>

<p>The path to spawn-fcgi will be as above as we have configured it with /usr prefix before.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">FCGIPROGRAM</span>=<span style="color: #ff0000;">&quot;/usr/local/php5-fcgi/bin/php&quot;</span></pre></div></div>

<p>This path would be the absolute path to the php-fcgi binary. Please note it can be be /usr/local/php5-fcgi/bin/php-cgi as well.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">FCGIPORT</span>=<span style="color: #ff0000;">&quot;1026&quot;</span>
<span style="color: #007800;">FCGI_WEB_SERVER_ADDRS</span>=<span style="color: #ff0000;">&quot;127.0.0.1&quot;</span></pre></div></div>

<p>These can be left alone as they are unless you want a different Ip or Port specifically.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">USERID</span>=username
<span style="color: #007800;">GROUPID</span>=username</pre></div></div>

<p>The userid and groupid for the script would be same as the one you have used in the lighttpd.conf before. Save the script and then chmod it to 755 and run it. You should see something like below as the output:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">spawn-fcgi.c.197: child spawned successfully: PID: <span style="color: #000000;">10985</span></pre></div></div>

<p>Now it is time to start lighttpd . Make sure the lighttpd logs folders are created and the user ownerships are set correctly. Once that is done, you can start lighttpd using the command as below:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>server ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;">#/etc/init.d/lighttpd start</span>
Starting lighttpd: <span style="color: #7a0874; font-weight: bold;">&#91;</span>  OK  <span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></div></div>

<p>Check the status to make sure it is running otherwise check the error log as set in the config file.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>root<span style="color: #000000; font-weight: bold;">@</span>server ~<span style="color: #7a0874; font-weight: bold;">&#93;</span><span style="color: #666666; font-style: italic;"># /etc/init.d/lighttpd status</span>
lighttpd <span style="color: #7a0874; font-weight: bold;">&#40;</span>pid <span style="color: #000000;">11210</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> is running...</pre></div></div>

<p>This completes the installation steps. To test php you can upload a phpinfo file in the document root folder. A sample phpinfo.php would have the code like :</p>
<p>If your installation is running correctly, you should see the server API as CGI/FastCGI as it shows in the image below.  <a href="http://www.rrdns.com/wp-content/uploads/2008/05/fastcgi.jpg"><img class="aligncenter size-full wp-image-11" title="fastcgi" src="http://www.rrdns.com/wp-content/uploads/2008/05/fastcgi.jpg" alt="" width="500" height="261" /></a><br />
If you see the above, you have completed a successful installation of lighttpd and php running as a fastcgi.  We hope you liked this how to and it is useful for setting up high performance lighttpd+php fastcgi setups for your site.</p>


<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.rrdns.com/how-to-install-lighttpd-php-in-fastcgi-mode.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.rrdns.com/how-to-install-lighttpd-php-in-fastcgi-mode.html</feedburner:origLink></item>
	</channel>
</rss>
