In many cases, you will want to use an existing domain, such as the one already assigned to your public library, governmental unit, or civic organization. In other cases, you may want to obtain a new domain just for your new community networking project. The choice is entirely up to you.
You may need to work with more than one domain administrator if you wish to assign multiple names to a server. For instance, suppose the Ann Arbor Public Library houses a server for information about that community. Within the library’s existing domain of ann-arbor.lib.mi.us, the server might be assigned an address of server3.ann-arbor.lib.mi.us.
For a name appropriate for a community information site, the library would want a name more meaningful to the public. The library might choose AnnArborInfo.org (which would mean contacting Network Solutions or one of the new registrars of the .org domain). Or, the library might choose www.ci.ann-arbor.mi.us – which would mean contacting the administrator of the ann-arbor.mi.us domain. We find out who serves as the administrator of the ann-arbor.mi.us domain by consulting the list at www.isi.edu/in-notes/us-domain-delegated.txt which tells us the right place to send our e-mail request is: email@example.com.
What if you wish to register a new domain, and you find that it is already in use? For instance, suppose you want to register smallville.org, and you learn that someone in another town named Smallville in another state has already registered that domain? Once a domain name has been registered by another party, it can be difficult to wrest it away, unless someone has an existing trademark that has been infringed by the registrant. Therefore, it’s a good idea to register a domain name as soon as you concoct it, even if you don’t plan to deploy a Web site within that domain immediately. You can always deploy a site under the choice domain at a later date.
Within your domain, how you name your servers is pretty much a matter of your own taste and desires. However, functional names are a popular and reasonable approach. For instance, if you run e-mail services on a separate server, a server name of mail.smallville.org would make sense. Your database server might be database.smallville.org. Different conventions may be used for servers that are used only by your staff, such as internal servers or desktop computers.
The Concept of TCP Ports
Now that we’ve seen how host names are assigned, let’s consider another important concept that applies to the Uniform Resource Locator your users will see.
The TCP/IP protocol suite carries with it the concept of a TCP port. When your user’s browser connects to your Web server to fetch your CI home page, it connects to a particular host name – that of your server – and as part of the connection process it requests a particular TCP “port” number. By default, for the Web the relevant port number is 80. When you install Web server software, you can configure it to operate on any port number you choose. The vast majority of Web servers operate on the default port of 80. Other Internet services have their own assigned default port numbers; for instance, the remote login protocol Telnet is assigned port 23. By assigning different port numbers to different kinds of services, a single physical server box can handle multiple kinds of Internet services without conflict.
For your main Web presence, it’s a good idea to stick with the convention of using port 80. It is possible to run more than one Web server “process” or “service” on a single server, in which case you may wish to choose other port numbers, such as 8000, for secondary servers.
With this discussion, we can see how your server name choice, TCP port choice, and file name choices combine to determine the URL of a document on your server:
Every URL for a Web page begins with http:// though many browsers allow users to omit that prefix.
Next comes the address of the server. This is a host name within a domain. In the diagram’s example, the server’s address is www.smallville.org.
Optionally, the host name may be followed by a colon and a TCP port number, for example www.smallville.org:80. You will only specify a TCP port other than 80 if you have installed a Web server that listens on the port in question. (If you publish a URL with a port number for which there is no corresponding Web server, your users’ browsers will display errors.)
Next comes the path to the specific file on the server. As you’ll recall from Chapter 4, this path name begins at the start of the server’s hierarchy, as specified in a server configuration file, not the absolute root of the server hard disk.
Thus, we might offer all of these URLs:
The first two examples assume a server on TCP port 80. The second two explicitly refer to a server on port 8000.
If you never deviate from the default of port 80, you will never need to publish URLs with a port number in them, and your users will never encounter such URLs when traversing your site.
Running Your Own Server – “Ready-to-Run” Options
At the beginning of this chapter, we considered the basic question of whether to run your own server or to hire someone else to run a server for you. Assuming you do wish to run your own server, you still have choices to make: Your choices include:
“Server appliances” or “thin servers”
“Turnkey” or ready-to-run servers
So-called “servers appliances” or “thin servers” are an alternative to installing a general-purpose server. With a server appliance, you purchase a server that’s ready to run with a minimal amount of setup. Typically, you need only tell the server its new IP address and host name, along with a minimal amount of additional information. Then you plug the server box into your local network, hook up a link to your ISP, and you are ready to serve pages. All that’s left is preparing HTML documents and placing them on the server.
Configuration of the server appliance is usually performed via inputs on a keypad on the server box itself, and/or use of a Web browser. There is no editing of configuration files nor is there any downloading of software or compiling of utility programs. Setting up a server appliance, in theory is no more difficult than installing a Web browser or other simple end-user application program.
Server appliances are a relatively new concept. The goal of server appliances is to create a server box that has had all of the administration and installation work done for you, with setup work kept to the absolute minimum. Server appliances tend to be based on processors that are somewhat less powerful than the most current general-purpose servers, but vendors tune the operating system and Web server software for the best performance possible. In any event, serving static HTML pages does not require a huge amount of processing horsepower.
Server appliances usually are designed to have a level of robustness not always found in general purpose servers. In the event of a power outage, for instance, some server appliances are able to quiesce all activity, shut down the server, and restart automatically when power is restored.
Some ISPs are working with vendors of server appliances to offer simple package purchase arrangements. You order the server with the assistance of the ISP, which has prepared special documentation and procedures to allow the simplest installation possible. In some cases, such servers can be installed in as little as 15 minutes.
If you are new to network and server administration, but you do wish to run your own server, think carefully about a server appliance as your first solution. Even if you expect to “graduate” to a general-purpose server at a later date, your server appliance can free you to concentrate on content as you begin your project. If you eventually acquire a general-purpose server, you can always reuse the server appliance for other projects after your new, fancy general-purpose box is in production.
Server appliances may be based on proprietary hardware and software, or they may use commodity hardware and freely-available software such as the Linux operating system and the Apache Web server. In theory, you will not even be aware of what is running under the covers; those details are hidden from you.
Prices for server appliances range from under $1000 to $3000 or so.
Vendors of server appliances include:
General-purpose servers are increasingly being offered with ready-to-run configurations. Vendors will pre-install your operating system of choice. Such “turnkey” servers may offer many of the advantages of server appliances. For instance, Compaq markets the Prosignia Neoserver, an entry-level server for sites that “have a network but not a network department.” Most vendors of proprietary Unix systems also offer ready-to-run Web server packages. Over time, vendors will increasingly deliver systems ready to run and to serve Web pages out of the box.
Paradoxically, some people argue that the first thing you should do with a brand new server is to format the hard disk and reinstall the operating system from starter CD-ROMs. The argument here is that if you rely on the vendor’s pre-installed software, you won’t understand how to do an installation from scratch – and when your disk fails, you’ll be unable to recover. This could lead to an outage lasting days instead of hours. If you use a pre-installed server, at least be sure you do complete backups.