I'm still fairly new to Apache, but I've been using it for a while, and I'm starting to understand what it does and how to use it. I will try my best to share that information with you, so hopefully you don't have to get through billions of pots of coffee and late nights trying to figure it out!
What is Apache?
Apache is a web server, by which I mean it is a HTTP server, (not the actually hardware). In order to explain this a little more, let me tell you a little about how the web works in a basic form:
When you type in an address in your browser, you make a connection to the server hosting it. You the client, connect to the server through a reserved port, port 80. This is the globally know HTTP (Hyper Text Transfer Protocol) port.
Of course, when you connect to the server on port 80, you need a piece of software running on the server to 'listen' on that port for connections. That is what Apache does, it listens on port 80 for connections from every other machine on the net (or private network). This is a very brief overview, and Apache has many more options to allow more then one port to be used and so on, but I wont be going to that much detail right now.
Getting and Installing Apache
Apache can be installed on Windows or Linux. If you want a fast, reliable, more advanced server then go with Linux. If however you are using Windows, and only plan to play around with Apache, then the Windows version will do fine, but it is highly unstable and has a lot of security holes.
Below are direct links to Apache, if they don't work or are out of date please tell me and try this link: http://apache.org/. The link for the Windows version is slightly older version for Apache, but it is the easiest to set up since it comes as an executable set-up file, so you don't have to do any compiling.
Installing Apache for Windows is easy, just download the file above and double-click it. Follow the onscreen instructions and your away! Once installed, click here to learn how to use it.
Installing Apache for Linux
If you've decided to brave Linux, then this should help you. Because every guide on the web is for Redhat, I'm going to be different. This guide focuses on SuSE Linux 7.1 +, if you are using another distrib, then there shouldn't be much problem cause its all the same OS isn't it!
This guide assumes you have downloaded the tar ball version (tar.gz file extension). First extract the file to a temporary folder either by using the archive or by typing:
tar -zxvf <tarballfile.tar.gz>