Apache Web Server

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

Apache web server

This article or section is a stub. It does not yet contain enough information to be considered a
real article. In other words, it is a short or insufficient piece of information and requires
additions.

Contents
 [hide] 

 1Introduction
 2Software and installation
o 2.1Installing compiled http packages
o 2.2Configuration
o 2.3DSO modules
 3Links
o 3.1General
o 3.2Manuals
o 3.3FAQs and Forums
o 3.4Other tutorials/resources

1 Introduction

The Apache HTTP Server Project is a collaborative software development effort aimed at
creating a robust, commercial-grade, featureful, and freely-available source code implementation
of an HTTP (Web) server. The project is jointly managed by a group of volunteers located
around the world, using the Internet and the Web to communicate, plan, and develop the server
and its related documentation”. (Apache HTTP Server Project, retrieved 08:18, 29 May 2009
(UTC)).

Most educational web applications run on a traditional web server, and most of these use Apache
plus the MySQL database server plus a server-side scripting language, PHP in particular. Even
non-technical people might consider learning how to install a webserver/MySQL/PHP bundle on
a PC in order to try out various software such as learning management systems.

2 Software and installation

Currently (May 2009) there exist three versions:

 The 2.2.x series. Unless there is a good reason for using an older series (e.g. specific
modules that you need), take this one.
 The 2.0.x series
 The 1.3.x series
Getting the source

You can compile the server, but generally speaking it is easier to install a binary version (see
below)

 http://httpd.apache.org/

2.1 Installing compiled http packages

The Apache web server runs on most operating system and on most, it has become really easy to
install it.

 On Linux, it may be preinstalled, else you can get it through a package manager.
 See the WAMP article for hints on using Apache/MySQL/Php bundles for a Windows PC.
You also can download a binary version from apache, but installing "WAMP" package is
easier.
 On Solaris, there are pre-installed versions. However we suggest either compiling it or
getting a newer version from Sunfreeware.com.

2.2 Configuration

The webserver is configured by editing hte http.conf configuration file that usually sits the
installation_directory/conf/http.conf.

See the Directive Quick Reference


2.3 DSO modules

Apache server has an extension mechanism that allows to add modules without recompiling the
server.

“The Apache HTTP Server is a modular program where the administrator can choose the
functionality to include in the server by selecting a set of modules. The modules can be statically
compiled into the httpd binary when the server is built. Alternatively, modules can be compiled
as Dynamic Shared Objects (DSOs) that exist separately from the main httpd binary file. DSO
modules may be compiled at the time the server is built, or they may be compiled and added at a
later time using the Apache Extension Tool (apxs).” (Dynamic Shared Object (DSO) Support,
retrieved 08:40, 29 May 2009 (UTC)).

3 Links

3.1 General

 Apache HTTP Server (Wikipedia).

The Apache HTTP Server (/əˈpætʃi/ ə-PATCH-ee) is a free and open-source cross-


platform web server software, released under the terms of Apache License 2.0. Apache is
developed and maintained by an open community of developers under the auspices of
the Apache Software Foundation.

The vast majority of Apache HTTP Server instances run on a Linux distribution,[6] but current
versions also run on Microsoft Windows,[7] OpenVMS,[8] and a wide variety of Unix-
like systems. Past versions also ran on NetWare, OS/2 and other operating systems,[9] including
ports to mainframes.[10]

Originally based on the NCSA HTTPd server, development of Apache began in early 1995 after
work on the NCSA code stalled. Apache played a key role in the initial growth of the World
Wide Web,[11] quickly overtaking NCSA HTTPd as the dominant HTTP server. In 2009, it
became the first web server software to serve more than 100 million websites.[12]

As of January 2021, Netcraft estimated that Apache served 24.63% of the million busiest


