First, consider which web server software and platform your site will be built on; open source Apache and Microsoft's Internet Information Servers (IIS) are by far the most common, although a handful of other web server applications offer special options for companies with particular web site needs. Then think about what features you may need—such as an e-commerce platform, SQL database, secure shell access, or phone-based tech support—to determine whether you should pay for a third-party hosting service or become your own webmaster and host the site yourself.
Ten dollars a month will buy you a lot of web hosting, and $100 a month will buy you more than you ever knew you needed. Free hosting is worth just a little less than what you pay for it. And hosting your own site, especially if you've got real work to do, may ruin what little love for computers you may have. Before you let your cousin Mickey host your site from the server farm in his basement or jump at the first web hosting deal you find, spend time doing some long-range planning about how your web site may grow and change.
About 85 percent of the sites on the web these days are running either Apache, an open source and free descendant of the httpd code that served the first web pages, or IIS, a commercial application from Microsoft that is built into server versions of Windows. The rest of the web is covered by lesser-known server software such as Lotus Domino from IBM, Netscape Enterprise Server, Zeus, and StarNine's WebStar (among others).
Rather than present a biased pro and con of the two leading choices, here are some neutral observations and facts about Apache and IIS:
Large corporations overwhelmingly favor IIS for their web sites.
Apache has about 70 percent of the total web server marker, according to Netcraft.
Some hosting providers offer only Apache or IIS, although some offer both. The cost of similar plans on either platform are comparable.
IIS has a configuration utility with a graphical user interface (GUI).
Apache is best configured through text files and shell-prompt commands, although there is a GUI for Apache called Comanche.
Both Apache and IIS will run Perl and Python scripts, as well as JavaServer Pages applications.
Both can access SQL databases, but IIS has the advantage of better integration opportunities with Microsoft's Windows-only desktop database application, Access, as well as Word and Excel.
The server-side scripting languages PHP and Microsoft's Active Server Pages (ASP) can run on either platform, too. PHP is somewhat more common with Apache. Apache also requires an additional component to process ASP pages, while ASP is built into IIS.
Apache runs on all common Unix-flavor servers, as well as Windows. IIS only runs on Windows.
Both are fast, well-supported, and stable.
Few of your web site visitors will know or care which you use, and none will notice any difference in how your site behaves.
The choice usually comes down to a matter a personal preference. This book is geared toward web sites running Apache, so, after you select your (Apache-based) hosting account, you'll have just one of many decisions about your hosting setup behind you. Shopping wisely for a place to host your web site will pay off in the long run. Although it's not impossible to transfer a site from one host to another, the process has been known to ruin more than its share of web designer's weekends.
With even the most basic, entry-level hosting plans offering more than enough disk storage and data transfer quota for a small- to medium-size web site, what are the features and factors that matter?
E-commerce transactions or other transmissions containing confidential information between your site visitors and your web server will require a certificate signed by a third-party certificate authority to verify your web site's authenticity (Recipe 8.5 covers setting up certificates). In addition to the fee you'll pay to the certificate authority, enabling the SSL functionality on your account to encrypt the data as it passes over the Internet usually involves a setup fee and ongoing monthly charges. Take those fees into account when choosing a hosting provider, even if you don't need an SSL server on day one.
A mild-mannered web site with predictably modest traffic patterns can easily fall victim to overuse fees when business booms or an unexpected link to the site causes web site activity to spike. Some hosting providers may shut down sites that exceed the account's allotments or email the owner when there's a problem. Others may grade your accounts usage numbers "on the curve," throwing out the high and low numbers and charging you for the average of the remaining days of the month. Be sure you know your hosting company's fees and policies on exceptional web site activity and how long it would take to upgrade your account and move your site to a better plan if your site's new-found popularity becomes the norm.
How quickly can you get someone on the phone if there's a problem? Hello?
At some point, you may want to host a second domain name and web site on your existing hosting account. Your hosting company may see this as new revenue stream from you to them. If you need to host more than one site, look for a provider with the most reasonable fees for this service.
A no-login-required "drop box" on your web server can be a faster, more convenient, and more reliable way to receive large files from your site visitors than receiving them as email attachments.
Many of the solutions to Recipes presented in this chapter require shell or command-line access to your server through a Telnet connection. A better, more secure method of connecting to your server to get a shell-prompt for running commands is through a secure shell connection. Some providers may require that you request this feature in writing before enabling it. Look for a provider that offers this feature and take the steps necessary to enable it.
The local files/remote files site management setup of popular WYSIWYG web site editing applications (such as Dreamweaver) automatically keep a backup of web site files on the hard drives of one, or more, of the people responsible for the site. But this type of backup doesn't include all the crucial files. Make sure your hosting account includes a regular backup scheme—preferably with an archive of older backups—that covers everything on the site: databases, CGI scripts, logs, and the like.