Web Server Administration
Download
Report
Transcript Web Server Administration
Web Server Administration
Chapter 6
Configuring a Web Server
Overview
Understand how a Web server works
Install Apache Web servers
Examine the Apache properties
Host multiple Web sites
Configure new Web sites in 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
Almost two-thirds of all Web servers use
Apache
Netcraft.com
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
Version HTTP 2 has been worked on since 2006
HTTP is a stateless protocol, each Web page
sent is independent of every other Web page
shopping cart application uses programming
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
Using a browser You type:
www.edinboro.edu/hello.htm
Browser contacts DNS to resolve IP address
IP address sent back to browser
Browser composes a message using IP address
to port 80 (notice it includes the host name)
GET /hello.htm HTTP/1.1
Host: www.edinboro.edu
Understanding HTTP
Server www.edinboro.edu responds to
browser – header contains page info
HTTP/1.1 200 OK
Server: Microsoft-IIS/8.5
Content-Type: text/html
Last-Modified: Fri, 17 May 2014 18:21:25 GMT
Content-Length: 43
<html><body>
Hello, World
</body></html>
Features in Apache
Apache 2.4.12 released 1/29/2015
Apache can also be used as a proxy server
Apache 2.0+ has (Apache Project)
A proxy server isolates your real Web server from the
Internet
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
Windows
Windows
Windows
Server 2003 – IIS 6.0
2008 – IIS 7.0
2012 – IIS 8.0
2012 R2 – IIS 8.5
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)
Named virtual hosting
Multiple Web sites can share a single IP address
Per Web site bandwidth throttling
Allows a server to share Web-based files
Control bandwidth by Web site
Kerberos authentication
Secure Sockets Layer 3.0
Encrypted communication
Features in IIS 6.0
Increased security
Expanded language support
Default permits only HTML documents
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
FrontPage 2000 Server Extensions
Used by programs to transfer files to and from a
Web site
NNTP Service
To transfer files between user and server
Used to create user forums
SMTP Service
World Wide Web Server
IIS recent versions
Wiki info
Microsoft IIS
Installing Apache
Apache can be installed when you install
Linux
Using yum install newest version:
yum –y install httpd mod_ssl
Starting Apache
By default, Apache does not start after you
install it
The following table has a list of commands
apachectl – apache control
Procedure
Command
Start Apache
/usr/sbin/apachectl start
Stop Apache
/usr/sbin/apachectl stop
Restart Apache
/usr/sbin/apachectl restart
Minimal Apache Configuration
Add a ServerName in
/etc/httpd/conf/httpd.conf
Find: #ServerName www.example:80
Add: ServerName your_domain.edu:80
Add apachectl start to /etc/rc.d/rc.local
/usr/sbin/apachectl start
Apache Properties
3 Sections
Global Section – Controls server overall
operation
Main Section – Configuration of default
server
Virtual Hosts Section – Settings for the
virtual hosts
Apache PropertiesGlobal Environment
ServerRoot
Directory location of server files
KeepAlive –
(on)
Indicates whether Apache should maintain
a persistent connection
Listen –
(“/etc/httpd”)
(80)
Determines the port number for the server
Default is 80
Apache PropertiesMain Server Configuration
User
(root@localhost)
E-mail address of administrator
ServerName
Shows the user name that Apache employs when
someone requests a Web page
The default is apache
ServerAdmin
(apache)
(www domain:80)
DNS host name or IP address of server
DocumentRoot
(“var/www/html”)
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