websites, while Nginx served 23.21% and Microsoft is in third place at 6.85% (for some of
Netcraft's other stats Nginx is ahead of Apache),[13] while according to W3Techs, Apache is
ranked first at 35.0% and Nginx second at 33.0% and Cloudflare Server third at 17.3%

How Does Apache Work? Web Server Basics Explained

While there’s a lot of complexity underpinning how a web server functions, the basic job of all
web servers is to accept requests from clients (e.g. a visitor’s web browser) and then send the
response to that request (e.g. the components of the page that a visitor wants to see).

The Apache web server has modules which add more functions to its software, such as MPM

(for handling multi-processing modes) or  mod_ssl  for enabling SSL v3 and TLS support

(suggested reading: TLS vs SSL). Some common features seen in Apache include:

 .htaccess
 IPv6
 FTP
 HTTP/2
 Perl, Lua, and PHP
 Bandwidth throttling
 WebDAV
 Load balancing
 URL rewriting
 Session tracking
 Geolocation based on IP address

While a web server is an essential part of any website, it’s important to note that casual
WordPress users are unlikely to interact with their web server directly most of the time.

What is Apache?

Apache is a remarkable piece of application software. It is the most widely used Web Server
application in the world with more than 50% share in the commercial web server market. Apache
is the most widely used Web Server application in Unix-like operating systems but can be used
on almost all platforms such as Windows, OS X, OS/2, etc. The word, Apache, has been taken
from the name of the Native American tribe ‘Apache’, famous for its skills in warfare and
strategy making.

It is a modular, process-based web server application that creates a new thread with each
simultaneous connection. It supports a number of features; many of them are compiled as
separate modules and extend its core functionality, and can provide everything from server side
programming language support to authentication mechanism. Virtual hosting is one such feature
that allows a single Apache Web Server to serve a number of different websites.

What is Apache?

Apache is a remarkable piece of application software. It is the most widely used Web Server
application in the world with more than 50% share in the commercial web server market. Apache
is the most widely used Web Server application in Unix-like operating systems but can be used
on almost all platforms such as Windows, OS X, OS/2, etc. The word, Apache, has been taken
from the name of the Native American tribe ‘Apache’, famous for its skills in warfare and
strategy making.

It is a modular, process-based web server application that creates a new thread with each
simultaneous connection. It supports a number of features; many of them are compiled as
separate modules and extend its core functionality, and can provide everything from server side
programming language support to authentication mechanism. Virtual hosting is one such feature
that allows a single Apache Web Server to serve a number of different websites.

NCSA HTTPd Web Server

The foundations of the Apache web server started in the US at the National Center for
Supercomputing Applications (NCSA). A team, including key developer Robert McCool
wrote the NCSA HTTPd Web Server. This was one of the earliest client-server web servers
available. In the early 1990s, the NCSA HTTPd web server powered an overwhelming
majority of the Internet’s websites. i
Robert McCool left the NSCA in 1994, and soon after, the NCSA ceased development of
HTTPd Web Server. In 1995, the Apache Foundation started to take shape, with developers
beginning to update and share the HTTPd Web Server source code with the aim to further its
development; this eventually culminated in the open source Apache Webserver being
released. ii

Advantages of Using Apache

Apache Web Server is well-optimized and can handle a large amount of traffic and data
transfer on minimal hardware requirements. Apache is easily scalable; as a website grows,
system administrators can easily increase the number of web servers in their web hosting
farm. Above all, Apache is free. This is a huge advantage over web servers in the marketplace
which have expensive licensing models, not to mention require more hardware resources.

How does an Apache Web Server work?

Apache is a multitasking program which gathers data from a server to deliver content from the
server filesystem to a client request. The client is usually a web browser, and the filesystem is
where the website content is stored. The web server can interact with modules, databases and
applications to create data and content; this data is then published to the client (usually a
desktop web browser). Apache is capable of publishing multiple requests simultaneously to
several clients at once. The only limiting factor is the hardware capabilities of the server
itself.

Who uses an Apache Web Server?

Apache Web Server is used by approximately 47% of all internet websites, iii and of the top
one million websites, Apache is used on nearly 69% of them. iv Linux is the most popular
operating system to use with Apache. Most WordPress hosting providers offer Apache on
Linux hosting hardware, often teamed with management applications such as cPanel. Some of
the world’s biggest companies trust Apache Server, including Apple, Google, PayPal and
Adobe.v

References
i
Www6.uniovi.es. (2018). NCSA httpd Overview. [online] Available at:
http://www6.uniovi.es/~antonio/ncsa_httpd/Overview.html [Accessed 10 May 2018].

ii
Apache.org. (2018). ASF History Project. [online] Available at:
https://www.apache.org/history/ [Accessed 9 May 2018].

iii
W3techs.com. (2018). Usage Statistics and Market Share of Apache for Websites, May
2018. [online] Available at: https://w3techs.com/technologies/details/ws-apache/all/all
[Accessed 11 May 2018].
iv
Calin, B. (2018). Statistics from the top 1,000,000 websites - Acunetix. [online] Acunetix.
Available at: https://www.acunetix.com/blog/articles/statistics-from-the-top-1000000-
websites/ [Accessed 11 May 2018].

v
W3techs.com. (2018). Usage Statistics and Market Share of Apache for Websites, May 2018.
[online] Available at: https://w3techs.com/technologies/details/ws-apache/all/all [Accessed 11
May 2018].

