Apache - Personal Web Pages

advertisement
Web Servers
Who’s running the show?
What are they?
The big two:
POPULAR WEB SERVERS
Apache
http://en.wikipedia.org/wiki/Apache_web_server
We’re number one!
Apache

Apache HTTP Server, referred to simply as Apache:



A web server
Notable for playing a key role in the initial growth of the
World Wide Web
Apache

First viable alternative to Netscape Communications
Corporation web server


Evolved to rival other Unix-based web servers



Currently known as Sun Java System Web Server
Functionality and performance
Since April 1996 Apache has been the most popular
HTTP server on the World Wide Web
September 2007: Apache served 50% of all websites
Apache

Project's name was chosen for two reasons:



Respect for the Native American Indian Apache tribe

Well-known for their endurance and their skills in warfare

Making it "a patchy" server
Project's root is a set of patches to the codebase of NCSA
HTTPd 1.3
Apache is developed and maintained by

Open community of developers


Available for a wide variety of OSs



Microsoft Windows
Novell NetWare
Unix-like operating systems

e.g. Linux and Mac OS X

z-OS (IBM mainframe)
and more…

Apache is free software / open source software.


Under the auspices of the Apache Software Foundation
Released under the Apache License
APACHE HISTORY
History

First version of the Apache web server created by
Robert McCool

Heavily involved with the National Center for
Supercomputing Applications web server


When Rob left NCSA in mid-1994



Known simply as NCSA HTTPd
Development of httpd stalled
Left a variety of patches for improvements circulating
through e-mails
Rob McCool was not alone in his efforts

Several other developers helped form the original
"Apache Group":

Brian Behlendorf, Roy T. Fielding, Rob Hartill, David
Robinson, Cliff Skol nick, Randy Terbush, Robert S.
Thau, Andrew Wilson, Eric Hagberg, Frank Peters, and
Nicolas Pioch
History

Version 2 of the Apache server was a substantial rewrite of much of the Apache 1.x code


Strong focus on further modularization and the
development of a portability layer, the Apache Portable
Runtime
Apache 2.x core several major enhancements over Apache 1.x:







UNIX threading
Better support for non-Unix platforms
New Apache API
IPv6 support
First alpha release of Apache March 2, 2000
First general availability release on April 6, 2002
Version 2.2 introduced a new authorization API that
allows for more flexibility

Also features improved cache modules and proxy
modules
FEATURES
Features

Apache supports a variety of features

Many implemented as compiled modules


Extend the core functionality
Range from:
server-side programming language support
- to  authentication schemes


Common language interfaces support


mod_perl, mod_python, Tcl, and PHP
Popular authentication modules include

mod_access, mod_auth, and mod_digest
Features

Other features include:




SSL and TLS support
 mod_ssl
A proxy module
A useful URL rewriter
 AKA a rewrite engine, implemented under
mod_rewrite
Custom log files


Filtering support



mod_log_config
mod_include
mod_ext_filter
Apache logs can be analyzed

via web browsers with free scripts
 AWStats/W3Perl
 Visitors
Features

Virtual hosting allows one Apache installation
to serve many different actual websites

For example, one machine, with one Apache
installation could simultaneously serve:





Apache features




www.example.com
www.test.com
test47.test-server.test.com
And more…
Configurable error messages
DBMS-based authentication databases
Content negotiation
Also supported by several graphical user
interfaces (GUIs)

Permit easier, more intuitive configuration of the server
USAGE
Usage

Apache is the Web server component of
the popular XAMPP Web server
application stack

Partners

OS




Web Server


Apache
Database


Linux
- LAMPP
Windows - WAMPP
Mac OS X - MAMPP
MySQL
Programing Language



PHP
Perl
Python
Usage

Apache can serve both static content
and dynamic Web pages

Many web applications are designed
expecting the environment and features
that Apache provides
Usage

Apache is redistributed as part of various
proprietary software packages including the



Mac OS X integrates Apache



Oracle Database
IBM WebSphere application server
Its built-in web server
Support for its WebObjects application server
It is also supported by Borland

Kylix and Delphi development tools
Usage

Apache included with Novell NetWare 6.5


Apache used for many tasks where content
needs to be available in a secure and reliable
way



Default web server
Sharing files from a personal computer over the
Internet
User who has Apache installed on their desktop can
put arbitrary files in the Apache's document root
which can then be shared
Programmers developing web applications


Locally installed version of Apache
Preview and test code as it is being developed
LICENSE
License

Software license




From the Apache Foundation
Distinctive part of the Apache HTTP Server's history
Apache License allows distribution of both open and
closed source derivations of the source code
Free Software Foundation does not consider
the Apache License to be compatible with
version 2 of the GNU General Public License
(GPL)

Software licensed under the Apache License cannot
be integrated with software that is distributed
under the GPL
License

Free software license:

Incompatible with the GPL



Has certain patent termination cases that the
GPL does not require
Version 3 of the GPL includes a provision


Has a specific requirement that is not in the GPL
(Section 7e) allows it to be compatible with licenses
that have patent retaliation clauses, including the
Apache License
Apache is a registered trademark

May only be used with the trademark holder's
express permission
http://en.wikipedia.org/wiki/IIS
We’re # 2…
MICROSOFT IIS
IIS

