Apache HTTPD Logo

Apache HTTP Server - open-source, cross-platform Web Server

The Apache HTTPd Server, called simply Apache, is a free and open-source cross-platform web server software, released under the terms of Apache License 2.0. Apache Web Server is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation. The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.

Specifications:

  • Project Category: Web Server
  • Project Name: Apache HTTPd Server
  • Latest Version: 2.4.54
  • Release Date: 2022-06-08
  • Project Developer: Apache Software Foundation
  • Project License: Apache License 2.0
  • OpenSource, Free: Yes
  • Written in: C, XML
  • Operating Systems: Windows, MacOS, Linux, OpenBSD, NetBSD, FreeBSD, other
  • Project Documentation: httpd.apache.org/docs
  • Project Website: httpd.apache.org

  Download Apache Server / Source Code and Binaries: Links on the Official Website
free 0

Review

0 5 4.8
The Apache HTTPd Server (named also Apache Web Server) is one of the most popular web servers widely used by more than 33% of total websites. The project is being actively developed and up-to-date critical security patches are provided in real time. The development of this web server began in early 1995 thus it played a key role in the growth of the World Wide Web.
The server has a good record for security and a developer community highly concerned about security issues. It is also often described as one of the most secure web servers.
This web server provides a variety of MPMs (MultiProcessing Modules), which allows it to run in a process-based mode MPM-PREFORK, a hybrid (process and thread) mode MPM-WORKER or an event-hybrid mode MPM-EVENT thus it can handle large amounts of traffic with minimal resources.
It exists to provide a robust and commercial-grade reference implementation of an open-source web server software. It must remain a free and open source platform upon which individuals and institutions can build reliable web and cloud systems. The Apache Software Foundation is an organic entity and those who benefit from this software by using it, often contribute back to it by providing feature enhancements, bug fixes, and support for others in public lists and newsgroups. There is a core group of contributors, formed initially of the project founders, and augmented from time to time by other outstanding contributors.

Pros +
  • Can run as unprivileged user / group (ex: www / www)
  • It can be used as a trusted web server for both: mission-critical and experimental purposes
  • It is highly configurable and extensible with third-party modules
  • Can be customised by writing modules using the Apache module API
  • The Server provides full source code and comes with an unrestrictive license and runs on a majority of operating systems (cross-platform)
  • Allow setting different permissions assigned on multiple ServerRoot Directories
  • It provides the necessary configuration to deal with basic (DOS) Denial of Service attacks
Cons -
  • The Worker and Event MPMs does not yet have full support for multithreaded PHP module on all operating systems / platforms (only the Prefork MPM does it on all platforms at the moment)
  • The Prefork MPM spawns new processes for each request making things less efficient and may consume more RAM under heavy loads

Features

  • Provide a powerful, flexible, HTTP/1.1 compliant web server.
  • Implements the latest protocols, including HTTP/2, by a separate httpd module (mod_http2).
  • Allows to easily set up password-protected areas or pages with huge number of authorized users.
  • Supports customized responses to errors and problems.
  • Unlimited flexible URL rewriting and aliasing.
  • Virtual Hosts - allows the server to distinguish between requests made to different IP addresses or names ; it also offers dynamically configurable mass-virtual hosting.
  • Content negotiation - i.e. the ability to automatically serve clients of varying sophistication and HTML level compliance, with documents which offer the best representation of information that the client is capable of accepting.

(c) 2022 w3soft.org, license: GPLv3 learning resources for software development and operating systems administration configuration Apache HTTP Server apache conf

Apache HTTP Server - Sample Configuration

## Sample (minimal) Configuration for Apache HTTP Server v 2.4 @ /etc/apache2/httpd2.conf

ServerRoot "/var/www"

## Minimal modules needed, using MPM Prefork (the standard setup)

#LoadModule mpm_event_module   modules/mod_mpm_event.so
#LoadModule mpm_worker_module  modules/mod_mpm_worker.so
LoadModule  mpm_prefork_module modules/mod_mpm_prefork.so

LoadModule  unixd_module       modules/mod_unixd.so

LoadModule  log_config_module  modules/mod_log_config.so

LoadModule  mime_module        modules/mod_mime.so
LoadModule  dir_module         modules/mod_dir.so
LoadModule  authz_core_module  modules/mod_authz_core.so

<IfModule unixd_module>
User www
Group www
</IfModule>

TypesConfig conf/mime.types

PidFile logs/httpd.pid

## Port to Listen on
Listen *:80

## In a basic setup httpd can only serve files from its document root
DocumentRoot "/var/www/htdocs"

## Default file to serve
DirectoryIndex index.html

## Errors go to their own log
ErrorLog logs/error_log

## Access log
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog logs/access_log common

## Never change this block. It must deny access to everything except below allow access to the www DocumentRoot
<Directory />
  AllowOverride None
  Require all denied
</Directory>

## Allow documents to be served from the DocumentRoot
<Directory "/var/www/htdocs">
  Require all granted
</Directory>

## END


(c) w3soft.org, license: CC BY-SA 3.0

FAQs - Frequently Asked Questions about Apache HTTP Server

  1. Question:
    Is Apache Web Server Free ?
    Yes, the Apache HTTPd Server is free and open source, released under the Apache License 2.0.
    The Apache Software Foundation specify that all their software projects will be always available for free. The Apache License, that covers also the Apache Web Server among other projects, meets both the Open Source Initiative's (OSI) Open Source Definition, and the Free Software Foundation's definition of "free software".
  2. Question:
    What is Apache written in ?
    The Apache Web (HTTP) Server is written in C and XML.
    Apache Web Server in mostly written in C language with some small parts written in XML. The C language is used in many servers or operating systems as a low level language that offer a very low memory footprint.