To say that the Internet has become a "hot" topic is an understatement. The Internet has grown up with computer professionals but is now used by many diverse groups. Its origins are in research and educational institutions with its advocates and designers being the main contributors. The number of Internet users has suddenly, this year, reached a critical mass. The number of users has grown to over 30 million and businesses are now just tapping its potential. Thanks to the Clinton Administration, the Information Superhighway (the layman's term for Internet) has become part of everyone's vocabulary and not just the vocabulary of engineers. Everyone has been sold on the excitement of the Internet, usually without a clue what it means.
The Internet is becoming an inexpensive way for businesses to communicate ideas and information. Using print, radio, and television to disseminate knowledge and information is expensive, especially considering the chance it has to be seen or heard. For small businesses advertising on a continual basis nationally is simply out of reach. The audience a small business can reach has been limited by its advertising budget. Now it is feasible for a small business to advertise nationally or even globally. The Internet provides this inexpensive means of communication for businesses or anyone who has a personal computer and some basic skills.
Business people know that you approach advertising in the local newspaper differently from advertising on television and differently again on radio. Each medium has its own idiosyncrasies. You can not run the audio portion of a TV commerical on radio, for example, nor would you video tape two people recording a radio commerical and show it as a television commercial. The Internet is a new medium and it's important to know how it works, and, consequently, understand its business potential.
More than 30 million people and 5 million servers are now connected to the Internet. Roughly 1,133,000 services are at educational sites, 175,000 services at goverment sites, and the remaining 1,300,000 services are at business and personal sites. Internet traffic is growing at a monthly rate of about 6 percent. In January, 1988, Internet traffic consisted of 85 million packets. In December, 1994, Internet traffic had grown to more than 86 billion packets -- an increase of 1000 percent in 7 years.(1)
The Internet Business Center made the following data available collected from the 10th Annual Software Publishing Association Conference(2):
The following table summarizes the distribution of Internet users:
TABLE 1. Distribution of Internet Users
----------------------------------------------------- Specified Group Percentage of Internet Users----------------------------------------------------- Age Under 20 17% 21-25 29% 26-30 27% 31-35 8% 36-40 11% 41-50 6% Over 50 2% Educational Background Bachelor's degree 34% Master's degree 23% Some college experience 19% Location North America 72% Europe 23% Australia 3% Occupation Technical professionals 27% Students 26% Researchers 14% Managers 7% Gender Male 90% Female 10% Affiliation Educational institution 51% Commercial institution 31% Government institution 7% Children in Household 0 70% 1 11% 2 12% 3+ 7% -----------------------------------------------------
Some companies have found out the hard way that the Internet user community has an unwritten rule about advertisements; do not force them on anyone. The last thing you want to do is force your message on users who did not ask for it. Broadcasting EMail to a large number of people, or by inserting advertisements into newsgroup discussions are examples of forced advertising. Committing this kind of indiscreation, more often than not, will subject your company to flaming and, maybe, Email bombing. Flaming is the equivalent of hate mail and Email bombing is getting a lot of it. Flaming and Email bombing can range from nasty letters to absurd service requests that jam and cripple your Internet service.
The central theme to your marketing approach on the Internet should be to provide information and direct sales to interested parties. Ideally, the information you provide can and should include something in addition to product and service literature -- information that anyone could find interesting. If your business is selling computers, for example, you might offer information about the speed of the newest CPUs on the market. If your business is selling cars, you might offer information about newest safety laws and tests.
One practice your company is familiar with is direct user feedback from its advertisements. Your company may have had phone calls and mail in response to advertisements. Internet feedback is more plentiful and more immediate. Consequently, it is more important to obey Internet etiquette otherwise the negative feedback could be overwhelming.
You may want to consider the following guidelines when advertising on the Internet:
A company needs to know its audience. Advertising to the correct target audience returns the greatest sales per advertising dollar. Knowing your audience also enables you to structure the information on your product/service to the customer's needs. The easier the information is to access, the more the customer satisfies those needs. An easy-to-use interface that offers information of value to your target audience should be the overall goal of your Internet marketing plan.
Don't skimp on the information you offer. If you do not offer much information, your company might not attract much attention. Rather, your company should strive to create a presence on the Internet; it should strive to be the resource for information in its field. You might publish, for example, technical manuals, installation guides, and service notes. Or you might make available information that seems only tangentially related to your product/service, but is of great interest to Internet users.
The Internet offers businesses, from small to large, a reasonably priced access to global markets and business communications. Profits from Internet sales are possible due to small advertising costs, and recognition as a global player with product/service expertise is also possible.
Advertising in the standard media of television, radio, and printed matter is based on a central principle: a balance of cost and distribution -- the more people an advertisement can reach, the more expensive the advertisment. Advertising on the Internet dispenses with this central principle. By contrast Internet advertising is largely a one-time cost -- a global catalog of information about your products and/or services. Considering that over 30 million people are connected to the Internet now and growing rapidly, the cost is quickly becoming more reasonable. Like any advertising, however, if all you do is stick a note in a bottle, and hope someone rescues it from the sea (or Internet) then the return on your investment is in jeopardy.
Once you have created an Internet information service you need to let people know that it is available. This section has a few tips that you can use to help get the word out. Be sure, however, to not force your advertising on people. To avoid this you may want to use the following guidelines:
The following are some of the USENET newsgroups and mailing list that you may want to post messages to. Be sure to read the group's FAQ (Frequently Asked Questions) and understand the nature and scope of the group or list before posting. Many readers of these groups can become very irritated with those who don't normally read the group and post strictly for their own commercial benefit.
The following Web sites allow you to register your server and provide back-pointers to your web page free of charge. Be sure to register with all the indexing and searching services rather than just the general malls. The indexing and searching services will direct people interested in your product/service to your web page quickly. The key to success with these services is registering the right key words and having your web page connected with an efficient and effective server. With the growing size of the Internet, malls are becoming more inconvenient for finding what you want even if they offer their own indexing and searching capability. Customers will quickly realize that searching a few hundred web pages on a mall index is less productive than searching thousands of regisered sites on the Internet with a global indexing and searching service.
These sites provide free (or almost free) links to web sites of special, specific, or local area interests. If your information service fits one of the following then you should consider registering you site with them. Unlike general malls, special or specific malls are more useful to a customer looking for information on a particular product or service.
The following sites will give links to your web (for a price). Before paying to be linked in be sure to ask a lot questions like how many hits they are getting, where their hits are coming from, which pages or links are getting the hits and so forth. Even if a site is claiming a lot of hits most of them could be in one or two areas of the mall. The mall owners should be able to give you this information. Of course, even with this data it would be hard to verify the actual number of hits a mall is getting. Some malls, however, sell links based on the number of "hits" or accesses they refer to your site. Accesses then could be easily verified by your own web accounting reports.
Your personal virtual server will allow you establish an Internet presence with a high speed connection at a fraction of the cost. Normally, to establish a presence on the Internet, it would require you to purchase a high speed Internet connection, costly equipment, and maybe a support staff. With the Virtual Server System you get the Internet services you want without the worries and costs of an Internet connection and your customers will not be able to tell the difference.
Without Virtual Server technology you normally would have to do the following to establish a presence on the Internet for your company (see Figure 1):
FIGURE 1 A Typical High Speed Internet Connection
Depending on the ISP, speed of the connection, equipment and software you buy it may cost between $5,000 to $10,000 just to establish a server on the Internet and between $1,000 to $20,000 a month for ISP and common carrier charges.
The Virtual Server System uses the idea of sharing a server and a high-speed Internet connection with other companies and, therefore, significantly reducing the cost of establishing an Internet presence (see Figure 2). Most companies that have high-speed connections do not use the full potential bandwidth of their Internet connection continuously. However, to avoid delays to their customers they will purchase the fastest Internet connection they can afford. For smaller companies this is usually a 56Kbit/sec or fractional T1 frame-relay (time-shared) connection. With slower connections customers may noticed significate network delays during peak usage hours to these sites, however, larger companies with faster connections (such as a full, dedicated T1 or better) the customer will not experience these delays. With a virtual server you have access to a high-speed connection to the Internet at a fraction of the cost and your customers will not be able to tell the difference.
FIGURE 2 The Virtual Server System
For office electronic mail (Email) services the Virtual Server System can save your business money. Since each employee would have his or her own mailbox on the virtual server a small office can get away with only purchasing one or two dial-up accounts with an ISP and sharing these accounts. For example, consider a small office of 5-10 employees. For about $20-$30 per month individuals can purchase dial-up accounts that give them between 40-450 hours(6). Rather than purchasing a dial-up accounts for each employee (normally what is required for individual mailbox) you could purchase one or two accounts and configure the mail client software on each employee's computer to get their mail from the virtual server using the employee's Email username and password. The computers, however, would share the one or two dial-up accounts to get access to the Internet. For example, a ten employee company this could save up to $250 per month in just Internet access charges.
The Virtual Server System may not be for everyone. It allows a company to establish a high-speed Internet presence or test the potential of Internet marketing without incuring the high costs of bringing a high-speed connection and server to the office. In other words, it allows a company to test the Internet waters before committing high start up costs of equipment without the sacrifice of starting with an inferior Internet service.
If your company after a period of time of being on a virtual server has developed a very popular web page (on the order of 10,000-30,000 hits or accesses a day) you will want to consider getting your own Internet connection and/or server to better support your customers' needs. BLUEHILL.com, Inc can help you if want to have your own dedicated server offsite. BLUEHILL.com will setup, manage, and secure this server for you while saving you money in lease-line and systems management costs. Contact the BLUEHILL.com for more information concerning these dedicated server products and services.
The Virtual Server System uses the idea of multiplexing a single UNIX server into multiple virtual machines. Each virtual server user will get their own set of virtual services that they may customize to their liking or needs. Each virtual server has its own unique domain name and IP (Internet Protocol) address. When a request comes in, the Virtual Server System will determine which virtual server will service the request based on this unique IP address and then invoke the appropriate service to respond to the request. Therefore, since the Virtual Server will invoke a unique server based on the designation address and port number of an IP request, each virtual server user may have his own custom configuration or data files for their set of virtual services. Also these virtual servers will log events to the user's own log directory so that they may make access accounting summaries and generate individual reports.
The Virtual Server System currently offers the following Internet services:
Other services are being added to the Virtual Server System and will be announced very soon. These include NetscapeTM compatible encryption for secure transaction processing. The following chapters will explain the above services and how to efficiently use them.
Please note that the virtual server does not support virtual shell accounts. However, it is possible to have individual mail accounts which are accessable by each user using the Post Office Protocol or POP. There is no limited to the number of these accounts (other than storage) and they would be created by your company's virtual server administrator.
The virtual server administrator is an user who is in charge of maintaining your virtual server. He or she will be given a username and a password to the virtual server administrator account. This username and password gives the administrator access to a normal shell account on a UNIX server which is home to your virtual server. The virtual server administrator responsibilities include:
It is important to assign someone as the virtual server adminstrator who has a little UNIX and programming experience (or who is at least is willing to learn about UNIX and programming). Since each virtual server account is given full access to all the configuration files it is fairly easy to paint yourself into a corner(7). However, it is much easier to maintain a virtual server system than a full UNIX system, since most of the work is done for you.
The following is a short tour of the virutal server from the virtual server adminstrator's point of view. When you are given a virtual server account you will be given the following information about your server:
Once you log in to the actual server as the virtual server administrator you will see the following directories:
These directories represent your virtual server's root directory even though the command pwd (print working directory) it reports something like /usr/home/<administrator_login_name>. It is important to remember that the directory /usr/home/<administrator_login_name> gets translated to simply / when any of the virtual services (such as httpd, sendmail, pop, or ftpd) run. For example, when you develop CGI's (Common Gateway Interfaces) for your virtual httpd you need to use the path /usr/local/etc/httpd/ rather than the path /usr/home/<administrator_login_name>/usr/local/etc/httpd/.
The majority of Internet network traffic (about 36 percent) is FTP. Email comprises only about 6 percent of Internet traffic, probably because it is most often used within a local network. Today, FTP is still the workhorse of Internet tools.
Connecting to a remote computer using FTP is similar to using TELNET or rlogin, except that you do not have all the tools of a shell, and your access to files, called archives, is limited. You can use FTP to transfer files. The files can be of any type. For example, they might be text files or binaries--FTP doesn't really care. Nor does it care about the platforms of the two computers. You might, for example, transfer files between a Sun workstation and a PC (with a FTP client). Part of the reason FTP is so popular is that FTP clients are so easy to acquire for every platform.
FTP is great for transferring files but terrible for browsing. If you have worked with a file structure of any size, you know how difficult it can be to navigate through it. Although file names can be descriptive they're not descriptive enough. Some FTP administrators even put README or INDEX files in every directory to give the user some clue as to what is grouped in that directory. FTP archives, however, are easier to set up than WWW sources, since you do not need to transfer your documents into HTML.
The virtual system only supports Anonymous FTP or FTP that anyone can access without a password. With anonymous FTP you just enter anonymous or ftp for the username and usually your Email address as the password.
Normal FTP, on the other hand, does require you to enter a valid username and password. This type of FTP is not supported by the virtual FTP server but changes to web pages, configurations files, etc. can be done with the administrator login name and password.
There is a de facto, but not required, standard for naming FTP and other services. They are the names users will try first and are the easiest to remember. The format for the FTP service is:
Where domain represents the domain name of your FTP server (often your company's name) and type represents the type of organization (i.e. edu is used for educational institutions, com is used for businesses, net is used for network services providers, org is used for non-profit organizations, and gov is used for government entities).
By default, if your domain name is registered by BLUEHILL.com, Inc. then your virtual anonymous FTP services will be in the standard form above. Naming your FTP service abc.domain.type or zzz.domain.type is not illegal but it is not a good idea.
Other services follow a similar naming convention. For example, World Wide Web servers are named www.domain.type and Post Office Protocol (POP) servers are named pop.domain.type. Again BLUEHILL.com will use these names by default for the respective services.
3.4 Your Anonymous FTP Directory
Using anonymous FTP is the safest way to grant access to the virtual FTP service because it is restricted to the ftp directory in your home directory. With this restrictive access and by assigning permissions correctly you can limit the harm they can do.
Your ftp directory in your home directory contains two sub-directories:
In some cases it would be desirable to allow your users to upload files to your virtual anonymous FTP server. Separating these files into their own directory is a form of damage control. If someone uploads a virus hopefully its damage is confined to the incoming directory. If you see no reason to permit uploads then there is no reason to create one, so simply skip the rest of this section.
It is recommended that the incoming directory be given only write and execute permissions. This permission set is somewhat inconvenient because it prevents customers from looking at files others have uploaded to the server. On the other hand, it prevents other users from perverting or deleting those same files. A byproduct of allowing users to read other's uploaded files (having the read permission set) is that they can upload completely unrelated files on your virtual server. These uploaded files can be bland or blasphemous. For the sake of your company's image, you wouldn't want to inadvertently support a porn or WaReZ (pirated software) archive on the Internet.
To make an incoming directory do the following:
Files that are uploaded to the incoming directory will be owned by anonftp, therefore, you must change it to be owned by your virtual adminstrator account. To do this use the vchown command. vchown simply changes the ownership of file owned by anonftp to be own by your virtual account adminstrator. For example:
This would change the file uploaded.file from being owned by anonftp to being own by the virtual account adminstrator.
The messages file located in your usr/logs directory contains important information describing how much your virtual anonymous FTP server has been used. This information, however, may not be in a very readable form. A program by the name xferstats can be used to make a summary of your anonymous FTP activity as shown in Figure 3.
xferstats may be run periodically by the cron facility. This can be done as follows:
# Crontab file (see crontab(5)) # Every Sunday morning at 2:13am process FTP xferstats and "nuke" message file 13 2 * * sun /usr/local/bin/xferstats -m user@xyz.com -n
% crontab cfile
For more information on cron type man crontab and man 5 crontab at the virtual server's UNIX prompt.
TOTALS FOR SUMMARY PERIOD Aug 16 TO Aug 17Files Transmitted During Summary Period 3Bytes Transmitted During Summary Period 762
Systems Using Archives 0
Average Files Transmitted Daily 2
Average Bytes Transmitted Daily 381
Daily Transmission Statistics
Number Of Number of Average Percent Of Percent Of
Date Files Sent Bytes Sent Xmit Rate Files Sent Bytes Sent
--------------- ---------- ----------- ---------- ---------- ----------
Aug 16 2 508 508.0 KB/s 66.67 66.67
Aug 17 1 254 0.3 KB/s 33.33 33.33
Total Transfers from each Archive Section (By bytes)
---- Percent Of ----
Archive Section Files Sent Bytes Sent Files Sent Bytes Sent
------------------------- ---------- ----------- ---------- ----------
/pub 3 762 100.00 100.00
Hourly Transmission Statistics
Number Of Number of Average Percent Of Percent Of
Time Files Sent Bytes Sent Xmit Rate Files Sent Bytes Sent
--------------- ---------- ----------- ---------- ---------- ----------
03 1 254 0.3 KB/s 33.33 33.33
05 2 508 508.0 KB/s 66.67 66.67
As a common feature on local networks, you may already be familiar with Electronic Mail or EMail. You can send and receive letters across local network or Internet lines when available. You can even broadcast messages to many people at once. The Internet has mailing lists that you can retrieve from or broadcast to. You might, for example, broadcast a message to an entire newsgroup or discussion group. Of course, you want to broadcast messages sparingly. Flooding newsgroups with EMail about your company every week is not proper Internet etiquette. Doing so would likely provoke the ire of Internet users.
The advantage of using EMail as a way to communicate over the Internet is its immediacy. Most people on workstations have a mail client running. Rather than waiting for people to fire up their browsers and search across the Internet to find your company's home page, EMail can arrive at their workstation immediately. Again, it is not proper Internet etiquette to broadcast EMail to a wide body of users in order to promote your company. Instead, you could use EMail to foster your company's relationships with its established clients.
The Virtual EMail System is directly based on sendmail 8.6.12 (don't worry if this does not mean anything to you). Your virtual sendmail uses the following configuration files and directories:
EMail aliases allow you to forward electronic mail sent to a mail user name on your virtual server to be sent to another electronic mail address. For example, you could make all the mail sent to webmaster@your_virtual_server.com sent to you@xyz.edu. To do this do the following:
You do not need to create a mail account as described in section 6.2 in order to have an EMail alias. After an alias is created the mail is not stored on the virtual server and is simply forwarded.
It is sometimes convenient to create a single email address that is an alias for many EMail addresses (an electronic mailing list). There are two ways to do this. First, you can add multiple EMail addresses separated by a comma to a single line in the etc/aliases file as described above. For example:
myfriends: joe@xyz.com, fred@foobar.edu, mary@abc.org
Of course, this only works for small lists. For larger lists you can use :include: and a separate file for the aliases. To do this for your mailing list do the following:
myfriends: :include:/etc/mylist
If something is not working the way you think it should be then take a look at the usr/log/messages file for error messages. The virtual email server will log messages to this file. Also, all mail that comes in or goes out is logged in this file. This is a good way to keep track of mail usage on your virtual server.
The World Wide Web project has taken the Internet by storm inspite of earlier criticism. A World Wide Web (WWW, or Web) service makes accessing your information easier for your customers. WWW services provide all the power your company needs to make exciting and motivating presentations. Accessing WWW services has been a problem because transferring the large graphical files over slow connections was intolerable. Now with the newer MODEM's (14.4 to 28.8 Kbps) and the cheaper rates for SLIP (Serial Line Internet Protocol) or PPP (Point-to-Point Protocol) Internet connections make graphical interfaces available to even individual home users. Netcom's PPP connection, for example, is only a few dollars more per month ($20) than the text-based connection. Netcom's graphical client, Netcruiser, allows you to surf the net with nothing more than a MODEM. That means all home users can access your company's WWW service with a small investment for equipment and service and that is good news for your business.
The Virtual Web Service is based on the NCSA HTTP (Hyper-Text Transfer Protocol) server(8). The httpd files are located in usr/local/etc/httpd in your home directory. Please note that the directory www in your directory is a symbolic link to the directory usr/local/etc/httpd. Therefore, a quick way to get into the usr/local/etc/httpd is to simply do a cd www from your home directory. The following sub-directories are located within your usr/local/etc/httpd directory:
The virtual web server configuration files are pre-configured for you when you get a virtual server account, however, you may need to customize these files a little to take advantage of some advance features. The following sections give an overview of the contents of these files. For most web pages you should not have to change these files from the BLUEHILL.com default setup. Therefore, you may want to quickly scan these sections and refer back to them when needed.
The httpd.conf files is for general configuration of the virtual httpd. Table 2 describes some of the parameters in httpd.conf.
TABLE 2. httpd.conf Parameters
-------------------------------------------------------------------------------------- Parameter Description-------------------------------------------------------------------------------------- AccessConfig filename filename is either an absolute pathname or a partial path name relative to ServerRoot that specifies the location of the access.conf configuration file. The default is AccessConfig conf/access.conf. AgentLog filename filename is the file where you want to keep record of the client agent software. The directive is for statistical pur poses and tracing of protocol violations. The default is AgentLog logs/agent_log. ErrorLog filename filename is either an absolute path name or a partial path name relative to ServerRoot that specifies the location of the error log file. The virtual web server includes infor mation such as segmentation violations, bad scripts, timed out clients, and .htaccess files that attempt to default access.conf directives. The default is ErrorLog logs/error_log. IdentityCheck [on | off] Determines if the remote user is logged in as himself. This directive only works if the client application is run ning an RFC 931-compliant identity daemon (unlikely). The default is IdentityCheck off. ResourceConfig filename filename is either an absolute path name or a partial path name relative to ServerRoot that specifies the location of the srm.conf configuration file. The default is Resource Config conf/srm.conf. ServerAdmin email_address email_address specifies the webmaster's address. The default is ServerAdmin webmaster@<your domain name>. ServerName hostname hostname specifies the domain name of your server or a DNS alias. The default is ServerNameName www.<y our domainname>. ServerRoot pathname pathname defines the absolute path of the root of your server above which users cannot trespasss. The default is ServerRoot /usr/local/etc/httpd. (Remember that the path /usr/home/<login name> gets translated to simply / when the virtual server runs.) TimeOut seconds seconds defines the maximum amount of time (in sec onds) the service waits for the client to submit a request once it has been connected, and the maximum amount of time the service should wait for the client to accept a request. The default is TimeOut 1800. TransferLog filename filename is either an absolute path name or a partial path name relative to ServerRoot that specifies the location of the log that records data, such as host, date, and file name, of service requests. The default is TransferLog logs/access_log. TypesConfig filename filename is either an absolute path name or a partial path name relative to ServerRoot that specifies the location of the MIME configuration file. The default is TypeConfig conf/mime.types. --------------------------------------------------------------------------------------
The srm.conf (server resource management) configuration file specifies the location in which the service finds your scripts and documents. The following table describes the parameters found in the srm.conf.
TABLE 3. srm.conf Parameters
---------------------------------------------------------------------------------------------- Parameter Description---------------------------------------------------------------------------------------------- AccessFileName filename filename specifies the name of the file that you can include in any directory that specifies access permissions for that directory. The default is AccessFileName .htac cess. AddDescription text fileID Associates descriptive text with a type of file defined by extensions, a file name, an absolute path name, or a file name using wild cards (for example AddDescription "image file" *.gif). AddEncoding kind ext Specifies that files with ext are of type kind so that appropriate actions can be taken. For example, if the file is compressed, the browser can automatically uncom press it (for example, AddEncoding compress Z). AddIcon path name1 name2... Specifies the icon to display with a kind of file; used when browsers display FTP menus. AddIconbyEncoding path name1 ... Performs the same task as AddIcon except that the encoded information determines the icon used. AddIconType path type1 type2 ... Performs the same task as AddIcon except that the MIME type determines the icon used. AddType kind ext Supersedes MIME definitions for the specified exten sions (ext) found in the mime.types file. Alias name path Substitutes path for name in path names. DefaultType type Specifies the default MIME type. The default is Default Type text/html. DefaultIcon pathname pathname specifies the default icon to use when Fancy Indexing is on. The default is DefaultIcon /icon/ unknown.xbm. DirectoryIndex filename Specifies the filename to return when the URL request does not specify a file or the request is just your service (for example, http://www.4domains.com). The default is DirectoryIndex index.html. DocumentRoot path path specifies the absolute path to the directory from which the virtual web server retrieves documents. The default is DocumentRoot /usr/local/etc/httpd/htdocs. (Remember when the virtual web server runs the path / usr/home/<your login name> will become simply /.) FancyIndexing [on | off] Adds icons, file name data, headers, and footers to lists of files automatically indexed. The default is FancyIn dexing on. HeaderName filename Specifies the filename to be used at the top of a list of files automatically indexed. The default is HeaderName HEADER. IndexIgnore kind1 kind2 ... Specifies kinds of files to be ignored during file process ing. The default is IndexIgnore */.??* *~ *# */ HEADER* */README. IndexOptions option1 option2 ... Specifies a variety of indexing parameters, including FancyIndexing, IconsAreLinks, ScanHTMLTitles, Sup pressLastModified, SuppressSize, and SuppressDescrip tion. OldScriptAlias name path Performs the same task as Alias (backward compatibility for HTTP V1.0). ReadmeName filename filename specifies the footer information to attach to automatic directory indexes. The default is Readme Name README. Redirect pathname URL Remaps pathname of document to new URL. There is no default for this directive. ScriptAlias name path Is similar to Alias but used for scripts. This directive substitutes path for name in path names. ----------------------------------------------------------------------------------------------
The access.conf configuration files define what service features are available to all WWW browsers. The default is to make everything available to all browsers. Many of the parameters in the access.conf are sectioning directives. They stand out because they use angle brackets.
Sectioning directives have a beginning and ending delimiter, for example:
The above example enforces extra restrictions on the directory /usr/local/etc/httpd/cgi-bin using the AllowOverride directive. The AllowOverride directive may use one of the following directives:
The directives enabled by the AuthConfig are defined as the following:
The directives enabled by Options include the following:
Limit sectioning directive may include the following:
Any directive between the delimiters apply to the listing following the first delimiter. For example:
In this example, the sectioning directive, Limit, determines who can retrieve information from the service, which, in this case is "allow from all."
The default homepage for your virtual server account is located in the file usr/local/etc/httpd/htdocs/index.html or, simply, www/htdocs/index.html. Your virtual server account includes access to many popular UNIX editors including pico, vi, emacs and others. You can also edit your web pages on your PC and upload them to the virtual server.
The details of HTML is beyond the scope of this document. however, there are many good tutorials and references available both on-line and in book form including the following:
HTML editors help you quickly create web pages for your server. Some are WYSIWYG (What You See Is What You Get) type editors and help you get your page just right. The following are HTML Editors for MS Windows:
The following are sources for tool and HTML editors for the Macintosh:
Other WWW tool archives:
Graphics, icons, and backgrounds:
The Common Gateway Interface (CGI) allows you to extend your virtual server. CGI allows you to support the situations when the client wants to send information to the virtual server for more complicated processing. In general, web servers don't process information themselves but rather hand off the work to gateway programs. The CGI specification defines the mechanisms by which HTTP servers communicate with gateway programs. Therefore, you need to understand the HTTP protocol and the CGI specification to write server-side gateway programs and client HTML documents that use these programs.
Advanced CGI development is beyond the scope of this document. Some example CGIs are described in later sections, however, for more information about CGIs see:
You can also write you own CGI using the following languages:
Please keep in mind when you write your own CGIs that your virtual server's home directory (/usr/home/<your login name>/) becomes the root directory (/). Therefore, you do not need to include /usr/home/<your login name> in the full, absolute paths in your scripts or programs. You can test your CGIs interactively with the virtual command. For example:
In this example, the program mycgi runs in the virtual environment and is given the arguments arg1, arg2, and arg3.
Active images, or sometimes called, clickage images allow your users to click on different areas of an image and have different things happen, depending on where they clicked. For example, the active image could be a map of a building and clicking on a room will take you to an information page on that room.
To create an active image follow the steps below:
<A HREF="http://some.site.com/cgi-bin/imagemap/my_mapfile"> <IMG SRC="image.gif" ISMAP> </A>
my_mapfile: /usr/local/etc/httpd/htdocs/my_mapfile.map
You can add other mappings in imagemap.conf by just adding another line. For example:
my_mapfile: /usr/local/etc/httpd/htdocs/my_mapfile.map my_2ndmap: /usr/local/etc/httpd/htdocs/my_2ndmap.map
Adobe Photoshop A commerical graphics program available from most software stores.
Paintshop Pro A very good shareware program from ftp://gatekeeper.dec.com/pub/micro/msdos/win3/desktop/psp30.zip
Mapedit A freeware program that directly creates map files from ftp://sunsite.unc.edu/pub/packages/infosystems/WWW/tools/mapedit (See http://sunsite.unc.edu/boutell/mapedit/mapedit.html for more information.)
The general form for a map file entry is:
method URL x1,y1 x2,y2 ... xn yn
# Map file (htdocs/my_mapfile.map) for image.gif circle /room1.html 50,20 50,30 rect /room2.html 25,78 40,85 poly /room3.html 45,38 35,50 40,72 50,75 60,72 65,50 55,38 point /room4.html 10,20 point /room4.html 11,20 point /room4.html 10,21 point /room4.html 11,21 default /default.html
Here is how each of the different methods of defining clickable regions work:
circle <URL> <center point> <edge point> This maps the region inside the circle to the <URL>. <center point> is the X,Y coordinate for the center and <edge point> is the X,Y coordinate for a point on the edge of the circle.
point <URL> <X,Y> This maps a single point <X,Y> to the <URL>. This is often used with other point methods for small areas as in the example above.
poly <URL> <X1,Y1>, <X2, Y2>, ... <Xn,Yn> This maps the region defined by a multisided polygon to the given <URL>. The polygon is automatically closed with a line from the last point <Xn,Yn> to the first point <X1, Y1>.
rect <URL> <Upper left Corner> <Lower right corner> This maps the region inside a rectangle defined by <Upper left corner> and <Lower right corner> to the <URL>.
default <URL> This maps the region not defined by any of the above within an image to the <URL>.
It is often useful to have your customers give you feedback (hopefully in the form of more product orders). The Common Gateway Interface can be used to collect this infomation. This section shows one way to do this with a simple form processing program.
The formmail.pl program is a perl script that processes information that a user enters into an on-line form and then sends that information to an email address you specify. To set up an on-line form using formmail.pl do the following:
cp /usr/local/contrib/formmail.pl ~/www/cgi-bin/formmail.pl chmod 755 ~/www/cgi-bin/formmail.pl
<FORM ACTION="/cgi-bin/formmail.pl" METHOD="POST"> <INPUT TYPE=hidden NAME="recipient" value="you@youraddres.com"> <INPUT TYPE=hidden NAME="subject" value="Customer Feedback"> <INPUT TYPE=hidden NAME="username" value="webpage@webaddress.com">
In the example above, the line with NAME equal to recipient specifies who the mail is sent to, subject specifies what you want the subject of your mail to be and username specifies who the mail is from.
<PRE> Name: <INPUT NAME="Name" SIZE="40" MAXLENGTH="40"> Address: <INPUT NAME="Address" SIZE="60" MAXLENGTH="60"> City: <INPUT NAME="City" SIZE="20" MAXLENGTH="30"> State: Zip: <INPUT NAME="State" SIZE="2" MAXLENGTH="15"> <INPUT NAME="Zip" SIZE= "7" MAXLENGTH="7"> Phone #: <INPUT NAME="Phone #" SIZE="14" MAXLENGTH="14"> Comments: <TEXTAREA NAME="Comments" ROWS="12" COLS="48"></TEXTAREA> </PRE> <INPUT TYPE="SUBMIT" NAME="Request"><INPUT TYPE="RESET"> </FORM>
If you have been "surfing" the Web much you may have noticed that some web pages have dynamic information that changes every time you access the page such as the number of times the page has been accessed, the current date and time and so forth. This feature is called Server Side Includes or Server Includes. This section, which is the final CGI example, shows how to implement a Server Side Include to display the number of "hits" on a web page. This is done with a little perl script written by Jonathan Lewis called "c4.pl". To setup a web page hit counter do the following:
Salmon: {4} % cp /usr/local/contrib/c4.pl ~/www/cgi-bin
Salmon: {5} % cp /usr/local/contrib/lock.pl ~/www/cgi-bin
Salmon: {6} % chmod 755 ~/www/cgi-bin/c4.pl
Salmon: {7} % chmod 755 ~/www/cgi-bin/lock.pl
Options Indexes FollowSymLinks Includes AddType application/x-httpd-cgi .cgi addType text/x-server-parsed-html .html
Salmon: {9} % cat > index.count
0
^D (the control-D character)
Over <!--#exec cgi="/cgi-bin/c4.pl" --> Internet Customers Served.
It is useful to monitor your virtual server's web usage. This is a good way to get feedback on how your virtual server is being used by potential customers. The virtual web server log files are kept in the www/logs directory, however, you will want to use a program to digest this information into something useful. The program getstats(10) can help you do this. Getstats can be used either interactively (from the command line) or periodically in "batch mode" using cron like xferstats (see Chapter 3). For interactive just type the getstats command at the Unix prompt with the appropriate report option(s). For example:
Salmon: {4} % getstats <report option>
Currently there are twelve major types of reports this program can produce. You can use as many options as you like to create combinations of reports. The following is some of the type of reports that can be generated using getstats:
HTTP Server General Statistics Local date: Fri Feb 11 18:17:07 PM PST 1994 Covers: 02/09/94 to 02/11/94 (3 days). All dates are in local time. Requests last 7 days: 4495 New unique hosts last 7 days: 358 Total unique hosts: 358 Number of HTML requests: 1854 Number of script requests: 472 Number of non-HTML requests: 2169 Number of malformed requests (all dates): 5 Total number of all requests/errors: 4500 Average requests/hour: 90.2, requests/day: 2164.7 Running time: 11 seconds.
HTTP Server Monthly Statistics Covers: 10/30/93 to 11/08/93 (9 days). All dates are in local time. Each mark (#) represents 1000 requests. ---------------------------------------------- Oct (10/30/93): 569 : # Nov (11/04/93): 2 : ...
HTTP Server Weekly Statistics Covers: 12/28/93 to 01/27/94 (32 days). All dates are in local time. Each mark (#) represents 500 requests. ---------------------------------------------- Week of 12/27/93: 1878 : ### Week of 01/03/94: 5606 : ########### Week of 01/10/94: 23287 : ############################################## ...The -w option will produce a weekly report of server use. The dates in the report are always the Monday of that particular week.
HTTP Server Daily Summary Covers: 12/28/93 to 01/27/94 (32 days). All dates are in local time. Each mark (#) represents 1000 requests. ---------------------------------------------- Mon: 16018 : ################ Tue: 13219 : ############# Wed: 9904 : ######### ...
HTTP Server Daily Statistics Covers: 12/28/93 to 01/27/94 (32 days). All dates are in local time. Each mark (#) represents 100 requests. ---------------------------------------------- 12/28/93 (Tue): 88 : 12/29/93 (Wed): 258 : ## 12/30/93 (Thu): 591 : ##### 12/31/93 (Fri): 775 : ####### ...
HTTP Server Hourly Summary Covers: 12/28/93 to 01/27/94 (32 days). All dates are in local time. Each mark (#) represents 200 requests. ---------------------------------------------- midnite: 1266 : ###### 1:00am: 1206 : ###### 2:00am: 1238 : ###### ...
The -hs option produces an hourly summary, which shows the aggregate number of requests for a particular hour.
HTTP Server Hourly Statistics Covers: 12/28/93 to 01/27/94 (32 days). All dates are in local time. Each mark (#) represents 20 requests. ---------------------------------------------- 12/28/93 (Tue) 3:00 pm: 39 : # 4:00 pm: 12 : 5:00 pm: 36 : # ...
The -h option produces an hourly report, which shows the number of requests per hour, the day of the week, and the total number of requests for each day.
HTTP Server Full Statistics Sorted by number of requests. Covers: 12/28/93 to 01/27/94 (32 days). All dates are in local time. # of Requests : Last Access (M/D/Y) : Hostname ---------------------------------------------- 6994 : 01/26/94 : kmac 1751 : 01/26/94 : eitech 1096 : 01/27/94 : jhvh-1 ...
HTTP Server Request Statistics Sorted by number of requests, 1560 unique requests. Covers: 12/28/93 to 01/27/94 (32 days). All dates are in local time. # of requests : Last Access (M/D/Y) : Request ---------------------------------------------- 4260 : 01/27/94 : /eit.home.html 3330 : 01/27/94 : /graphics/stripe.bottom.gif 2831 : 01/27/94 : /graphics/ball.black.gif ...
HTTP Server Domain Statistics 1 level, sorted by domain name, 22 unique domains. Covers: 02/09/94 to 02/10/94 (2 days). All dates are in local time. # reqs : # uniq : Last Access (M/D/Y) : Domain ---------------------------------------------- 180 : 28 : 02/10/94 : (numerical domains) 27 : 1 : 02/10/94 : .at 28 : 3 : 02/10/94 : .au 22 : 2 : 02/10/94 : .ca ...
HTTP Server Tree Report Covers: 12/28/93 to 01/07/94 (12 days). All dates are in local time. # of Requests : Last Access (M/D/Y) : Dir/File ---------------------------------------------- 55 : 01/07/94 : /reports 51 : 01/07/94 : /ht93 562 : 01/07/94 : /demos 487 : 01/07/94 : /asiceda ...
The -dt option generates a directory tree report, which cannot be sorted. The number of requests and last request date for directories and files is displayed. The request count for directories is the amount of requests for that directory plus the sum of all requests for the files and subdirectories under it.
If you find this report is empty, try using the -dr option without specifying a directory. This will tell getstats to make a tree report without verifying that the files and directories reported in the log file actually exist.
HTTP Server Error Report (All Dates) ---------------------------------------------- kmac [Thu Dec 30 23:20:21 1993] get / foo kmac [Thu Dec 30 23:20:37 1993] get foo / kmac [Thu Dec 30 23:20:55 1993] get http://www.eit.com/ foo
example: getstats -a -fb
This will create all reports sorted by number of requests, with the exception of the full report, which is sorted by byte traffic, and the error report, which must be specified on the command line.
getstats may be run periodically by the cron facility. This can be done as follows:
# Crontab file (see crontab(5)) # Every Sunday morning at 2:13am summarize the WWW stats and reset the log 13 2 * * sun /usr/local/bin/getstats -d -n | /usr/bin/mail -s "Web Stats" user@xyz.com
% crontab cfile
For more information on cron type man crontab and man 5 crontab at the virtual server's UNIX prompt.
Post Office Protocol or POP allows users to read their Internet EMail without having to log into a server and learn a cumbersome EMail program and/or operating system. Instead the user continues to use the operating system he or she is familiar with and a compatiable POP client. Now a company or individual can choose from many high quality, low cost, POP clients for nearly every major operating system, including Windows, MacOS and OS/2.
The Virtual POP service allows a company, new to email systems, to inexpensively establish an Internet EMail box for each employee which is activated by their own individual password. This is because with the virtual server a company does not need to purchase an expensive commerical gateway or pay for the excessive dedicated Internet connection. Commerical SMTP (the Internet EMail protocol) gateways for Novell or Microsoft EMail systems can cost thousands of dollars to install.
With the Virtual POP server ISP costs can be lowered significantly by having the employees access their email with a shared dial-up Internet connection. For example, a small company could purchase a single dial-up account for the company. Rather than sharing the ISP's single POP EMail box included with the account the company could configure each individual employee's computer to use an unique mailbox off the company's virtual POP server giving each member of the company their own individual Internet mail address. Each employee would have their own unique EMail account username and password but would share the dial-up or ISP account username and password. The EMail account username and password is configured in the POP client software as shown in section 6.5.
To create POP accounts for email users, log into the server using the virtual administrator login name and password and use the vadduser command. For example:
salmon: {2} % vadduser
Email User Names are up to 8 characters and consist of upper or lower
case alphabetic characters or digits. They must start with an
alphabetic character and should generally be all lower case.
Email User Name: biff
Now enter a password for this user's POP mail account. For security
reasons you may want to use a password that is longer than 6 characters
and that has at least one non alphabetic character. The password will
*not* be echoed to the screen and you will be required to type it twice.
POP password: <biff's password>
Retype POP password: <biff's password again>
Now enter the EMail User's full name. Please use less than 80 characters
and no ':' characters.
Full Name: Bifford McLean
Email User added successfully.
After entering the email user's name, the password, and the full name for the account it will be added. This will setup the electronic mailbox for the user.
From time to time users will forget their POP account password. You can not recover this password but you can reset the password to something else with the vpasswd command. For example:
In this example, the email user biff's password is changed.
To remove an unwanted email user account use the vrmuser command. For example:
In this example, biff's POP email account is removed.
In general, the POP client needs to be configured to get its mail from the virtual server and to use the virtual server as a SMTP relay host. This section shows how to configure two popular POP client software packages (Eudora and Pegasus Mail) for the PC. Please note that both Eudora and Pegasus Mail are also available for the Macintosh and are similarly configured.
Eudora for both the Macintosh and PC is available from ftp://ftp.qualcomm.com/Eudora. Eudora comes in two forms: freeware and a commercial version. The commercial version has many enhancements but costs a little money (for more information send mail to eudora-sales@qualcomm.com).
Eudora for Windows is shown in Figure 4. To configure Eudora to use the virtual server son.org for the email user Pamela I would do the following:
Once this is done Eudora is ready for the email user. When Eudora is invoked it will prompt the user for his or her EMail password (see sections 6.2 and 6.3).
FIGURE 4 E