A SHORT INTRODUCTION
One of the most amazing things about the whole Internet Phenomena
has to be
the APACHE Server Project.
Somehow, despite the best efforts of some rather large software
companies, this free web server system has managed to capture over
50% of the server market!
In addition to APACHE itself, other companies such as
C2 Net and
RedHat offer commercial
implentations with enhancements such as SSL for allowing you
to run Secure Web Servers. Almost all of the information that will
be covered here is applicable to the APACHE derivatives
as well.
Why is APACHE so successful? Besides being priced just right (free),
it runs on just about every Unix based system around, and is now
even available for Windows. The APACHE server is robust, stable,
and fast. APACHE is the true spirit of the Internet.
WHAT ABOUT OTHER WEB SERVERS?
As with all things in life: time, focus, and expertise limit
what I can present. Several years back, I used the CERN server
from which APACHE evolved. Having worked with Unix based servers
since 1982, this was a natural path for me to follow. I have
no regrets. I make no editorial claim that one server is better
than another, and do not care to argue with others about the
matter. This is what I know, and what I want to teach.
WHAT WILL THIS SECTION COVER?
The purpose of this section of the site is to provide you
with a basic understanding of how to take advantage of many of
of APACHE's fine features. These tutorials are targeted to people
that are currently using the APACHE server, and are organized in
a problem/solution manner.
BigNoseBird on APACHE is a work in progress that will continue
to evolve over time.
WHAT ABOUT APACHE ON WINDOWS?
Since APACHE evolved in the Unix environment and I work with
Unix based servers, you can expect the information to be
Unix flavored. If you are running APACHE on Windows, most of
the differences are directory names.
DO I REALLY NEED TO KNOW ALL THIS STUFF?
If your site is virtually hosted, you will not be able to modify
the actual APACHE configuration files, but you will be
able to enhance your site using .htaccess files, and be able to
ask your hosting company to possibly add features they may not
have by default enabled on your site! Learn what you feel you
need to learn. Webmastery is more than HTML, it won't harm you
to get under the hood and get your hands a little dirty. ;-)
BASIC CONFIGURATION INFORMATION
The tutorials in this section deal with some of the more common
questions I receive from my readers asking why certain functions
don't work on their site.
No matter what I do, I cannot get .htaccess files to work on
my site. They just seem to be ignored. How do you allow .htaccess
to work? The AllowOverride directive.
I can't get MIDI files to play from my site when using
the Netscape Broswer. How can I correct this?
Adding MIME types.
My server responds to both www.domain.com and domain.com. I am
having problems with cookies not being available to Netscape
as people move between my FQDN (fully qualified domain name, i.e.,
www.domain.com) and domain.com. What can I do?
Using Mod Rewrite to enforce the FQDN.
I need to use something other than index.html as the
default page for my site. I was thinking of using either
index.cgi or index.shtml. If I remove index.html, all I see
is a directory listing! What's the fix?
Changing the DirectoryIndex.
I have installed a CGI script in my cgi-bin directory, but
I get a server error that says it can't stat or find the script,
but I know its there! How do I correct this one?
Enabling CGI Script Execution.
I want to be able to use Server Side Includes. I know my
SSI directives are correct and I named the files with the
.shtml extention, but it is not working. How can I turn
this feature on?
Enabling Server Side Includes.
DEALING WITH ERRORS AND OTHER NASTIES
Ever wonder how webmasters direct you to special pages when
you enter an incorrect URL, or how they deal with nasties
such as spambots or rude spiders? Here are some tricks for you
that will both impress your friends and protect your site.
I really do not want people sucking my bandwidth by linking
and displaying my images inside their pages. How can I prevent
this? Use this trick to check
the referring page against a file type. Polite and effective.
Whenever I have a script fail, or enter a bad/missing URL, I
get a page with an error number on it. What are the error
numbers and their meanings?
The APACHE error codes. Useful
information to have laying around.
I really hate the default error messages that APACHE displays
when there is an error or a blown link. What is the simplest
way to change these error messages?
Using the ErrorDocument text directive.
My site is getting trashed by spambots and spiders. They totally
ignore robots.txt and some even try to exploit it. Is there an
efficient way to stop these beasts?
Using the Mod Rewrite Engine.
I tried everything else, but I just can't keep this spider or
bot or abuser off my site. What is the next drastic step???
Using route to create a Blackhole.
I keep finding thousands of errors in my error_log, all from the
same host. What can I do to automatically deal with this problem?
Check out Blackhole Spider Killer.
Not perfect, but it is effective!
SERVER SECURITY
This section deals with server security, not secure servers!
Since I have added INCLUDES to my configuration to allow for SSI pages,
I have noticed that the EXEC directive works. How do I turn this off
for security reasons?
Using the IncludesNoExec option
I am concerned about security on my site. I worry about people
trying to exploit my scripts, about how to make backups, and
would like to get some advice along with some practical examples.
Common Sense Security Advice for APACHE
I have a directory that I don't want unauthorized people to be able
to access. How can I protect my information from prying eyes?
.htaccess and htpasswd authorization.
APACHE SERVER REFERENCE MATERIALS
Apache 1.3 User's Guide
(local copy): If you need to find something in the Apache
User's Guide, here is a local copy with a high speed search.