Microsoft Internet Information Services (IIS)



Formerly called Internet Information Server
Set of Internet-based services for servers using
Microsoft Windows
World's second most popular web server in terms of
overall websites


July 2010: it served 25.87% of all websites and 36.63%
of all active websites (Netcraft)
IIS Services currently include servers for:





FTP
SMTP
NTP
NNTP
HTTP/HTTPS
History of IIS


Initially released as additional set of
Internet based services for Windows
NT 3.51
Has gone through a series of
enhancements as Windows changed
History of IIS

Current shipping versions of IIS:

10



8.5




Windows Server 2012
Windows 8
7.5



Windows Server 21012 R2
Windows 8.1
8.0


Windows Server 2016
Windows 10
Windows 7
Windows Server 2008 R2
7.0


Windows Vista
Windows Server 2008
History of IIS

Windows Vista and 7 do not install
IIS by default


Can be selected among the list of optionally
installed components
IIS 7.0 on Vista does not limit the number of
connections allowed
 Restricts performance based on active
concurrent requests
SECURITY
Security

Early versions of IIS had many
vulnerabilities

Chief among them CA-2001-19

Led to the infamous Code Red worm
Security

IIS 7.0 the components were
modularized
Only the required components
need be installed
 Further reducing the attack surface
 Security features such
asURLFiltering were added

 Rejects
suspicious URLs based on a
user defined rule set
AUTHENTICATION
MECHANISMS
Authentication mechanisms

IIS 5.0 and higher support the
following authentication
mechanisms:




Basic access authentication
Digest access authentication
Integrated Windows Authentication
.NET Passport Authentication
INTERNET INFORMATION
SERVICES 7.0
Internet Information Services 7.0

Debuted with Windows Vista


Included in Windows Server 2008
IIS 7.0 features a modular architecture




Instead of a monolithic server which features all
services
IIS 7 has a core web server engine
Modules offering specific functionality can be
added to the engine to enable its features
Advantages
 Only the features required need be enabled
 The functionalities can be extended by using
custom modules
Internet Information Services 7.0

IIS 7 ships with a handful of modules


Microsoft will make other modules available online
Following sets of modules ship with the server:
 HTTP Modules
 Security Modules
 Content Modules
 Compression Modules
 Caching Modules
 Logging and Diagnostics Modules


Integrates with the new configuration store
New management environment
Internet Information Services 7.0

Significant change from previous
versions:

All web server configuration information is
stored solely in XML configuration files


Instead of in the metabase
Server has a global configuration file


Provides defaults
Each virtual web's document root (and any
subdirectory thereof) may contain a
web.config

Containing settings that augment or override the
defaults
Internet Information Services 7.0

Changes to these files take effect
immediately


Marks a significant departure from previous
versions whereby web interfaces, or machine
administrator access, were required to change
simple settings such as default document,
active modules and security/authentication
Eliminates the need to perform metabase
synchronization between multiple servers
in a farm of web servers
Internet Information Services 7.0

Features a completely rewritten
administration interface

Takes advantage of modern MMC features
such as
Task panes
 Asynchronous operation


Configuration of ASP.NET is more fully
integrated into the administrative interface.
Resume 2/24
NGINX
nginx

NGINX Plus is the web server,
reinvented


World’s most popular open source web
server for high-traffic websites
NGINX Plus adds enterprise-ready
features




load balancing
session persistence
monitoring
advanced management
nginx

High-performance HTTP Server

Delivers web and video assets with



Web Accelerator





Provides SSL and SPDY acceleration
HTTP connection optimization
High-performance caching
HTTP compression
Application Gateway



Unparalleled speed
Maximizing performance and efficiency
PHP, Ruby, Java and other application types supported
Supports FastCGI, uWSGI and HTTP Proxy interfaces
Load Balancer and Application Delivery solution

Gives



reliability
control
consistent performance for HTTP and TCP applications.
The "spiel"

The following from

http://nginx.com/products/?_bt=66902
162345&_bk=nginx&_bm=b&gclid=CN
y26dbm5MMCFWRk7AodWwoAXw
Capability

Future-proof, IPv6-ready reverse
proxy with:



Load balancing
High availability
For:



HTTP and TCP services
Application request routing
Content acceleration and caching
Predictability

Works predictably, without spikes,
on:



Low power chipsets
Virtual machines with limited RAM
Eliminate unexpected issues with
operations

Reduce infrastructure costs
Simplicity

Flexible, logical, easily scalable
setup

Ten lines of directives enable:
Load balancing
- or  Static content delivery


Don’t waste engineering hours on
tweaking unreadable configurations
nginx


Virtualized
Built to optimize CPU and memory
resource utilization.


Extremely efficient in virtualized public
and private cloud environments
Pay less, get more
nginx

Automation



Easily automated with tools like Puppet
and Chef
Can be managed by independent
development teams
Shift engineering focus from
maintenance to innovation
Scalability and Performance

Serves




Million users or more per server
Tens of thousands of requests per
second
Best in class multi-tenancy for virtual
hosts
Easily scales for unparalleled efficiency
SUMMARY
Summary


Concentrated on HTTP servers
Apache and IIS are the main web
serving tools




Apache still king
IIS Up and down, wandering
Nginx is a rising contender
Usage tracked

Netcraft Web Server Survey
Download