What Is Apache (Apache HTTP Server)?

Category: Web Servers ยท Updated 2026-11-01

Apache, formally the Apache HTTP Server and commonly run as a background process called httpd, is free, open-source web server software maintained by the Apache Software Foundation. It has been one of the most widely used web servers since its release in 1995, known for its modular design and for supporting per-directory .htaccess configuration files that let individual site folders override server settings without touching the main configuration.

Where Apache came from

Apache grew out of NCSA HTTPd, an early web server, and was first released under the Apache Software Foundation in 1995. According to the project's own commonly repeated history, the name plays on it being "a patchy server," built from a collection of software patches contributed by its early developers. Three decades later, it remains an actively maintained, mainstream choice, particularly on Linux-based shared hosting and cPanel environments.

How Apache handles requests: MPMs

Apache processes incoming connections using a swappable component called a Multi-Processing Module (MPM), and the choice of MPM shapes how it performs under load:

MPMHow it worksNotable trait
preforkSpawns a separate process per connectionCompatible with older, non-thread-safe modules like mod_php
workerUses threads within processesLower memory use than prefork under load
eventThreaded, with dedicated handling for keep-alive connectionsDefault on most modern installs, closest to Nginx-style efficiency

Key features that define Apache

  • .htaccess files: per-directory configuration that site owners can edit without server-wide access, widely used on shared hosting
  • Modular architecture: functionality like URL rewriting (mod_rewrite), HTTPS (mod_ssl), and web application firewall rules (mod_security) are added as loadable modules
  • Virtual hosts: name-based configuration that lets one Apache install serve many different domains from a single server
  • Broad platform support: runs on Linux, Windows, and macOS, and is bundled with most Linux distributions' package managers

Apache today: still a mainstream choice

Apache remains a default option on much of cPanel-based shared hosting and continues to pair closely with PHP, either through the older mod_php module or the faster, more modern PHP-FPM. It coexists in the market with alternatives such as Nginx and LiteSpeed, each with different strengths around raw concurrency and built-in caching, but Apache's long track record and .htaccess flexibility keep it in active, ongoing use rather than treated as legacy software.

Basic commands for managing Apache

On most Linux systems, Apache is managed through systemd and its own configuration-test utility:

# Start, stop, and check status
sudo systemctl start apache2
sudo systemctl status apache2

# Test configuration syntax before reloading
apachectl configtest

# Reload configuration without dropping connections
sudo systemctl reload apache2

Frequently asked questions

What does httpd stand for?

httpd stands for "HTTP daemon," the generic name for the background process that runs the Apache HTTP Server (or another web server) and listens for incoming HTTP requests.

Is Apache free to use?

Yes, Apache HTTP Server is free, open-source software released under the Apache License, with no cost to download, install, or run on your own server.

Is Apache still widely used today?

Yes, Apache remains an actively maintained and commonly deployed web server, especially on Linux-based shared hosting and cPanel environments, alongside alternatives like Nginx and LiteSpeed.

What is .htaccess used for in Apache?

A .htaccess file lets you set configuration for a specific folder, such as redirects, custom error pages, or access restrictions, directly from that folder without editing the server's main configuration file.

Does Apache support PHP?

Yes, Apache runs PHP either through the older mod_php module, which embeds PHP directly in the Apache process, or through PHP-FPM, a separate PHP process manager that Apache forwards requests to.

How do I check which Apache version I'm running?

Run "apache2 -v" or "httpd -v" at the command line on most Linux systems, or check the server information shown in your hosting control panel if you do not have direct server access.

Related topics