Web Server Administration

guideflannelΔιακομιστές

4 Δεκ 2013 (πριν από 3 χρόνια και 8 μήνες)

89 εμφανίσεις

Web Server Administration

Chapter 6

Configuring a Web Server

Overview


Understand how a Web server works


Install IIS and Apache Web servers


Examine the IIS and Apache properties


Host multiple Web sites


Configure new Web sites in IIS and
Apache


Understand virtual directories

How a Web Server Works


HTTP (Hypertext Transfer Protocol) defines
how information is passed between a browser
and a Web server


The two most popular Web servers are


Apache from Apache Software Foundation


Internet Information Services (IIS) from Microsoft


The original Web server from Microsoft available on
Windows NT was Internet Information Server


Almost two
-
thirds of all Web servers use
Apache

How a Web Server Works


As is true with other servers such as
DNS, Web servers listen for
communication at a port


The default port is 80


You can also create Web servers at port
numbers greater than 1023


Each Web server has a root, which is
where you store the HTML documents

Understanding HTTP


The current version of HTTP is 1.1


Virtually no browsers are so old that they
do not support 1.1


HTTP is a stateless protocol, meaning
that each Web page sent is
independent of every other Web page
sent


This makes it more challenging to create a
shopping cart application

Understanding HTTP


HTTP 1.1 supports persistent
connections


This allows the browser to receive multiple
files in one TCP connection


This can speed up communication


Although you see a single page in your
browser, it can be composed of many text
and image files

Understanding HTTP


When the browser sends a request to a Web
server, it looks like:

GET /hello.htm HTTP/1.1

Host: www.technowidgets.com


The above requests the hello.htm file from the
root of the Web server


It specifies the host of www.technowidgets.com


There could be multiple hosts at the IP address

Understanding HTTP



The following shows some of the headers
along with the HTML that the Web server
would send:

HTTP/1.1 200 OK

Server: Microsoft
-
IIS/5.0

Content
-
Type: text/html

Last
-
Modified: Fri, 17 May 2005 18:21:25 GMT

Content
-
Length: 43

<html><body>

Hello, World

</body></html>



The headers contain information about the
page

Features in Apache


Apache 1.3 was used for many years but version 2.0
was released in 2001


Apache can also be used as a proxy server


A proxy server isolates your real Web server from the
Internet


Apache 2.0 has


Better support for Windows


Support for IPv6


Simplified configuration


Unicode support in Windows


Multilanguage error responses


Apache supports many programming languages such
as Perl and PHP

Features in IIS


IIS versions associated with Windows
versions


Windows NT


IIS 4.0


Windows 2000


IIS 5.0


Windows Server 2003


IIS 6.0


SMTP can be easily added so you can
send e
-
mail from your Web pages

Features in IIS 5.0


Web Distributed Authoring and Versioning
(WebDAV)


Allows a server to share Web
-
based files


Named virtual hosting


Multiple Web sites can share a single IP address


Per Web site bandwidth throttling


Control bandwidth by Web site


Kerberos authentication


Secure Sockets Layer 3.0


Encrypted communication

Features in IIS 6.0


Increased security


Default permits only HTML documents


Expanded language support


Can use XML and SOAP


Support for IPv6


Increased dependability


Kernel
-
mode HTTP service


Self
-
healing mechanism

Components in IIS


File Transfer Protocol (FTP) server


To transfer files between user and server


FrontPage 2000 Server Extensions


Used by programs to transfer files to and from a
Web site


NNTP Service


Used to create user forums


SMTP Service


World Wide Web Server

Installing Apache


Apache can be installed when you install
Linux


It is also on Red Hat CD 2


If you install it from the Red Hat CD, the
directories will be consistent with other server
applications


If you download it from the Apache Web site,
you have to compile it and install it

Starting Apache


By default, Apache does not start after you
install it


The following table has a list of commands

Procedure

Command

Start Apache

apachectl start

Stop Apache

apachectl stop

Restart Apache

apachectl restart

Minimal Apache Configuration


Add a ServerName in
/etc/httpd/conf/httpd.conf


Add apachectl start to /etc/rc.d/rc.local

Default Web Site Properties in
IIS

Tabs on the Default Web Site
Properties Dialog Box


Operators (Windows 2000) only


This property lists users who can administer Web
site


Performance


Limit bandwidth by Web site


Limit simultaneous connections (Windows 2003)


ISAPI Filters


Specify applications that process HTTP requests

Tabs on the Default Web Site
Properties Dialog Box


Home Directory


Specifies the location and properties of the root


Log information here


Permissions


Documents


Configure the name for default Web pages


HTTP Headers


Add your own custom headers


Custom Errors


Create custom pages for HTTP errors

Apache Properties
-

Global Environment


ServerRoot


Directory location of server files


KeepAlive


Indicates whether Apache should maintain
a persistent connection


Listen


Determines the port number for the server


Default is 80


Apache Properties
-

Main Server Configuration


User


Shows the user name that Apache employs when
someone requests a Web page


The default is apache


ServerAdmin


E
-
mail address of administrator


ServerName


DNS host name or IP address of server


DocumentRoot


Directory where the Web pages are stored

Hosting Multiple Web Sites

by Port Number


Associate each new Web site with a
port above 1023


To retrieve a Web page from a site at
port 8080


www.technowidgets.com:8080/prod.htm


Because it requires a user to add the
port number, it is not a popular method


Hosting Multiple Web Sites

by IP Address


You can create multiple IP addresses on a
single NIC


Referred to as virtual IP addresses


Useful for flexibility because if each domain
has its own unique IP address, you can easily
move the domain to a different Web server


It is getting more expensive to get multiple IP
addresses from an ISP

Hosting Multiple Web Sites

by Host Name


Multiple host names can be associated
with a single IP address


Getting a single IP address from your ISP
is relatively inexpensive


You can host an almost unlimited number
of domains with a single IP address


It is the most common method of hosting

Configuring a Virtual Host Based
on an IP Address in Apache


In /etc/rc.d/rc.local, add an IP address
such as:


/bin/ifconfig eth0:0 192.168.0.150


In the Virtual Host section of httpd.conf


<VirtualHost 192.168.0.150>

ServerName research.technowidgets.com

DocumentRoot /var/www/research

</VirtualHost>

Configuring a Virtual Host Based
on a Host Name in Apache


NameVirtualHost defines the common IP address


Multiple configurations repeat the same IP address
and define unique ServerName settings

NameVirtualHost 192.168.0.100

<VirtualHost 192.168.0.100>

ServerName www.technowidgets.com

DocumentRoot /var/www/html

</VirtualHost>

<VirtualHost 192.168.0.100>

ServerName web1.technowidgets.com

DocumentRoot /var/www/web1

</VirtualHost>


Configuring a Virtual Directory
in Apache


The following associates the virtual directory
called prod with the location of the directory

Alias /prod/ “/var/www/prod/”


Then it configures the directory

<Directory “/var/www/prod”>


AllowOverride None


Order allow, deny


Allow from all

</Directory>


Summary


Web servers use HTTP to send HTML
documents


IIS is from Microsoft while Apache is
from Apache Software Foundation


IIS modifications are made through
property pages


Apache modifications are typically made
by changing /etc/httpd/conf/httpd.conf

Summary


You can create multiple Web sites on a
single computer by adding port
numbers, IP addresses, and/or host
names


Virtual directories are directories that
appear to be located beneath the root,
yet are physically located elsewhere