Before we get into the particulars of Apache, let's talk about what a web server is.
What is a Web Server?
A web server is a program that runs on a host computer (also, confusingly enough, called a web server) that serves up web sites. In other words, the web server program sits around awaiting requests from visitors' web browsers for objects it has in its possession, and then sends these objects back for the visitor's viewing pleasure.
Objects that web servers can serve include HTML documents, plain text, images, sounds, video, and other forms of data. These objects may not necessarily exist in static form, but instead are generated on-the-fly by programs run by the server; CGI scripts are the most common of these programs.
Web servers and browsers communicate using HTTP, Hypertext Transfer Protocol, a simple but effective language for requesting and transmitting data over a network. Thus, you'll sometimes hear web servers referred to as HTTP servers.
Web servers come in various shapes and sizes. They run under a variety of operating systems, have varying levels of power and complexity, and range in price from rather expensive to free.
What's so special about Apache?
Apache is:
- Powerful : Apache's performance and reliability is legendary.
- Feature-Rich : The Apache server sports a host of features, including: XML support, server-side includes, powerful URL-rewriting, and virtual hosting, to name but a few. We'll be talking about some of these features in future articles.
- Modular : Looking for a feature not implemented in the core Apache server? Chances are you'll find a module that can add the functionality you need.
- Extensible : Can't find a module that suits your purposes? Well, as Apache is open source, you can write one yourself. In fact, you can even make changes to the inner workings of Apache. All the information you need is right there in the source code and numerous online resources. Share your patches or modules with the community by making them open source as well!
- Popular : At the time of this writing, Apache holds a smidge under 60 percent of the web server market. And, yes, popularity does count; help abounds and is only a mailing list or newsgroup posting away.
- Free : This is one instance where you don't necessarily get what you pay for.
References
- Apache is maintained by the Apache Software Foundation's Apache Server Project at http://www.apache.org.
- PHP is a server-side HTML embedded scripting language. It provides web developers with a full suite of tools for building dynamic websites: native APIs to Apache and other web servers; easy access to MySQL, Sybase, Oracle, and other databases; IMAP; LDAP; HTTP headers and cookies. This site http://www.php.net/ is the official home of PHP4.
- Zend - http://www.zend.com/ is a bottom-up rewrite of the PHP scripting engine. It features a modular architecture, vastly improved performance, and greater scalability
- MySQL - http://www.mysql.com/ is the software's official homepage with news, downloads and documentation.
- phpMyAdmin - http://www.phpmyadmin.net/ handles the administration of one or more MySQL servers over the web. Written in PHP.