Apache Web Server- Introduction
The word Apache entered English via Spanish, but the ultimate origin is uncertain. The apache project was responsible for producing the most reliable and efficient of free web servers currently available. Because of its simplicity in use and the effectiveness of configurations, apache http server has been able to cover up to 50% of the total active web servers in the world.
The project is currently active under the Apache Software foundation, which is responsible for the development, support and maintenance of the software. The software has been success in large counts and was successful in evolving into the next stage as the version 2 of the basic software. Apache version 2 or the apache2 will be the main point of discussion here. Taking back to the history, the project name was so chosen, since apache represents the name of the American tribe which is best known for their extensive skills in warfare and endurance. As for apache, endurance run has always been the active point of discussion. The project started with codebase of NCSA HTTPd(National Center for Supercomputing Applications webserver, one of the earliest web servers developed by a group of programmers led by Mr. Robert McCool. The NCSA project was later suspended on 1998 and since this happened, apache foundation has removed the relevant codes from the apache web server. Apache server developers have not restricted themselves to a OS platform and has been able to develop the software to its best functionality on UNIX, Linux, Solaris and Mac OS X. They have equal functionalities and procedures available which helps the user to cover up most of the cross platform troubles. Apache software Foundation, in the aim to achieve the best of development has made the software a part of Open Source programs. Thus providing the software for free and still maintaining the best of reputation.
Mr. Robert McCool was responsible for the development for the first version of the software. Mr. Robert had left the NCSA by the mid of 1994 and the code was available for public. On a later stage the new patches and updates for the software were circulated over via emails. Apache had undergone an overhaul with development on the later stages starting from 1995, with a significant effort from Mr. Rob Hartill and crew, they were able to develop new features like pre-forked child processes and later during the development, features like API for better extensibility, pool-based memory allocation, and an adaptive pre-forking process model were added to the software thus making it the best available one. The softwares were subjected to beta testing and addition of standard modules Apache1.0 was launched on December1, 1995.
1.1 Evolution of the server
The development has risen close to the release of Apache 2.2 which includes the maximum changes and updates. Mailing lists stands out as the main source for updates and developments for the project. Although the core members of the foundation still provide their best to the project. Apache 2.2 has made considerable changes to both core program and the list of modules available for the software. Major features like:==>Bundled authentication and authorization modules have been updated. Mod_authn_alias configurations should provide the best options for the new authentication.
==>Modules like cache, disk_cache, mem_cache has been updated and the new feature by the name htcacheclean has been active for the new version of apache
==>Configuration files are now categorized. You will now have separate configuration files rather than having a single httpd.conf file which was considered to be the central point on earlier versions.
==>Gracefulshutdowntimeout variable has been added to the server to specify the timeout required for the graceful reboot of server.
==>Couple more features like proxies; Regular Expression library has been updated.==>Smart filter module is another important update to the version which allows the firewall to be added with rules that can help filter the results based on the response header or environment variable. It is now able to cover up the dependencies with respect to the earlier release apache2.0
==>Now apache can withstand the 2GB limit which it tend to have in the previous versions. Normally the service used to stop at the point but the latest release will be able to cover files above the limit.
==>Event MPM allows creating separate thread for KEEPALIVE requests and accepting connections. This should help in preventing the timeout delays for accepting new connections.
==>Also introduces new API by the name APR 1.0 API
httpd -M
option is quite remarkable and will let you know the details on the modules loaded on to the current configuration. It has been quite helpful in troubleshooting of most apache errors that you will encounter during the run.
1.2 Installation
Installation instructions for the software will be simple and quite neat.
cd /usr/local/src
wget http://www.uniontransit.com/apache/httpd/httpd-2.2.6.tar.gz
tar -xzvf httpd-2.2.6.tar.gz
cd httpd-2.2.6
./configure --prefix=/usr/local/apache2
make
make install
The compile and installation should be simple as that. Although you will like to use additional options such as
--enable-rewrite=shared FOR ENABLING REWRITE MODULES
--enable-speling=shared FOR SPELL CHECK
--enable-so LOADING UP .SO MODULES SPECIFIED
--enable-cgi LOAD UP CGI
--enable-usertrack TRACE BACK APACHE ROUTE
--enable-deflate
--enable-ssl \
--enable-mime-magic
1.2Configuration
Apache2 presents modularized configuration of sites and functions which should keep the main configuration file free and neat. You will be able to add the virtual host entries to a different file without altering the details of main httpd.conf file. Again, the location doesn't change for the old settings you will still find the apache configuration file at:
pico /usr/local/apache2/conf/httpd.conf
the attributes are similar to what we had for the old versions and to add to this you will have a few more directives which should make the work a better place. So the process of decentralization of configurations has really helped. The configuration settings are same as in previous settings, you will need to use
LoadModule
Or the traditional
“, AddModule, ClearModuleList”
As you will be familiar you will find the following directives still active on the server and you will be able to configure it as per requirements:
- Directory
- DirectoryMatch
- Files
- FilesMatch
- Location
- LocationMatch
- VirtualHost
Again you can use the directives like
· AccessFileName
· AllowOverride
As for the function AllowOverride which is mostly confused for the functionality, please make sure that it is entered in the “” tags so that you get the full functionality. You can still get the details of usage at:
http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride
Since the functions are already used with older versions of apache, you should find it quite similar.
"<" VirtualHost [2001:db8::a00:20ff:fea7:ccea]">"
ServerAdmin webmaster@host.example.com
DocumentRoot /www/docs/host.example.com
ServerName host.example.com
ErrorLog logs/host.example.com-error_log
TransferLog logs/host.example.com-access_log
"<"/VirtualHost">"
This will be an addition as it presents to you with the ipv6 format for address based addition of websites.
These are quite noticable changes, although the review part is just complete for the time. But
I am still working with the servers for details. Now for the exact review of the software, the installation worked fine no possible errors were viewed. I had installed this on the apache 1.3 upgraded machine so there was nothing to be added. I will have to try installing on a fresh machine for checks on this regard, meanwhile if you do have trouble with these, then please add comments so that I will keep the records updated.
The cons for the software is it first hand look from 1.3 to 2, when you will view the details you may find it troublesome in getting to the configuration files. You should find this in /usr/local/apache2/conf/sites/
and there are noticable configuration updates there.
As for the security side, w.r.t, to secunia, the release is one of the most stable of configurations and the most secure of available configuration. Currently no hacks have been found to happen with the software and it also has the effective fix for the apache2 ddos vulnerability. Since these are the merits for apache 2.2. I will be constantly updating the thread with the issues am to face. Hope at the end of the day we have a perfect fix or may be a new release.