NCSA HTTPd Web Server

The foundations of the Apache web server started in the US at the National Center for
Supercomputing Applications (NCSA). A team, including key developer Robert McCool
wrote the NCSA HTTPd Web Server. This was one of the earliest client-server web servers
available. In the early 1990s, the NCSA HTTPd web server powered an overwhelming
majority of the Internet’s websites. i

Robert McCool left the NSCA in 1994, and soon after, the NCSA ceased development of
HTTPd Web Server. In 1995, the Apache Foundation started to take shape, with developers
beginning to update and share the HTTPd Web Server source code with the aim to further its
development; this eventually culminated in the open source Apache Webserver being
released. ii

Advantages of Using Apache

Apache Web Server is well-optimized and can handle a large amount of traffic and data
transfer on minimal hardware requirements. Apache is easily scalable; as a website grows,
system administrators can easily increase the number of web servers in their web hosting
farm. Above all, Apache is free. This is a huge advantage over web servers in the marketplace
which have expensive licensing models, not to mention require more hardware resources.

How does an Apache Web Server work?

Apache is a multitasking program which gathers data from a server to deliver content from the
server filesystem to a client request. The client is usually a web browser, and the filesystem is
where the website content is stored. The web server can interact with modules, databases and
applications to create data and content; this data is then published to the client (usually a
desktop web browser). Apache is capable of publishing multiple requests simultaneously to
several clients at once. The only limiting factor is the hardware capabilities of the server
itself.

Who uses an Apache Web Server?

Apache Web Server is used by approximately 47% of all internet websites, iii and of the top
one million websites, Apache is used on nearly 69% of them. iv Linux is the most popular
operating system to use with Apache. Most WordPress hosting providers offer Apache on
Linux hosting hardware, often teamed with management applications such as cPanel. Some of
the world’s biggest companies trust Apache Server, including Apple, Google, PayPal and
Adobe.v

References
i
Www6.uniovi.es. (2018). NCSA httpd Overview. [online] Available at:
http://www6.uniovi.es/~antonio/ncsa_httpd/Overview.html [Accessed 10 May 2018].

ii
Apache.org. (2018). ASF History Project. [online] Available at:
https://www.apache.org/history/ [Accessed 9 May 2018].

iii
W3techs.com. (2018). Usage Statistics and Market Share of Apache for Websites, May
2018. [online] Available at: https://w3techs.com/technologies/details/ws-apache/all/all
[Accessed 11 May 2018].

iv
Calin, B. (2018). Statistics from the top 1,000,000 websites - Acunetix. [online] Acunetix.
Available at: https://www.acunetix.com/blog/articles/statistics-from-the-top-1000000-
websites/ [Accessed 11 May 2018].

v
W3techs.com. (2018). Usage Statistics and Market Share of Apache for Websites, May 2018.
[online] Available at: https://w3techs.com/technologies/details/ws-apache/all/all [Accessed 11
May 2018].

Apache Web Application Architecture

Apache is just one component that is needed in a web application stack to deliver web content.
One of the most common web application stacks involves LAMP, or Linux, Apache, MySQL,
and PHP.
Linux is the operating system that handles the operations of the application. Apache is the web
server that processes requests and serves web assets and content via HTTP. MySQL is the
database that stores all your information in an easily queried format. PHP is the programming
language that works with apache to help create dynamic web content.

While actual statistics may vary, it’s fair to say a large portion of web applications run on some
form of the LAMP stack because it is easy to build and also free to use. For the most part, web
applications tend to generally have similar architecture and structure even though they serve
many different functions and purposes. Most web applications also benefit from Firewalls, Load
Balancers, Web Servers, Content Delivery Networks, and Database Servers.

Firewalls help protect the web application from both external threats and internal vulnerabilities
depending on where the firewalls are configured. Load Balancers help distribute traffic across
the web servers which handle the HTTP(S) requests (this is where Apache comes in) and
application servers (servers that handle the functionality and workload of the web app.) We also
have Database Servers, which handle asset storage and backups. Depending on your
infrastructure, your database and application can both live on the same server although it’s
recommended to keep those separate.

Easily monitor and troubleshoot Apache web activity

Gain better insight into systems infrastructure, and your clients and customers' interactions with
your website and applications.

Start free trial

Web Server Landscape

