Technical University of Mombasa
HIS 4402: OPEN SOURCE SOFTWARE AND TOOLS FOR
LIBRARIES AND INFORMATION
LECTURER: STEPHEN ODERA
EMAIL:
[email protected] MOBILE PHONE: 0727558921
LECTURE SESSIONS
Session Seven: Webserver: Apache HTTP Server
7.1 Session Objectives
By the end of this session, you should be able to:
Explain Apache HTTP Server.
Discuss how Apache Web Server work.
Explain Apache Pros and Cons.
7.2 Introduction
A web server is a computer that runs websites. It's a computer program that
distributes web pages as they are requisitioned. The basic objective of the web server
is to store, process and deliver web pages to the users. This intercommunication is
done using Hypertext Transfer Protocol (HTTP). These web pages are mostly static
content that includes HTML documents, images, style sheets, test etc. Apart from
HTTP, a web server also supports SMTP (Simple Mail transfer Protocol) and FTP (File
Transfer Protocol) protocol for emailing and for file transfer and storage.
TUM is ISO 9001:2015 Certified
1
Technical University of Mombasa
The main job of a web server is to display the website content. If a web server is not
exposed to the public and is used internally, then it is called Intranet Server. When
anyone requests for a website by adding the URL or web address on a web browsers
(like Chrome or Firefox) address bar (like www.tum.ac.ke), the browser sends a
request to the Internet for viewing the corresponding web page for that address. A
Domain Name Server (DNS) converts this URL to an IP Address (For example
192.168.216.345), which in turn points to a Web Server.
The Web Server is requested to present the content website to the user’s browser. All
websites on the Internet have a unique identifier in terms of an IP address. This
Internet Protocol address is used to communicate between different servers across the
Internet. These days, Apache server is the most common web server available in the
market. Apache is an open source software that handles almost 70 percent of all
websites available today. Most of the web-based applications use Apache as their
TUM is ISO 9001:2015 Certified
2
Technical University of Mombasa
default Web Server environment. Another web server that is generally available is
Internet Information Service (IIS). IIS is owned by Microsoft.
7.3 Apache HTTP Server
This is the most popular web server in the world developed by the Apache Software
Foundation. Apache web server is an open source software and can be installed on
almost all operating systems including Linux, UNIX, Windows, FreeBSD, Mac OS X
and more. About 60% of the web server machines run the Apache Web Server.
The Apache HTTP Server 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.
The job of a web server is to serve websites on the internet. To achieve that goal, it acts
as a middleman between the server and client machines. It pulls content from the
server on each user request and delivers it to the web. The biggest challenge of a web
server is to serve many different web users at the same time — each of whom is
requesting different pages. When you hear the word web server, think of it as the tool
responsible for the proper server-client communication.
7.4 How does Apache Web Server work?
Although we call Apache a web server, it is not a physical server, but rather a software
that runs on an HTTP server. Its job is to establish a connection between a server and
TUM is ISO 9001:2015 Certified
3
Technical University of Mombasa
the browsers of website visitors (Firefox, Google Chrome, Safari, etc.) while delivering
files back and forth between them (client-server structure). The Apache software is
also compatible with any operating system, from Windows to UNIX.
When a visitor wants to load a page on your website, for instance, the homepage or
your “About Us” page, their browser sends a request to your server, and Apache
returns a response with all the requested files (text, images, etc.).
The server and the client communicate through the HTTP protocol, and the Apache
web server is responsible for the smooth and secure communication between the two
machines.
Apache is highly customizable, thanks to its open-source infrastructure. Due to this,
web developers and users can adapt its source code according to the type of website
they’re creating.
In addition, Apache provides plenty of modules that allow server administrators to
turn additional functionalities on and off. The Apache web server has modules for
security, caching, URL rewriting, password authentication, and other features.
TUM is ISO 9001:2015 Certified
4
Technical University of Mombasa
7.5 Apache Pros and Cons
An Apache web server can be an excellent choice to run your website on a stable and
versatile platform. However, it also comes with some disadvantages you need to pay
attention to.
Pros:
1. Open-source and free, even for commercial use.
2. Reliable, stable software.
3. Frequently updated security patches.
4. Flexible due to its module-based structure.
5. Easy to configure, beginner-friendly.
6. Cross-platform (works on both UNIX and Windows servers).
7. Optimal deliverability for static files and compatibility with any programming
language (PHP, Python, etc)
TUM is ISO 9001:2015 Certified
5
Technical University of Mombasa
8. Works out of the box with WordPress sites.
9. Huge community and easily available support in case of any problem.
Cons:
1. Performance problems on extremely traffic-heavy websites.
2. Too many configuration options can lead to security vulnerabilities.
TUM is ISO 9001:2015 Certified
6