Skip to content

Installing and Configuring Apache HTTP Server 2.4.4 from RPM Packages

The Evolution of Apache HTTP Server

Since its inception in 1995, the Apache HTTP server has seen tremendous adoption. It rose to dominance in the late 90s during the early days of the Internet, overtaking proprietary web servers from Microsoft, Netscape and others. Apache peaked with a market share of nearly 80% in 2005. Although its share has decreased to 46% presently, Apache continues to be the most popular web server software globally.

The first major release came in 2002 with Apache 2.0, refactoring the aging Apache 1.3 codebase into a modular architecture. This enabled third-party modules to extend functionality. Over its 20+ year history, Apache has focused on high performance, stability, security and scalability to meet demands of modern Internet traffic.

Apache 2.3 to 2.4 – Improved Performance and Scalability

The jump from Apache 2.2 to 2.4 brought major enhancements to keep up with evolving web deployment environments like the cloud. Some of the key improvements include:

  • Up to 8x better performance with event MPM module
  • Lower memory footprint – 20-50% reduced memory usage
  • Asynchronous support handles more simultaneous connections
  • On-demand loading of modules
  • Fine-grained control over configuration
  • Platform improvements for cloud environments

Benchmark tests show that Apache 2.4 significantly outperforms 2.2 in most workloads. The combination of enhancements gives Apache 2.4 superior concurrency and efficiency in multi-core and multi-processor hardware. This makes it ideal for modern cloud infrastructure and containers.

Version Requests/sec Load Test
2.2 21,072 ab 100k x 10 threads
2.4 166,070 ab 100k x 10 threads

Figures 1 – Apache benchmark comparisons (source: {1})

Advantages of RPM Packages

On CentOS, RHEL and other RPM-based Linux distributions, pre-compiled RPM (Redhat Package Manager) packages offer significant benefits over source compilation:

  • Faster installation – no need to compile from source
  • Easier upgrades – single upgrade command
  • Consistent configurations – uses vendor specifications
  • Patching security fixes is simpler
  • Facilitates deployment automation

Additionally, the modular structure separates core server (httpd), SSL functionality (mod_ssl) and other modules into respective packages. This allows flexibility to install only required components.

Downloading and Installing Apache 2.4.4

Now that we understand the performance improvements in Apache 2.4 series and advantages of RPM packages, let‘s go through the installation process…

1. Download Latest RPM Packages

First, use wget to grab the latest Apache 2.4.4 rpm packages from the distribution mirrors:

$ wget https://rpm.example.com/httpd-2.4.4-1.x86_64.rpm
$ wget https://rpm.example.com/mod_ssl-2.4.4-1.x86_64.rpm

2. Install Apache and Enable SSL Module

Next, run the following commands as root or with sudo privileges to install Apache 2.4.4:

# rpm -ivh httpd-2.4.4-1.x86_64.rpm
# rpm -ivh mod_ssl-2.4.4-1.x86_64.rpm

This installs Apache under /etc/httpd directory and modules under /etc/httpd/modules. The main configuration resides at /etc/httpd/conf/httpd.conf.

3. Start the Apache Service

Issue the following systemctl command to start the Apache httpd service:

# systemctl start httpd

By default, Apache listens on port 80. You should now be able to access the Apache test page at http://your_server_ip.

Configuring Apache for Enhanced Performance

Now that Apache is installed and running, we can tweak configurations for better performance. Some key optimizations include:

1. Enable the Event MPM…