The internet is comprised of many different technologies and not all of them are the same. While
Apache is arguably one of the most popular web servers out there on the net, there are many
other players and the landscape is always changing. Back in the late 90s and early 2000s,
Apache’s dominance was very strong, serving over 50% of the internet's active websites.
Microsoft's IIS (Internet Information Services) was also an option but not nearly as popular.
Today, Apache still serves a large portion of the active websites but their share of the field has
shrunk from 50% to just under 40% as of 2018 and NGINX, a relatively new player to the web
server playing field, is in second place with roughly 35% and Microsoft IIS hovering around 8-
10%. Every year there’s a new crop of web applications with new stacks and servers so the
landscape is always changing.

Why Apache Web Servers?

Apache is considered open source software, which means the original source code is freely
available for viewing and collaboration. Being open source has made Apache very popular with
developers who have built and configured their own modules to apply specific functionality and
improve on its core features. Apache has been around since 1995 and is responsible as a core
technology that helped spur the initial growth of the internet in its infancy.

One of the pros of Apache is its ability to handle large amounts of traffic with minimal
configuration. It scales with ease and with its modular functionality at its core, you can configure
Apache to do what you want, how you want it. You can also remove unwanted modules to make
Apache more lightweight and efficient.

Some of the most popular modules that can be added are SSL, Server Side Programming Support
(PHP), and Load Balancing configs to handle large amounts of traffic. Apache can also be
deployed on Linux, MacOS, and Windows. If you learn how to configure Apache on Linux, you
can administer Apache on Windows and Mac. The only difference would be directory paths and
installation processes.

Features of Apache Web Server

 Handling of static files


 Loadable dynamic modules
 Auto-indexing
 .htaccess
 Compatible with IPv6
 Supports HTTP/2
 FTP connections
 Gzip compression and decompression
 Bandwidth throttling
 Perl, PHP, Lua scripts
 Load balancing
 Session tracking
 URL rewriting
 Geolocation based on IP address

How does Apache Web Server Work?

Apache functions as a way to communicate over networks from client to server using the TCP/IP
protocol. Apache can be used for a wide variety of protocols, but the most common is HTTP/S.
HTTP/S or Hyper Text Transfer Protocol (S stands for Secure) is one of the main protocols on
the web, and the one protocol Apache is most known for.

HTTP/S is used to define how messages are formatted and transmitted across the web, with
instructions for browsers and servers on how to respond to various requests and commands.
Hypertext Transfer Protocol Secure is usually through port 443 with the unsecured protocol
being through port 80.

The Apache server is configured via config files in which modules are used to control its
behavior. By default, Apache listens to the IP addresses configured in its config files that are
being requested. This is where one of Apaches many strengths come into play.

With the Listen directive, Apache can accept and route specific traffic to certain ports and
domains based on specific address-port combination requests. By default, Listen runs on port 80
but Apache can be bound to different ports for different domains, allowing for many different
websites and domains to be hosted and a single server. You can have domain1.com listening on
port 80, domain2.com on port 8080 and domain3.com on port 443 using HTTPS all on Apache.

Once a message reaches its destination or recipient, it sends a notice, or ACK message, basically
giving acknowledgment to the original sender that their data has successfully arrived. If there’s
an error in receiving data, or some packets were lost in transit, the destination host or client sends
a Not Acknowledged, or NAK message, to inform the sender that the data needs to be
retransmitted.

Who Uses Apache Web Server?

Apache HTTP web servers are used by over 67% of all web servers in the world. Apache web
servers are easy to customize environments, they’re fast, reliable, and highly secure. This makes
Apache web servers a common choice by best-in-class companies.

Alternatives for Apache HTTP Server

While Apache web servers are very popular, they’re not the only web servers on the market.
Below are a number of alternatives for Apache HTTP servers.

 Nginx
 Apache Tomcat
 Node.js
 Lighttpd
 Cherokee
 Microsoft IIS
 Appweb
 Hiawatha

Apache HTTP Server vs Tomcat

Simply put, Apache HTTP server is a web server designed to serve static web pages. Whereas,
Apache Tomcat is an application server built to serve java applications. Web pages can still be
served through Apache Tomcat, but it will be less efficient than using an Apache HTTP server.

Conclusion: Apache Web Server

Throughout the last few decades, Apache has proven to be a staple in many popular stacks and
the backbone of the early internet year. While it’s popularity is declining and the options of web
server choices are increasing, Apache still plays a pivotal role in many technology stacks and
companies system infrastructure. Even with new technologies and servers coming out nonstop,
Apache is still a technology every developer should learn how to handle and configure.

You might also like