Title: Web Server Administration
1Web Server Administration
- Chapter 6
- Configuring a Web Server
2Overview
- 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
3How 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
4How 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
5Understanding 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
6Understanding 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
7Understanding 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
8Understanding 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 182125 GMT
- Content-Length 43
- lthtmlgtltbodygt
- Hello, World
- lt/bodygtlt/htmlgt
- The headers contain information about the page
9Features 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
10Features 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
11Features 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
12Features 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
13Components 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
14Installing 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
15Starting 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
16Minimal Apache Configuration
- Add a ServerName in /etc/httpd/conf/httpd.conf
- Add apachectl start to /etc/rc.d/rc.local
17Default Web Site Properties in IIS
18Tabs 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
19Tabs 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
20Apache 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
21Apache 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
22Hosting Multiple Web Sitesby 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.com8080/prod.htm
- Because it requires a user to add the port
number, it is not a popular method
23Hosting Multiple Web Sitesby 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
24Hosting Multiple Web Sitesby 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
25Configuring a Virtual Host Based on an IP Address
in Apache
- In /etc/rc.d/rc.local, add an IP address such as
- /bin/ifconfig eth00 192.168.0.150
- In the Virtual Host section of httpd.conf
- ltVirtualHost 192.168.0.150gtServerName
research.technowidgets.comDocumentRoot
/var/www/researchlt/VirtualHostgt
26Configuring 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
- ltVirtualHost 192.168.0.100gt
- ServerName www.technowidgets.comDocumentRoot
/var/www/htmllt/VirtualHostgt ltVirtualHost
192.168.0.100gtServerName web1.technowidgets.comD
ocumentRoot /var/www/web1lt/VirtualHostgt
27Configuring 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
- ltDirectory /var/www/prodgt AllowOverride
None Order allow, deny Allow from all - lt/Directorygt
28Summary
- 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
29Summary
- 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