<?xml version="1.0" encoding="UTF-8"?><!-- generator="bbPress" -->

<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
>

<channel>
<title>DomainGurus Forums: Forum: Technical Questions - Recent Posts</title>
<link>http://forums.domaingurus.com/</link>
<description>Our Community</description>
<language>en</language>
<pubDate>Fri, 10 Sep 2010 05:01:09 +0000</pubDate>

<item>
<title>Chris on "How to configure VPN on Fedora 10?"</title>
<link>http://forums.domaingurus.com/topic/how-to-configure-vpn-on-fedora-10#post-225</link>
<pubDate>Thu, 15 Oct 2009 14:42:09 +0000</pubDate>
<dc:creator>Chris</dc:creator>
<guid isPermaLink="false">225@http://forums.domaingurus.com/</guid>
<description>&#60;p&#62;Are you using the NetworkManager applet on the panel?&#60;br /&#62;
If so, have you got the NetworkManager VPN plugins installed?&#60;/p&#62;
&#60;pre&#62;&#60;code&#62;$ rpm -qa &#124; grep NetworkManager &#124; sort
NetworkManager-0.7.1-1.fc10.i386
NetworkManager-glib-0.7.1-1.fc10.i386
NetworkManager-gnome-0.7.1-1.fc10.i386
NetworkManager-openvpn-0.7.0.99-1.fc10.i386
NetworkManager-vpnc-0.7.0.99-1.fc10.i386&#60;/code&#62;&#60;/pre&#62;
&#60;p&#62;If not, install them - e.g. using yum (this will prompt you for the root password before proceeding):&#60;/p&#62;
&#60;p&#62;&#60;code&#62;$ su -c &#38;quot;yum install NetworkManager-openvpn NetworkManager-vpnc&#38;quot;&#60;/code&#62;&#60;/p&#62;
&#60;p&#62;The padlock will remain on the tab, but you should now be able to add VPN connections.&#60;/p&#62;
&#60;p&#62;Those two packages give you OpenVPN and Cisco-Compatible VPN connectivity. there are another two plugins avaialble:&#60;/p&#62;
&#60;p&#62;NetworkManager-openconnect - openconnect VPN&#60;br /&#62;
NetworkManager-pptp - PPTP VPN support
&#60;/p&#62;</description>
</item>
<item>
<title>k1ll3r on "What is a symbolic link, and how do I create one?"</title>
<link>http://forums.domaingurus.com/topic/what-is-a-symbolic-link-and-how-do-i-create-one#post-221</link>
<pubDate>Tue, 13 Oct 2009 12:01:19 +0000</pubDate>
<dc:creator>k1ll3r</dc:creator>
<guid isPermaLink="false">221@http://forums.domaingurus.com/</guid>
<description>&#60;p&#62;A symbolic link, also termed a soft link, is a special kind of file that points to another file, much like a shortcut in Windows or a Macintosh alias. Unlike a hard link, a symbolic link does not contain the data in the target file. It simply points to another entry somewhere in the file system. This difference gives symbolic links certain qualities that hard links do not have, such as the ability to link to directories, or to files on remote computers networked through NFS. Also, when you delete a target file, symbolic links to that file become unusable, whereas hard links preserve the contents of the file.&#60;/p&#62;
&#60;p&#62;To create a symbolic link in Unix, at the Unix prompt, enter:&#60;br /&#62;
ln -s source_file myfile&#60;/p&#62;
&#60;p&#62;Replace source_file with the name of the existing file for which you want to create the symbolic link (this file can be any existing file or directory across the file systems). Replace myfile with the name of the symbolic link. The ln command then creates the symbolic link. After you've made the symbolic link, you can perform an operation on or execute myfile, just as you could with the source_file. You can use normal file management commands (e.g., cp, rm) on the symbolic link.&#60;/p&#62;
&#60;p&#62;Note: If you delete the source file or move it to a different location, your symbolic file will not function properly. You should either delete or move it. If you try to use it for other purposes (e.g., if you try to edit or execute it), the system will send a &#34;file nonexistent&#34; message.
&#60;/p&#62;</description>
</item>
<item>
<title>Finch on "Domains"</title>
<link>http://forums.domaingurus.com/topic/domains#post-204</link>
<pubDate>Fri, 17 Jul 2009 19:18:59 +0000</pubDate>
<dc:creator>Finch</dc:creator>
<guid isPermaLink="false">204@http://forums.domaingurus.com/</guid>
<description>&#60;p&#62;Yes you can keep all your domains and migrate them to the iBizpanel without extra costs.  In order to migrate your domains you must go to &#34;domain names and DNS&#34;, then you will see a &#34;quick menu&#34; just below the quick search, click on the first option: &#34;add domain registration/transfer&#34;, and you can start with your domains' transfer
&#60;/p&#62;</description>
</item>
<item>
<title>Anonymous on ""</title>
<link>http://forums.domaingurus.com/topic/#post-201</link>
<pubDate>Fri, 17 Jul 2009 19:07:39 +0000</pubDate>
<dc:creator>Anonymous</dc:creator>
<guid isPermaLink="false">201@http://forums.domaingurus.com/</guid>
<description>&#60;p&#62;If I already have my domains set elsewhere, can I keep my domains? If so, how do I migrate my domains to the iBizPanel?
&#60;/p&#62;</description>
</item>
<item>
<title>Anonymous on "Domains"</title>
<link>http://forums.domaingurus.com/topic/domains#post-200</link>
<pubDate>Fri, 17 Jul 2009 19:07:06 +0000</pubDate>
<dc:creator>Anonymous</dc:creator>
<guid isPermaLink="false">200@http://forums.domaingurus.com/</guid>
<description>&#60;p&#62;If I already have my domains set elsewhere, can I keep my domains? If so, how do I migrate my domains to the iBizPanel?
&#60;/p&#62;</description>
</item>
<item>
<title>admin on "Why the registrar does not accept the Name Servers?"</title>
<link>http://forums.domaingurus.com/topic/why-the-registrar-does-not-accept-the-name-servers#post-154</link>
<pubDate>Thu, 18 Jun 2009 05:18:37 +0000</pubDate>
<dc:creator>admin</dc:creator>
<guid isPermaLink="false">154@http://forums.domaingurus.com/</guid>
<description>&#60;p&#62;Some registrar's require that the name servers must have the web site listed before changing the domain name servers.&#60;br /&#62;&#60;br /&#62;To be able to change the name servers with your registrar you must first host the web site within the iBizPanel, then you must wait 24 to 48 hours for the name servers to refresh. After that you may change the domain name servers within your registrar.&#38;nbsp;&#60;br /&#62;&#60;br /&#62;Your website will be avaible 3 to 24 hours after changing the name servers with your registrar.&#60;/p&#62;
&#60;h6&#62;&#60;span style=&#34;color: #ffffff;&#34;&#62;&#60;span style=&#34;font-size: xxx-small;&#34;&#62;Albert Sirvent&#60;/span&#62;&#60;/span&#62;&#60;/h6&#62;</description>
</item>
<item>
<title>Guru on "What is the difference between full and incremental backups?"</title>
<link>http://forums.domaingurus.com/topic/what-is-the-difference-between-full-and-incremental-backups#post-136</link>
<pubDate>Sun, 14 Jun 2009 14:49:34 +0000</pubDate>
<dc:creator>Guru</dc:creator>
<guid isPermaLink="false">136@http://forums.domaingurus.com/</guid>
<description>&#60;p&#62;What is the difference between &#34;full&#34; and &#34;incremental&#34; backups?&#60;/p&#62;
&#60;p&#62;A &#34;full&#34; backup is just that: a complete backup of the specified files.&#60;br /&#62;
An &#34;incremental&#34; backup, as it applies to our services, is a portion of the full backup.&#60;br /&#62;
So, a full week of daily incremental backups will combine to create one full backup.
&#60;/p&#62;</description>
</item>
<item>
<title>Guru on "Apache HTTP and Keep Alive performance tuning"</title>
<link>http://forums.domaingurus.com/topic/apache-http-and-keep-alive-performance-tuning#post-134</link>
<pubDate>Sun, 14 Jun 2009 14:45:40 +0000</pubDate>
<dc:creator>Guru</dc:creator>
<guid isPermaLink="false">134@http://forums.domaingurus.com/</guid>
<description>&#60;p&#62;From VirtualThreads:&#60;/p&#62;
&#60;p&#62;There was a link on Digg a couple of days ago to an article about how to tune Apache so as to survive a Slashdotting. After reading it through, I came to the conclusion that the author had no idea what he was talking about. Not only did he admit that he had never experienced the &#34;Slashdot Effect&#34;, but his advice was just plain wrong. I offered a few comments there, but I figured that I should elaborate on a few of them here. I'll post each major configuration topic as a new blog entry, and today's entry is about HTTP's Keep-Alive feature.&#60;/p&#62;
&#60;p&#62;A brief history of Keep-Alives&#60;br /&#62;
The original HTTP protocol did not allow keep-alives, which meant that a connection was made to the server for each file that needed to be downloaded. This was a very inefficient method of doing things, especially since web pages typically had several files that needed to be downloaded in order to be properly displayed. Why was it inefficient? For two reasons:&#60;/p&#62;
&#60;p&#62;1. Each connection requires an overhead of at least 3 packets to be initiated (SYN, SYN-ACK, and ACK packets). This means that at least three round-trips are required to open a connection, which obviously slowed things down.&#60;/p&#62;
&#60;p&#62;2. Due to the nature of TCP, which underlies HTTP, a connection gets &#34;faster&#34; the longer it is open. By continously opening and closing new connections, HTTP would never be able to fully utilize its available bandwidth.&#60;/p&#62;
&#60;p&#62;The designers of HTTP realized this weakness in the protocol, and took steps to correct it in the next version of HTTP. This new version of HTTP incorporated the concepts of keep-alives, where a client could keep a connection to the web server open indefinitely, or at least as long as the server permitted. Although this somewhat went against HTTP's original design goal of being &#34;stateless&#34;, it allowed for it to overcome its speed and overhead problems.&#60;/p&#62;
&#60;p&#62;A brief introduction to Apache&#60;br /&#62;
Now let's examine how Apache works. When you start Apache, a main &#34;coordinator&#34; process is created. This main process is responsible for accepting incoming connections and passing them off to &#34;worker&#34; processes that it creates. These workers then read users' requests and send back responses. Once a worker is done servicing a user's requests, it reports back to the main process and then waits for a new connection to be handed to it.&#60;/p&#62;
&#60;p&#62;Apache and Keep-Alives&#60;br /&#62;
So, in theory, keep-alives are a great thing. They allow web clients and servers to fully utilize their available bandwidth, and reduces latency by eliminating the overhead of frequently opening new connections. In a perfect world, you would want Apache's KeepAliveTimeout setting to be &#34;infinity&#34;, so that web clients maintain a connection to the web server for as long as possible and thus everything on your web site pulls up as fast as possible. Apache allows you to configure its behavior in regard to keep-alives through a few options in its configuration file:&#60;/p&#62;
&#60;p&#62;KeepAlive: either On or Off, depending on whether Apache should allow connections to be used for multiple requests&#60;br /&#62;
KeepAliveTimeout: how long, in seconds, Apache will wait after a request has been answered for another request before closing the connection&#60;br /&#62;
MaxKeepAliveRequests: how many total requests a client can issue across a single connection&#60;br /&#62;
MaxClients: the total number of worker processes that Apache will allow at any given time&#60;br /&#62;
The default Apache configuration file sets KeepAlive to be on, with a KeepAliveTimeout of 15 seconds and MaxKeepAliveRequests of 100. The MaxClients setting is set to 150.&#60;/p&#62;
&#60;p&#62;Apache meets its match&#60;br /&#62;
Unfortunately, nothing in life is free, not even keep-alives. Each client connection requires Apache to create (or use a waiting) worker process to service its requests. These worker processes can only handle one connection at a time, and each connection will last at least 15 seconds. Apache will create a new worker process for each new connection until it hits its limit of MaxClients at 150. Thus, the cost of a keep-alive is one worker process for the KeepAliveTimeout.&#60;/p&#62;
&#60;p&#62;Now imagine what happens when 1,000 web clients try to access your web site at the same moment (e.g. when it first shows up on Slashdot). The first 150 clients will successfully connect to your web server, because Apache will create workers to service their requests. However, those web clients do not immediately leave; after they've downloaded your page, they will hold open their connections for 15 seconds until your server forces their connection to close. The next 850 clients will be unable to access the web server, as all of the available Apache worker processes will be used up, waiting for 15 seconds on the unused connections to the first 150 clients. Some of those 850 clients will queue up and wait for an available Apache process to service their request, but most will give up. Perhaps some readers are wondering why you wouldn't just increase the MaxClients setting to something high enough to handle your peak load, like 2000 or something. This is a very bad idea; you can increase Apache's MaxClients, but only at your own peril. Because each Apache process consumes a bit of memory, you can only fit a certain number in memory before the web server begins to violently thrash, swapping things between RAM and the hard drive in a futile attempt to make it work. The result is a totally unresponsive server; by increasing MaxClients too high, you will have caused your own demise. I will talk about how to figure out a good value for MaxClients in a future post, but a good rule of thumb might be to divide your total RAM by 5 megabytes. Thus, a server with 512 megabytes of RAM could probably handle a MaxClients setting of 100. This is probably a somewhat conservative estimate, but it should give you a starting point.&#60;/p&#62;
&#60;p&#62;A partial solution&#60;br /&#62;
So how do you fix the problem, other than by adding many gigabytes of RAM to the server? One easy way to get around this limitation is to either reduce the KeepAliveTimeout to a mere second or two, or else to simply turn KeepAlive off completely. I have found that turning it down to 2 seconds seems to give the client enough time to request all of the files needed for a page without having to open multiple connections, yet allows Apache to terminate the connection soon enough to be able to handle many more clients than usual. One interesting thing of which to take note is what the major Apache-based web sites allow, in terms of keep-alive timeouts. In my (very brief) experiments, it seems that CNN, Yahoo, craigslist, and Slashdot don't permit keep-alives at all, while the BBC has a very short keep-alive timeout of under 5 seconds. On the other hand, there are several other major Apache-based sites that do use a large keep-alive timeout (Apple, CNET, etc...), but they may have decided that they would prefer to take the performance hit so that they can have the &#34;fastest&#34; web sites as possible.&#60;/p&#62;
&#60;p&#62;Of course, this isn't a perfect solution. It would be nice to be able to have both high-performance as well as long-lived client connections. Apache 2.2, from what I understand, includes an experimental module that allows keep-alives to be handled very efficiently. If it turns out to work well, then it could be a near-perfect solution to the problem. It does have its problems (i.e. it seems to require a threaded MPM, which is not recommended if you use PHP), but it could be incredibly useful in some situations.
&#60;/p&#62;</description>
</item>
<item>
<title>korpa on "How to configure VPN on Fedora 10?"</title>
<link>http://forums.domaingurus.com/topic/how-to-configure-vpn-on-fedora-10#post-94</link>
<pubDate>Tue, 21 Apr 2009 21:55:49 +0000</pubDate>
<dc:creator>korpa</dc:creator>
<guid isPermaLink="false">94@http://forums.domaingurus.com/</guid>
<description>&#60;p&#62;Dear domaingurus,&#60;br /&#62;
I want to make a VPN with my Fedora 10 but, which service that list in service configuration support the VPN? and how to configure it?&#60;br /&#62;
Thanks
&#60;/p&#62;</description>
</item>
<item>
<title>admin on "What is RAID?"</title>
<link>http://forums.domaingurus.com/topic/what-is-raid#post-82</link>
<pubDate>Mon, 20 Apr 2009 21:03:10 +0000</pubDate>
<dc:creator>admin</dc:creator>
<guid isPermaLink="false">82@http://forums.domaingurus.com/</guid>
<description>&#60;h1&#62;What&#38;rsquo;s RAID?&#60;/h1&#62;
&#60;p&#62;&#60;br /&#62;&#60;strong&#62;RAID&#60;/strong&#62; abbreviation is &#38;ldquo;&#60;strong&#62;Redundant Array of Independent (or Inexpensive) Drives&#60;/strong&#62;&#38;rdquo; is a term that is referred to &#38;ldquo;data storage&#38;rdquo; this is a system of different drives or hard disks where is distributed or duplicated the information. Perfect for your dedicated server, if you need more security, this can be one of the solutions to prevent the data losing.&#60;br /&#62;The RAID is defined in &#38;ldquo;levels&#38;rdquo; depending off the configuration, the &#60;strong&#62;RAID&#60;/strong&#62; benefits over a unique hard drive are the next; more integrity, best tolerance to failing, better throughput and more capacity.&#60;br /&#62;&#60;br /&#62;The original uses, the mayor advantage was the ability of combine more HD with a low cost and older technology that offers better storage capacity, best reliability, more velocity or a combination of this advantages, this best that one new generation hard drive technology.&#60;br /&#62;&#60;br /&#62;The simplest way of RAID is a combination of multiple disks in a unique logic drive. Instead a bunch of different hard disks, the Operating system only sees one.&#60;br /&#62;Whit the option in mother boards for &#60;strong&#62;RAID solutions&#60;/strong&#62;; this is also a solution for sophisticated personal computers, like computers for audio or video edition.&#60;br /&#62;Like I said, RAID is managed in levels (or combination of different disks)&#60;br /&#62;&#60;strong&#62;&#60;/strong&#62;&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;RAID 0&#60;/strong&#62; (Data Stripping)&#60;br /&#62;This distributes data evenly between two or more disks without parity information or redundancy, this means, have no tolerance to fail (if fail occurs, the disk information will be lost and should be restored from a security copy)&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;RAID 1&#60;/strong&#62; (Data Mirroring)&#60;br /&#62;This RAID creates exact copy (like a copy cat) of an amount of information in two or more disks (array). This is useful when the reading performance is more important that the writing function, similar about security, the RAID 0 doesn&#38;rsquo;t support failing in one of the disks, and RAID 1 does it, when store&#38;rsquo;s same information in every disk.&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;RAID 2&#60;/strong&#62;&#60;br /&#62;RAID 2 doesn&#38;rsquo;t duplicates information when is stored, like RAID 1, it uses the Hamming code for more confidence. Every byte is stored and distributed between the raid Disks.&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;RAID 3&#60;/strong&#62;&#60;br /&#62;This RAID uses level division in byte levels with a dedicated parity disk, this raid is used rarely in practice. A secondary effect is that normally this raid can&#38;rsquo;t attend many simultaneous requests, this is because definition says &#38;ldquo;any simple block of data it will be divided for all the members of the group&#38;rdquo;, this means that for reading or writing action it&#38;rsquo;s necessary to activate the amount of all disks.&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;RAID 4&#60;/strong&#62;&#60;br /&#62;This RAID uses level division in block levels with a dedicated parity disk, this is to similar to RAID 3 instead dividing in bytes, it&#38;rsquo;s divided in blocks. This allows that any member of the group works independent when we only need a unique block.&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;RAID 5&#60;/strong&#62;&#60;br /&#62;This RAID uses the data division at block level distributing parity information between all the disks that belongs to the group. RAID 5 becomes the most popular by the low cost and the redundancy. Usually, RAID 5 implements with hardware support for the parity calculates.&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;RAID 6&#60;/strong&#62;&#60;br /&#62;This expand the level at RAID 5 whit the addition of other parity block, this permits the division of data in block levels and share the 2 blocks of parity between all the group members.&#60;br /&#62;&#60;br /&#62;For more information about looking the best dedicated server, you can see the link, otherwise, if you don&#38;rsquo;t want to spend too many on expensive services; you can see this cheap web hosting.&#60;/p&#62;</description>
</item>
<item>
<title>admin on "So what is the Bandwidth?"</title>
<link>http://forums.domaingurus.com/topic/so-what-is-the-bandwidth#post-81</link>
<pubDate>Mon, 20 Apr 2009 20:59:49 +0000</pubDate>
<dc:creator>admin</dc:creator>
<guid isPermaLink="false">81@http://forums.domaingurus.com/</guid>
<description>&#60;h1&#62;So what is the Bandwidth?&#60;/h1&#62;
&#60;p&#62;&#60;br /&#62;The &#60;strong&#62;bandwidth&#60;/strong&#62; is simple, when you access to a website, this charges from the server and show you all the content that is called from the code in the website, content like the simple html text, some images, flash presentations, videos, audio, all that kind of stuff.&#60;br /&#62;&#60;br /&#62;The bandwidth is the amount of bytes from any component or file stored on the server that is called by the website, this bytes are added to the bandwidth on any single hit to the website.&#60;br /&#62;&#60;br /&#62;So when you visit a website that have some information and some images the bytes that all this information represent in size are added to the &#60;strong&#62;bandwidth&#60;/strong&#62; for the website.&#60;br /&#62;&#60;br /&#62;If you have a plan for short bandwidth and you have plenty of visits and a website where you store a lot of files like zip, exe, mpeg, mp3, etc; it&#38;rsquo;s important to search for a better plan in services for your website.&#60;br /&#62;&#60;br /&#62;If you don&#38;rsquo;t have a heavy website with a lot of files, you don&#38;rsquo;t need a expensive plan for &#60;strong&#62;bandwidth&#60;/strong&#62;, and when you hear about unlimited bandwidth, you remember this: &#38;ldquo;There is no such thing&#38;rdquo;, you can have some plans where you pay for a lot of bandwidth but there will be some restrictions like the type of files you can store and offer to your visitors.&#60;br /&#62;&#60;br /&#62;There&#38;rsquo;s a thing called &#38;ldquo;&#60;strong&#62;bandwidth stealing&#60;/strong&#62;&#38;rdquo;&#60;br /&#62;&#60;br /&#62;What is this? This is the usage of media that you don&#38;rsquo;t store on media spaces that you&#38;rsquo;re paying, when you have a direct link to media stored on other&#38;rsquo;s clients servers, this is called bandwidth stealing because you are utilizing their bandwidth for your benefit.&#60;br /&#62;&#60;br /&#62;If some corporation that monitors this kind of activity the website can be cancelled or reported to some authority to punish the site owner.&#60;br /&#62;&#60;br /&#62;This Is a simple explanation for &#60;strong&#62;bandwidth&#60;/strong&#62; so you have another concept when you are searching for a web host or a &#60;strong&#62;dedicated server&#60;/strong&#62;.&#60;/p&#62;</description>
</item>
<item>
<title>Guru on "How do I redirect a domain?"</title>
<link>http://forums.domaingurus.com/topic/how-do-i-redirect-a-domain#post-46</link>
<pubDate>Sat, 11 Apr 2009 03:59:25 +0000</pubDate>
<dc:creator>Guru</dc:creator>
<guid isPermaLink="false">46@http://forums.domaingurus.com/</guid>
<description>&#60;h1&#62;How do I redirect a domain?&#60;/h1&#62;
&#60;p&#62;&#60;br /&#62;Put the following meta tag &#60;em&#62;between&#60;/em&#62; the head tags in your index.html (home page). Make sure you include a less than symbol (&#38;lt;) at the start of the tag and a greater than symbol (&#38;gt;) at the end of the tag.&#60;/p&#62;
&#60;p&#62;Meta Tag to Redirect to New Domain:&#60;br /&#62; &#38;amp;lt;meta http-equiv=&#34;refresh&#34; content=&#34;0; url=http: //www. new_domain.com&#34;&#38;amp;gt;&#60;/p&#62;
&#60;p&#62;Meta Tag to Redirect a Different Content Directory:&#60;br /&#62; &#38;amp;lt;meta http-equiv=&#34;refresh&#34; content=&#34;0; url=new_content_directory&#34;&#38;amp;gt;&#60;/p&#62;
&#60;p&#62;Example of how to use redirects to &#34;park a domain&#34;&#60;/p&#62;
&#60;hr /&#62;
&#60;p&#62;Add a website that has templated content for parked domains.&#60;br /&#62; When you want to &#34;park a domain&#34; setup a meta tag refresh under the new website that redirects to the templated &#34;parking&#34; website. ed &#34;parking&#34; website.&#60;/p&#62;
&#60;p&#62;&#38;nbsp;&#60;/p&#62;</description>
</item>
<item>
<title>Guru on "How do I create custom error pages?"</title>
<link>http://forums.domaingurus.com/topic/how-do-i-create-custom-error-pages#post-43</link>
<pubDate>Sat, 11 Apr 2009 03:29:12 +0000</pubDate>
<dc:creator>Guru</dc:creator>
<guid isPermaLink="false">43@http://forums.domaingurus.com/</guid>
<description>&#60;h1&#62;How do I create custom error pages?&#60;/h1&#62;
&#60;p&#62;&#60;br /&#62;There are two ways to do this.&#60;/p&#62;
&#60;p&#62;The first is the most simple. The system looks for custom error messages in a predefined location. You simply need to create the errors you want in their correct location and you are done. These files are names as follows (you may need to make the &#60;strong&#62;errors&#60;/strong&#62; directory within the web directory):&#60;/p&#62;
&#60;ul class=&#34;common_list&#34;&#62;
&#60;li&#62;/error/401-file-not-found.html&#60;/li&#62;
&#60;li&#62;/error/403-forbidden.html&#60;/li&#62;
&#60;li&#62;/error/404-file-not-found.html&#60;/li&#62;
&#60;li&#62;/error/500-internal-server-error.html&#60;/li&#62;
&#60;/ul&#62;
&#60;p&#62;For the second you will have to create a file called:&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;.htaccess&#60;/strong&#62;&#60;/p&#62;
&#60;p&#62;Place this file in the web directory of the WebSite that you want the custom error mesage to appear (there is no easy way to do this for all the sites on the box). In this file put the following (Make sure you replace [[example.com]] with the domain you are putting the custom error pages on):&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;ErrorDocument 401 http: //[[example.com]]/authorizationRequired.html&#60;br /&#62; ErrorDocument 403 http: //[[example.com]]/forbidden.html&#60;br /&#62; ErrorDocument 404 http: //[[example.com]]/fileNotFound.html&#60;br /&#62; ErrorDocument 500 http: //[[example.com]]/internalServerError.html&#60;br /&#62; ErrorDocument 503 http: //[[example.com]]/serviceTemporarilyUnavailable.html&#60;/strong&#62;&#60;/p&#62;
&#60;p&#62;That is a complete listing of the possible error messages. If you do not want to customize a particular error then do not put that line in the file.&#60;/p&#62;
&#60;p&#62;Create the web pages (i.e. fileNotFound.html) with your custom message and place in the web directory. This entire process can be done through ftp Simply create a document on your computer called .htaccess, edit it with a text editor (like notepad) and FTP it up to the web directory on your Cobalt server. You will not be able to see the .htaccess file once you have uploaded it (it will become a hidden file).&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;Attention Front Page users:&#60;/strong&#62; Do not use ftp to upload a new .htaccess file. There is already one on the server that is required to make Front Page operate correctly. You must telnet to the server and make the appropriate changes to the existing .htaccess file.&#60;/p&#62;
&#60;p&#62;Advanced Configuration:&#60;br /&#62; The example above assumes that you are putting the error message files in the web directory. You can put them wherever you want, assuming that you indicate the correct location (path) of the file. Also, you can name the pages whatever you want. For instance, the 404 error does not have to refer to fileNotFound.html; you can call it 404.html if you prefer.&#60;/p&#62;</description>
</item>
<item>
<title>admin on "How to tune Apache"</title>
<link>http://forums.domaingurus.com/topic/how-to-tune-apache#post-42</link>
<pubDate>Sat, 11 Apr 2009 03:18:11 +0000</pubDate>
<dc:creator>admin</dc:creator>
<guid isPermaLink="false">42@http://forums.domaingurus.com/</guid>
<description>&#60;h1&#62;How to tune Apache&#60;/h1&#62;
&#60;p&#62;&#60;br /&#62;Apache/HTTP and Keep Alive performance tuning&#60;br /&#62;From &#60;a title=&#34;VirtualThreads&#34; href=&#34;http://virtualthreads.blogspot.com/2006/01/tuning-apache-part-1.html&#34; target=&#34;_blank&#34;&#62;VirtualThreads&#60;/a&#62;:&#60;/p&#62;
&#60;p&#62;There was a link on Digg a couple of days ago to an article about how to tune Apache so as to survive a Slashdotting. After reading it through, I came to the conclusion that the author had no idea what he was talking about. Not only did he admit that he had never experienced the &#34;Slashdot Effect&#34;, but his advice was just plain wrong. I offered a few comments there, but I figured that I should elaborate on a few of them here. I'll post each major configuration topic as a new blog entry, and today's entry is about HTTP's Keep-Alive feature.&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;A brief history of Keep-Alives&#60;/strong&#62;&#60;br /&#62;The original HTTP protocol did not allow keep-alives, which meant that a connection was made to the server for each file that needed to be downloaded. This was a very inefficient method of doing things, especially since web pages typically had several files that needed to be downloaded in order to be properly displayed. Why was it inefficient? For two reasons:&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;1.&#60;/strong&#62; Each connection requires an overhead of at least 3 packets to be initiated (SYN, SYN-ACK, and ACK packets). This means that at least three round-trips are required to open a connection, which obviously slowed things down.&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;2.&#60;/strong&#62; Due to the nature of TCP, which underlies HTTP, a connection gets &#34;faster&#34; the longer it is open. By continously opening and closing new connections, HTTP would never be able to fully utilize its available bandwidth.&#60;/p&#62;
&#60;p&#62;The designers of HTTP realized this weakness in the protocol, and took steps to correct it in the next version of HTTP. This new version of HTTP incorporated the concepts of keep-alives, where a client could keep a connection to the web server open indefinitely, or at least as long as the server permitted. Although this somewhat went against HTTP's original design goal of being &#34;stateless&#34;, it allowed for it to overcome its speed and overhead problems.&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;A brief introduction to Apache&#60;/strong&#62;&#60;br /&#62;Now let's examine how Apache works. When you start Apache, a main &#34;coordinator&#34; process is created. This main process is responsible for accepting incoming connections and passing them off to &#34;worker&#34; processes that it creates. These workers then read users' requests and send back responses. Once a worker is done servicing a user's requests, it reports back to the main process and then waits for a new connection to be handed to it.&#60;/p&#62;
&#60;p&#62;&#60;strong&#62; Apache and Keep-Alives&#60;/strong&#62;&#60;br /&#62;So, in theory, keep-alives are a great thing. They allow web clients and servers to fully utilize their available bandwidth, and reduces latency by eliminating the overhead of frequently opening new connections. In a perfect world, you would want Apache's KeepAliveTimeout setting to be &#34;infinity&#34;, so that web clients maintain a connection to the web server for as long as possible and thus everything on your web site pulls up as fast as possible. Apache allows you to configure its behavior in regard to keep-alives through a few options in its configuration file:&#60;/p&#62;
&#60;ul class=&#34;common_list&#34;&#62;
&#60;li&#62;&#60;strong&#62;KeepAlive&#60;/strong&#62;: either On or Off, depending on whether Apache should allow connections to be used for multiple requests&#60;/li&#62;
&#60;li&#62;&#60;strong&#62;KeepAliveTimeout&#60;/strong&#62;: how long, in seconds, Apache will wait after a request has been answered for another request before closing the connection&#60;/li&#62;
&#60;li&#62;&#60;strong&#62;MaxKeepAliveRequests&#60;/strong&#62;: how many total requests a client can issue across a single connection&#60;/li&#62;
&#60;li&#62;&#60;strong&#62;MaxClients&#60;/strong&#62;: the total number of worker processes that Apache will allow at any given time&#60;/li&#62;
&#60;/ul&#62;
&#60;p&#62;The default Apache configuration file sets KeepAlive to be on, with a KeepAliveTimeout of 15 seconds and MaxKeepAliveRequests of 100. The MaxClients setting is set to 150.&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;Apache meets its match&#60;/strong&#62;&#60;br /&#62;Unfortunately, nothing in life is free, not even keep-alives. Each client connection requires Apache to create (or use a waiting) worker process to service its requests. These worker processes can only handle one connection at a time, and each connection will last at least 15 seconds. Apache will create a new worker process for each new connection until it hits its limit of MaxClients at 150. Thus, the cost of a keep-alive is one worker process for the KeepAliveTimeout.&#60;/p&#62;
&#60;p&#62;Now imagine what happens when 1,000 web clients try to access your web site at the same moment (e.g. when it first shows up on Slashdot). The first 150 clients will successfully connect to your web server, because Apache will create workers to service their requests. However, those web clients do not immediately leave; after they've downloaded your page, they will hold open their connections for 15 seconds until your server forces their connection to close. The next 850 clients will be unable to access the web server, as all of the available Apache worker processes will be used up, waiting for 15 seconds on the unused connections to the first 150 clients. Some of those 850 clients will queue up and wait for an available Apache process to service their request, but most will give up. Perhaps some readers are wondering why you wouldn't just increase the MaxClients setting to something high enough to handle your peak load, like 2000 or something. This is a very bad idea; you can increase Apache's MaxClients, but only at your own peril. Because each Apache process consumes a bit of memory, you can only fit a certain number in memory before the web server begins to violently thrash, swapping things between RAM and the hard drive in a futile attempt to make it work. The result is a totally unresponsive server; by increasing MaxClients too high, you will have caused your own demise. I will talk about how to figure out a good value for MaxClients in a future post, but a good rule of thumb might be to divide your total RAM by 5 megabytes. Thus, a server with 512 megabytes of RAM could probably handle a MaxClients setting of 100. This is probably a somewhat conservative estimate, but it should give you a starting point.&#60;/p&#62;
&#60;p&#62;&#60;strong&#62;A partial solution&#60;/strong&#62;&#60;br /&#62;So how do you fix the problem, other than by adding many gigabytes of RAM to the server? One easy way to get around this limitation is to either reduce the KeepAliveTimeout to a mere second or two, or else to simply turn KeepAlive off completely. I have found that turning it down to 2 seconds seems to give the client enough time to request all of the files needed for a page without having to open multiple connections, yet allows Apache to terminate the connection soon enough to be able to handle many more clients than usual. One interesting thing of which to take note is what the major Apache-based web sites allow, in terms of keep-alive timeouts. In my (very brief) experiments, it seems that CNN, Yahoo, craigslist, and Slashdot don't permit keep-alives at all, while the BBC has a very short keep-alive timeout of under 5 seconds. On the other hand, there are several other major Apache-based sites that do use a large keep-alive timeout (Apple, CNET, etc...), but they may have decided that they would prefer to take the performance hit so that they can have the &#34;fastest&#34; web sites as possible.&#60;/p&#62;
&#60;p&#62;Of course, this isn't a perfect solution. It would be nice to be able to have both high-performance as well as long-lived client connections. Apache 2.2, from what I understand, includes an experimental module that allows keep-alives to be handled very efficiently. If it turns out to work well, then it could be a near-perfect solution to the problem. It does have its problems (i.e. it seems to require a threaded MPM, which is not recommended if you use PHP), but it could be incredibly useful in some situations.&#60;/p&#62;</description>
</item>
<item>
<title>admin on "What is CGI and how do I use it?"</title>
<link>http://forums.domaingurus.com/topic/what-is-cgi-and-how-do-i-use-it#post-39</link>
<pubDate>Sat, 11 Apr 2009 03:07:21 +0000</pubDate>
<dc:creator>admin</dc:creator>
<guid isPermaLink="false">39@http://forums.domaingurus.com/</guid>
<description>&#60;h1&#62;What is CGI and how do I use it?&#60;/h1&#62;
&#60;p&#62;&#60;br /&#62;The Common Gateway Interface (&#60;strong&#62;CGI&#60;/strong&#62;) is a standard for interfacing external applications with information servers, such as HTTP or Web servers. A plain HTML document that the Web daemon &#60;strong&#62;retrieves&#60;/strong&#62; is &#60;strong&#62;static&#60;/strong&#62;, which means it exists in a constant state: a text file that doesn't change. A CGI program, on the other hand, is &#60;strong&#62;executed&#60;/strong&#62; in real-time, so that it can output &#60;strong&#62;dynamic&#60;/strong&#62; information.&#60;br /&#62;&#60;br /&#62;For example, let's say that you wanted to &#34;hook up&#34; your MySQL database to the World Wide Web, to allow people from all over the world to query it. Basically, you need to create a CGI program that the Web daemon will execute to transmit information to the database engine, and receive the results back again and display them to the client. This is an example of a gateway, and this is where term CGI originated. There really is no limit as to what you can hook up to the Web. The only thing you need to remember is that whatever your CGI program does, it should not take too long to process. Otherwise, the user will just be staring at their browser waiting for something to happen.&#60;br /&#62;&#60;br /&#62;Since a &#60;strong&#62;CGI&#60;/strong&#62; program is executable, it is basically the equivalent of letting the world run a program on your system, which isn't the safest thing to do. Therefore, there are some security precautions that need to be implemented when it comes to using CGI programs. Probably the one that affects the typical Web user the most is the fact that &#60;strong&#62;CGI programs&#60;/strong&#62; need to reside in a special directory, so that the Web server knows to execute the program rather than just display it to the browser. This directory is usually under direct control of the webmaster, prohibiting the average user from creating CGI programs.&#60;br /&#62;&#60;br /&#62;If you click on the File Manager icon to the right of your domain at Domains &#38;gt; List all Domains, you will see the contents of your web site, which includes a directory called /cgi-bin. This is the special directory mentioned above where all of your CGI programs currently reside. A CGI program can be written in any language that allows it to be executed on the system. If you use a programming language like C or Fortran, you must pre-compile the program before it will run under the /cgi-bin directory. If, however, you use one of the scripting languages instead, such as Perl, the script itself only needs to reside in the /cgi-bin directory, since it is an interpreted language (you will need to include the path path to Perl interpreter). Most people prefer to write CGI scripts instead of programs, since they are easier to debug, modify, and maintain than a typical compiled program.&#60;br /&#62;&#60;br /&#62;If your are writing CGI scripts to make your website more dyanamic, we highly recommend considering using a scripting language called PHP. This language is rapidly becoming the most commonly used method for web developers to write dynamically generated pages quickly.&#60;/p&#62;</description>
</item>

</channel>
</rss>
