Web Server SAS Lecture 6. Course Overview and Goals This course will teach you how to install, configure, and administer a Web server that runs on a Unix.

Slides:



Advertisements
Similar presentations
Hypertext Transfer PROTOCOL ----HTTP Sen Wang CSE5232 Network Programming.
Advertisements

HTTP HyperText Transfer Protocol. HTTP Uses TCP as its underlying transport protocol Uses port 80 Stateless protocol (i.e. HTTP Server maintains no information.
Web Technology – Web Server Setup : Chris Uriarte WMB-520: Web Technology Web Server Setup Rutgers University Center for Applied Computing Technology Instructor:
HTTP Hypertext Transfer Protocol. HTTP messages HTTP is the language that web clients and web servers use to talk to each other –HTTP is largely “under.
How the web works: HTTP and CGI explained
The World Wide Web and the Internet Dr Jim Briggs 1WUCM1.
Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July.
Web, HTTP and Web Caching
Definitions, Definitions, Definitions Lead to Understanding.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
CP476 Internet Computing Browser and Web Server 1 Web Browsers A client software program that allows you to access and view Web pages on the Internet –Examples.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
HyperText Transfer Protocol (HTTP) Review Carey Williamson iCORE Chair and Professor Department of Computer Science University of Calgary Slide content.
Hypertext Transport Protocol CS Dick Steflik.
Web Technology – Web Server Setup : Chris Uriarte ITI-520: Web Technology Web Server Setup Rutgers University Internet Institute Instructor: Chris Uriarte.
University of Calgary – CPSC 441 Parts of these slides are courtesy of Erich Nahum (IBM Research)
Linux Operations and Administration
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
Web Server A software program or server computer equipped to offer World Wide Web access. Web servers allow you to serve content over the Internet using.
CNIT 132 Intermediate HTML and CSS Course Overview.
Web Technology Web Server Setup
Chapter 1: Introduction to Web
FTP (File Transfer Protocol) & Telnet
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
TCP/IP Protocol Suite 1 Chapter 22 Upon completion you will be able to: World Wide Web: HTTP Understand the components of a browser and a server Understand.
2: Application Layer1 CS 4244: Internet Software Development Dr. Eli Tilevich.
Application Layer 2 Figures from Kurose and Ross
Rensselaer Polytechnic Institute Shivkumar Kalvanaraman, Biplab Sikdar 1 The Web: the http protocol http: hypertext transfer protocol Web’s application.
Maryam Elahi University of Calgary – CPSC 441.  HTTP stands for Hypertext Transfer Protocol.  Used to deliver virtually all files and other data (collectively.
1 Web Server Administration Chapter 1 The Basics of Server and Web Server Administration.
A+ Guide to Managing and Maintaining Your PC Fifth Edition Chapter 19 PCs on the Internet.
Tools for Web Applications. Overview of TCP/IP Link Layer Network Layer Transport Layer Application Layer.
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
1 Apache and Virtual Sites and SSL Dorcas Muthoni.
MySQL and PHP Internet and WWW. Computer Basics A Single Computer.
Hands On Networking Network Applications Ram P Rustagi, ISE Dept Kundan Kumar, MCA Dept Manini Sahoor, MCA Dept Ravi Teja, MCA Dept Sourav.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences Chapter.
1 Welcome to CSC 301 Web Programming Charles Frank.
HTTP1 Hypertext Transfer Protocol (HTTP) After this lecture, you should be able to:  Know how Web Browsers and Web Servers communicate via HTTP Protocol.
CIS679: Lecture 13 r Review of Last Lecture r More on HTTP.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
LinuxChix Apache. Serving Webpages The layer 7 protocol (HTTP) is what our browsers talk to get us the websites we can't seem to live without. HTTP is.
Appendix E: Overview of HTTP ©SoftMoore ConsultingSlide 1.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP.
CITA 310 Section 2 HTTP (Selected Topics from Textbook Chapter 6)
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1 Fundamentals.
HTTP How the Internet servers and clients communicate.
Web Technologies Lecture 1 The Internet and HTTP.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
EE 122: Lecture 21 (HyperText Transfer Protocol - HTTP) Ion Stoica Nov 20, 2001 (*)
CS 6401 The World Wide Web Outline Background Structure Protocols.
17 Establishing Dial-up Connection to the Internet Using Windows 9x 1.Install and configure the modem 2.Configure Dial-Up Adapter 3.Configure Dial-Up Networking.
Web Server Administration Chapter 6 Configuring a Web Server.
Overview of Servlets and JSP
JavaScript and Ajax (Internet Background) Week 1 Web site:
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 7 Omar Meqdadi Department of Computer Science and Software Engineering University of.
EEC-484/584 Computer Networks Lecture 4 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Week 11: Application Layer 1 Web and HTTP r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,… r Web page consists.
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
Web Server Administration Chapter 6 Configuring a Web Server.
APACHE Apache is generally recognized as the world's most popular Web server (HTTP server). Originally designed for Unix servers, the Apache Web server.
Web and Proxy Server.
Block 5: An application layer protocol: HTTP
HTTP – An overview.
JavaScript and Ajax (Internet Background)
Web Development Web Servers.
CNIT 131 Internet Basics & Beginning HTML
APACHE WEB SERVER.
Presentation transcript:

Web Server SAS Lecture 6

Course Overview and Goals This course will teach you how to install, configure, and administer a Web server that runs on a Unix system and can be used to deliver dynamic content.

About Your Classmates… Introductions What do you do? What do you do with computers? Why are you taking this class?

How does the World Wide Web Work? Works on a client/server model. The Web server is the server component. The Web browser is the client component. Purpose of the Web server is to provide documents to clients. Web servers, Web browsers, and the information that is shared between them through the Hypertext Transfer Protocol (HTTP) protocol make up the World Wide Web.

History of the World Wide Web Grew out of the Internet, a network of networks designed that began in the early 1970’s and was used to support a variety of services (including telnet, ftp, Usenet, , and gopher) that communicated via TCP/IP (Transmission Control Protocol/Internet Protocol). In 1989, Tim Berners-Lee at CERN developed a new system to simplify document distribution and to allow documents to be linked together. Called the “WorldWideWeb.”

Web History, con’t. In 1993, the National Center for Supercomputing Applications (NSCA) released to the public a NCSA server software and a GUI Web browser called Mosaic. Quickly became popular. Mosaic became Netscape

Who is a Webmaster? A Webmaster is someone responsible for the content and/or management of a Web site and/or a Web server.

What Roles Do Webmasters Play? Web Designers – Create graphical elements and determine layout of Website. Content Providers- Create and edit HTML documents. Web Developers – Write CGI, Java, JavaScript, ASP, PHP, and other scripts or programs that are used to deliver dynamic content.

Webmaster Roles, con’t. Administrators – Responsible for maintaining the Web server software and often the operating system and hardware where the Web server is installed. For most organizations, these responsibilities tend to be split over multiple job positions except for very small and simple Web sites.

Planning Your Server How and where will you host it? What kind of hardware will you use? What kind of Operating System will the hardware run? What Web server software will you use? What domain name will your site use? Answers to above questions usually determined by budget, staffing, and existing infrastructure of your organization.

Hosting Your Server: Use an ISP (Internet Service Provider) Free Page Site – For personal use, limited space and tools, adds advertisements. (examples: Yahoo, Tripod, Xoom, etc.) Personal Page Site – For personal use, usually included with dialup account (about $20 per month), MB disk space, none or limited access to server- based technologies for delivering dynamic content, generally under your ISP’s domain. (Website URL usually looks something like:

Hosting Your Server, con’t. Virtual Host – For business or personal use, share a machine with other domains, can use your own domain ( should provide a fairly wide range of tools for building more complex Websites, costs based on disk usage and traffic, ranges from $10 to several hundreds of dollars a month. Generally available through all ISPs and Hosting-only providors such as Highway Technologies ( and YourDomainHost (

Hosting Your Server, con’t. Dedicated Server – For business use, ISP owns and runs the machine, your organization dictates the configuration and has exclusive access to the system, expensive. Co-Located Server – For business use, your organization owns the hardware and software and is responsible for maintaining it, ISP houses the system and provides a network connection, pricing determined by bandwidth requirements.

Hosting Your Server: Do It Yourself: Networking Options For an Intranet Server– Need a LAN (local area network). For an Internet Server – Need a dedicated Internet connection. Internet Connectivity Options: POTS (up to 56Kbps) – not practical for business use ISDN (128Kbps) – only a good choice if cable or DSL is not available Cable (512Kbps – 10Mbps) DSL (128kps – 1.54 Mbps+) T-1 (up to 1.54Mbps) – full, fractional, or burstable T-3 (up to 45 Mbps)

Finding an ISP Setting up a Internet Web site will require you to purchase some level of services from an ISP. The List –

Hosting Your Server: Hardware Options Need to select a machine architecture (i.e Intel Compatible PC, Sun, Macintosh G4). Processor speed and number of processors. RAM and Disk Space. NIC card. Price can range from several hundred dollars to thousands of dollars.

Hosting Your Server: Operating System Options Commercial Versions of Unix (i.e. Solaris, Irix, HP- UX, AIX, MacOS X). Free Versions of Unix (i.e. Linux, FreeBSD). Microsoft Windows (9x, NT, Windows 2000). Novell NetWare Windows vs. Unix – raises issues of easy of use, stability, scalability, open source, and pricing.

Hosting Your Server: Web Server Software Options According to the Netcraft Web Server Survey ( as of January 2000, three Web server software distributions support over 90% of all Web servers on the Internet: Apache 61.66% Microsoft Internet Information Server 19.63% Netscape Enterprise 7.22%

Web Server Software Options: Apache “The standard” for UNIX web servers. Originally based on NCSA httpd code. Can be installed under most Unix variants and Windows. Binary versions available for many operating systems. Uses file-based configuration, although GUI tools are also available.

Introduction to Apache, con’t. Unix versions very stable. Windows version less mature (beta-level code). Very Fast and uses resources efficiently. Freely distributed source code. Can be modified for commercial or non-commercial use. Price: Free See for more information.

Web Server Software Options: Netscape Server Sometimes referred to as the iPlanet server Distributed through Sun-Netscape Alliance called iPlanet. Server packages: iPlanet/Netscape Enterprise Server, Netscape Fast-Track Server. Runs under Windows NT, Solaris, Irix, HP-UX, Digital Unix, AIX, Linux (coming soon).

Netscape iPlanet Server, con’t. Uses Web-based administration. Can be resource intensive. Price: $1495 per processor for Enterprise Server See rvers for more information. rvers

Web Server Software Options: Microsoft Internet Information Server Most popular for NT-based web servers. Runs only under Windows NT Server. IIS v4 is the most popular release. IIS v5 was released with Windows 2000 Server. GUI-based administration. Web-based administration available as well. May not scale well.

Microsoft IIS, con’t. Source code not available. Extendable through Microsoft’s Internet Server API (ISAPI). Price: Free with NT Server 4.0 See p for more information. p

Important Notes about Web Server Hardware Web Servers need fast disk access and a lot of RAM to handle high-volumes of traffic. Not unusual to see web servers with 1GB of RAM and 10,000RPM hard drives. Processor speed and performance becomes very important when delivering dynamic content via CGI scripts, Server Side Includes or other web applications.

Uniform Resource Locator (URL) URL: a fancy way of saying “web site address” Anatomy of a URL: Protocol Hostname Port Number Path To File

HTTP – An Introduction HTTP – The Hypertext Transfer Protocol The protocol used between web clients (browsers) and web servers. Web browsers “ask” for a specific web page from the server, who returns the content

Web Servers: Implementation and Performance Erich Nahum 28 What do HTTP Requests Look Like? GET /images/penguin.gif HTTP/1.0 User-Agent: Mozilla/0.9.4 (Linux ) Host: Accept: text/html, image/gif, image/jpeg Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso ,*,utf-8 Cookie: B=xh203jfsf; Y=3sdkfjej Messages are in ASCII (human-readable) Carriage-return and line-feed indicate end of headers Headers may communicate private information (e.g., browser, OS, cookie information, etc.)

Web Servers: Implementation and Performance Erich Nahum 29 What Kind of Requests are there? Called Methods: GET: retrieve a file (95% of requests) HEAD: just get meta-data (e.g., mod time) POST: submitting a form to a server PUT: store enclosed document as URI DELETE: removed named resource LINK/UNLINK: in 1.0, gone in 1.1 TRACE: http “echo” for debugging (added in 1.1) CONNECT: used by proxies for tunneling (1.1) OPTIONS: request for server/proxy options (1.1)

Web Servers: Implementation and Performance Erich Nahum 30 What Do Responses Look Like? HTTP/ OK Server: Tux 2.0 Content-Type: image/gif Content-Length: 43 Last-Modified: Fri, 15 Apr :36:21 GMT Expires: Wed, 20 Feb :54:46 GMT Date: Mon, 12 Nov :29:48 GMT Cache-Control: no-cache Pragma: no-cache Connection: close Set-Cookie: PA=wefj2we0-jfjf Similar format to requests (i.e., ASCII)

Web Servers: Implementation and Performance Erich Nahum 31 What Responses are There? 1XX: Informational (def’d in 1.0, used in 1.1) 100 Continue, 101 Switching Protocols 2XX: Success 200 OK, 206 Partial Content 3XX: Redirection 301 Moved Permanently, 304 Not Modified 4XX: Client error 400 Bad Request, 403 Forbidden, 404 Not Found 5XX: Server error 500 Internal Server Error, 503 Service Unavailable, 505 HTTP Version Not Supported

Installation The Apache2 web server is available in Ubuntu Linux. To install Apache2: At a terminal prompt enter the following command: sudo apt-get install apache2

Configuration Global Configuration /etc/apache2/apache2.conf Ports configuration /etc/apache2/ports.conf Virtual Host configuration /etc/apache2/sites-available/ Copy file : 000-default.conf tositename.conf (example, siam.adser.com.conf) Add symlink to /etc/apache2/sites-enable/ : sudo a2ensite siam.adser.com.conf

Vitual Hosts Configuration /etc/apache2/sites-available/ siam.adser.com.conf : //IP add and port ServerAdmin ServerName siam.adser.com ServerAlias DocumentRoot /var/www/html/siam.adser.com/ //loc. index ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined

Security TLS/SSL TLS, or transport layer security, and its predecessor SSL, secure sockets layer, are secure protocols created in order to place normal traffic in a protected, encrypted wrapper. Enable ssl sudo a2enmod ssl

Generate Key sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt penssl: This is the basic command line tool provided by OpenSSL to create and manage certificates, keys, signing requests, etc. req: This specifies a subcommand for X.509 certificate signing request (CSR) management. -x509: This option specifies that we want to make a self-signed certificate file instead of generating a certificate request.

nodes: This option tells OpenSSL that we do not wish to secure our key file with a passphrase. -days 365: This specifies that the certificate we are creating will be valid for one year. -newkey rsa:2048: The rsa:2048 tells OpenSSL to generate an RSA key that is 2048 bits long. -keyout: This parameter names the output file for the private key file that is being created. -out: This option names the output file for the certificate that we are generating. The rsa:2048 tells OpenSSL to generate an RSA key that is 2048 bits long.

Configure host ssl /etc/apache2/sites-available/default-ssl.conf ServerAdmin ServerName your_domain.com ServerAlias DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key SSLOptions +StdEnvVars SSLOptions +StdEnvVars BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

Configure host ssl Enable SSL configuration on site sudo a2ensite default-ssl.conf Restart apache service sudo service apache2 restart Open your site

End Slides… Practice make perfect… Any question?