Web Technology – Web Server Setup : Chris Uriarte


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Web Technology – Web Server Setup : Chris Uriarte

  1. 1. ITI-520: Web Technology Web Server Setup Rutgers University Internet Institute Instructor: Chris Uriarte Meeting 1: Introduction to the Internet, World Wide Web and Web Servers
  2. 2. Course Overview and Goals <ul><li>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. </li></ul><ul><li>The course objectives will be achieved through a combination of lectures, demonstrations, and hands-on exercises. </li></ul>
  3. 3. About Your Instructor… <ul><li>Chris Uriarte – [email_address] </li></ul><ul><li>Contact me anytime via email or telephone: (732) 888-0088 x47. </li></ul>
  4. 4. About Your Classmates… <ul><li>Introductions </li></ul><ul><li>What do you do? </li></ul><ul><li>What do you do with computers? </li></ul><ul><li>Why are you taking this class? </li></ul>
  5. 5. What This Course Is and Is Not <ul><li>The purpose of the course is to teach you how to setup a Web server. This means you will be learning how to use tools to deliver content for the World Wide Web, not to create content. </li></ul><ul><li>The Rutgers Internet Institute offers many other courses designed to teach you how to create content for the World Wide Web: World Wide Web Publisher (I & II) Certificates and World Wide Web Developer Certificate. </li></ul>
  6. 6. World Wide Web Unix Administrator Certificate <ul><li>This course is one of four required to receive the World Wide Web Unix Administrator Certificate. </li></ul><ul><li>Other courses: ITI-480 Unix Fundamentals, ITI-481 Unix Administration & ITI-510 Computer Networks </li></ul>
  7. 7. Prerequisites <ul><li>Familiarity with a Web browser such as Netscape or Internet Explorer. </li></ul><ul><li>You should have user-level experience with UNIX and must be familiar with the use of a UNIX text editor like vi, emacs and pico. </li></ul><ul><li>Some level of experience with creating HTML documents may be helpful. </li></ul>
  8. 8. Class Schedule <ul><li>Week 1: Introduction to the Internet, the World Wide Web, and Web Servers </li></ul><ul><li>Week 2: Installing and Configuring the Apache Web Server </li></ul><ul><li>Week 3:Extending Apache: Advanced Topics </li></ul><ul><li>Week 4: Web Security: Secure Servers and Securing Your Server </li></ul>
  9. 9. Course Resources <ul><li>Textbook: Professional Apache by Peter Wainwright (Wrox Press, 1999). </li></ul><ul><li>User account on Linux server iti.rutgers.edu. </li></ul>
  10. 10. How does the World Wide Web Work? <ul><li>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. </li></ul><ul><li>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. </li></ul>
  11. 11. History of the World Wide Web <ul><li>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, email, and gopher) that communicated via TCP/IP (Transmission Control Protocol/Internet Protocol). </li></ul><ul><li>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.” </li></ul>
  12. 12. Web History, con’t. <ul><li>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. </li></ul><ul><li>Mosaic became Netscape </li></ul>
  13. 13. Who is a Webmaster? <ul><li>A Webmaster is someone responsible for the content and/or management of a Web site and/or a Web server. </li></ul>
  14. 14. What Roles Do Webmasters Play? <ul><li>Web Designers – Create graphical elements and determine layout of Website. </li></ul><ul><li>Content Providers- Create and edit HTML documents. </li></ul><ul><li>Web Developers – Write CGI, Java, JavaScript, ASP, PHP, and other scripts or programs that are used to deliver dynamic content. </li></ul>
  15. 15. Webmaster Roles, con’t. <ul><li>Administrators – Responsible for maintaining the Web server software and often the operating system and hardware where the Web server is installed. </li></ul><ul><li>For most organizations, these responsibilities tend to be split over multiple job positions except for very small and simple Web sites. </li></ul>
  16. 16. Planning Your Server <ul><li>How and where will you host it? </li></ul><ul><li>What kind of hardware will you use? </li></ul><ul><li>What kind of Operating System will the hardware run? </li></ul><ul><li>What Web server software will you use? </li></ul><ul><li>What domain name will your site use? </li></ul><ul><li>Answers to above questions usually determined by budget, staffing, and existing infrastructure of your organization. </li></ul>
  17. 17. Hosting Your Server: Use an ISP (Internet Service Provider) <ul><li>Free Page Site – For personal use, limited space and tools, adds advertisements. (examples: Yahoo, Tripod, Xoom, etc.) </li></ul><ul><li>Personal Page Site – For personal use, usually included with dialup account (about $20 per month), 2-20 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: http://www.yourisp.com/~yourusername) </li></ul>
  18. 18. Hosting Your Server, con’t. <ul><li>Virtual Host – For business or personal use, share a machine with other domains, can use your own domain (http://www.yourdomain.com), 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 ( http://www.hway.net ) and YourDomainHost ( http://www. yourdomainhost .com ) </li></ul>
  19. 19. Hosting Your Server, con’t. <ul><li>Dedicated Server – For business use, ISP owns and runs the machine, your organization dictates the configuration and has exclusive access to the system, expensive. </li></ul><ul><li>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. </li></ul>
  20. 20. Hosting Your Server: Do It Yourself: Networking Options <ul><li>For an Intranet Server– Need a LAN (local area network). </li></ul><ul><li>For an Internet Server – Need a dedicated Internet connection. Internet Connectivity Options: </li></ul><ul><ul><li>POTS (up to 56Kbps) – not practical for business use </li></ul></ul><ul><ul><li>ISDN (128Kbps) – only a good choice if cable or DSL is not available </li></ul></ul><ul><ul><li>Cable (512Kbps – 10Mbps) </li></ul></ul><ul><ul><li>DSL (128kps – 1.54 Mbps+) </li></ul></ul><ul><ul><li>T-1 (up to 1.54Mbps) – full, fractional, or burstable </li></ul></ul><ul><ul><li>T-3 (up to 45 Mbps) </li></ul></ul>
  21. 21. Finding an ISP <ul><li>Setting up a Internet Web site will require you to purchase some level of services from an ISP. </li></ul><ul><li>The List – http:// thelist .com </li></ul>
  22. 22. Hosting Your Server: Hardware Options <ul><li>Need to select a machine architecture (i.e Intel Compatible PC, Sun, Macintosh G4). </li></ul><ul><li>Processor speed and number of processors. </li></ul><ul><li>RAM and Disk Space. </li></ul><ul><li>NIC card. </li></ul><ul><li>Price can range from several hundred dollars to thousands of dollars. </li></ul>
  23. 23. Hosting Your Server: Operating System Options <ul><li>Commercial Versions of Unix (i.e. Solaris, Irix, HP-UX, AIX, MacOS X). </li></ul><ul><li>Free Versions of Unix (i.e. Linux, FreeBSD). </li></ul><ul><li>Microsoft Windows (9x, NT, Windows 2000). </li></ul><ul><li>Novell NetWare </li></ul><ul><li>Windows vs. Unix – raises issues of easy of use, stability, scalability, open source, and pricing. </li></ul>
  24. 24. Hosting Your Server: Web Server Software Options <ul><li>According to the Netcraft Web Server Survey ( http://www. netcraft .com ), as of January 2000, three Web server software distributions support over 90% of all Web servers on the Internet: </li></ul><ul><ul><li>Apache 61.66% </li></ul></ul><ul><ul><li>Microsoft Internet Information Server 19.63% </li></ul></ul><ul><ul><li>Netscape Enterprise 7.22% </li></ul></ul>
  25. 25. Web Server Software Options: Apache <ul><li>“ The standard” for UNIX web servers. </li></ul><ul><li>Originally based on NCSA httpd code. </li></ul><ul><li>Can be installed under most Unix variants and Windows. Binary versions available for many operating systems. </li></ul><ul><li>Uses file-based configuration, although GUI tools are also available. </li></ul>
  26. 26. Introduction to Apache, con’t. <ul><li>Unix versions very stable. Windows version less mature (beta-level code). </li></ul><ul><li>Very Fast and uses resources efficiently. </li></ul><ul><li>Freely distributed source code. Can be modified for commercial or non-commercial use. </li></ul><ul><li>Price: Free </li></ul><ul><li>See http://www.apache.org for more information. </li></ul>
  27. 27. Web Server Software Options: Netscape Server <ul><li>Sometimes referred to as the iPlanet server </li></ul><ul><li>Distributed through Sun-Netscape Alliance called iPlanet . </li></ul><ul><li>Server packages: iPlanet/Netscape Enterprise Server, Netscape Fast-Track Server. </li></ul><ul><li>Runs under Windows NT, Solaris, Irix, HP-UX, Digital Unix, AIX, Linux (coming soon). </li></ul>
  28. 28. Netscape iPlanet Server, con’t. <ul><li>Uses Web-based administration. </li></ul><ul><li>Can be resource intensive. </li></ul><ul><li>Price: $1495 per processor for Enterprise Server </li></ul><ul><li>See http://www. iplanet .com/products/infrastructure/web_servers for more information. </li></ul>
  29. 29. Web Server Software Options: Microsoft Internet Information Server <ul><li>Most popular for NT-based web servers. </li></ul><ul><li>Runs only under Windows NT Server. IIS v4 is the most popular release. IIS v5 was released with Windows 2000 Server. </li></ul><ul><li>GUI-based administration. Web-based administration available as well. </li></ul><ul><li>May not scale well. </li></ul>
  30. 30. Microsoft IIS, con’t. <ul><li>Source code not available. Extendable through Microsoft’s Internet Server API (ISAPI). </li></ul><ul><li>Price: Free with NT Server 4.0 </li></ul><ul><li>See http://www. microsoft .com/ ntserver /web/default.asp for more information. </li></ul>
  31. 31. Important Notes about Web Server Hardware <ul><li>Web Servers need fast disk access and a lot of RAM to handle high-volumes of traffic. </li></ul><ul><ul><li>Not unusual to see web servers with 1GB of RAM and 10,000RPM hard drives. </li></ul></ul><ul><li>Processor speed and performance becomes very important when delivering dynamic content via CGI scripts, Server Side Includes or other web applications. </li></ul>
  32. 32. How the Internet Works: Networking Basics <ul><li>For a Web server to be useful it will need to be attached to a network. </li></ul><ul><li>Minimum requirements for a computer network – at least two computers that have a media and a method of communicating. </li></ul><ul><li>All Internet applications use TCP/IP (Transmission Control Protocol/Internet Protocol) for low-level communications. </li></ul>
  33. 33. Networking Basics: TCP/IP <ul><li>TCP/IP is actually a combination of 2 protocols: </li></ul><ul><li>A transport layer protocol called the Transmission Control Protocol (TCP) </li></ul><ul><li>A network protocol called the Internet Protocol (IP) </li></ul>
  34. 34. Networking Basics: IP Addresses <ul><li>TCP/IP uses IP address to identify different devices. Every computer on the Internet must have a least one unique IP address. </li></ul><ul><li>IPv4: IP address are four 8-bit numbers separated by dots: </li></ul><ul><ul><li>Usually divided in three parts: </li></ul></ul><ul><ul><li>165.230 is one of Rutgers’ networks – e.g. no one else has addresses starting with 165.230 </li></ul></ul><ul><ul><li>30 is the subnet portion of the address </li></ul></ul><ul><ul><li>68 is the particular node, or host portion of the address </li></ul></ul><ul><li>Division not necessarily on octet boundary. </li></ul>
  35. 35. TCP/IP: Two Friends, Working Together <ul><li>IP - An IP address represents a machine’s identity on the internet and tells other machines how to get to it – similar to your street address (e.g. 123 Main Street, Anytown, USA). </li></ul><ul><li>TCP is a mechanism used to ensure that anything sent to a specific IP address makes it there in one piece. – similar to the Post Office. </li></ul><ul><li>Together, TCP/IP assures that anything sent to a server on the Internet is delivered to the right place in one complete piece. </li></ul>
  36. 36. Networking Basics: IP Addresses <ul><li>IP addresses no longer being distributed by classes – blocks are distributed to ISPs on an as-needed basis and must be justified. </li></ul><ul><li>IP addresses are hard to come by. How do you get them? </li></ul><ul><ul><li>Your ISP received an “address space” from the ARIN (http://www.arin.org) </li></ul></ul><ul><ul><li>You receive IP addresses from your ISP. </li></ul></ul>
  37. 37. Networking Basics: Tools <ul><li>Network interfaces need to be assigned IP addresses. </li></ul><ul><li>Interfaces can be configured using ifconfig command on UNIX machines. </li></ul><ul><li>Type ifconfig –a to view current configuration settings. </li></ul><ul><li>Additional tools for network monitoring: ping, traceroute, tcpdump, netstat, arp, snoop . </li></ul>
  38. 38. Networking Basics: DNS <ul><li>IP addresses are usually paired with more human-friendly names: Domain Name System (DNS). </li></ul>internet.rutgers.edu Hostname Organization Top-level domain <ul><li>Other top-level domains include .com, .gov, .org, etc. There are also country-specific domains like .uk, .ca, .jp, etc. </li></ul>
  39. 39. Networking Basics: DNS, con’t. <ul><li>Domain name information is maintained through a distributed database of host name/ IP address pairing. </li></ul><ul><li>The Network Information Center (NIC) manages the top-level domains, delegates authority for second-level domains, and maintains a database of registered name servers for all second-level domains. </li></ul><ul><li>Host name assignments maintained through zone files on primary DNS server. Secondary DNS server gets zone file from primary server. </li></ul>
  40. 40. Networking Basics: DNS, con’t. <ul><li>Network Solutions (previously the InterNic) registers domain names – See http://www. networksolutions .com . Other registrars include Register.com </li></ul><ul><li>Costs range from $20 to $50 per year. </li></ul><ul><li>ISP’s beginning to offer domain name registration as part of other packages. </li></ul><ul><li>Need to register a primary and secondary domain name servers for your domain and arrange to have zone files created on DNS servers. </li></ul>
  41. 41. DNS Overview: If DNS Servers Could Talk…
  42. 42. Networking Basics: DNS Tools <ul><li>There are several tools for for monitoring DNS information: </li></ul><ul><ul><li>whois – tells you the owner and primary DNS servers associated with a domain (e.g. whois yahoo.com ). Also available via web browser at www.networksolutions.com . </li></ul></ul><ul><ul><li>nslookup and host – tell you IP address information for a particular hostname on the internet (e.g. nslookup www.yahoo.com or host www.rutgers.edu ) </li></ul></ul>
  43. 43. DNS Exercise <ul><li>What are IP addresses of the DNS servers that contain information about rutgers.edu? </li></ul><ul><li>What are the IP address of: </li></ul><ul><ul><li>www.retaildecisions.com </li></ul></ul><ul><ul><li>abusaday.admin.cju.com </li></ul></ul><ul><ul><li>www.linux.org </li></ul></ul>
  44. 44. Networking Basics: Ports <ul><li>Servers tend to run a number of services. A single NIC can be used to provide multiple services through ports . </li></ul><ul><li>Servers with Internet-related services listen on specific ports. Clients contact server by specifying an IP address and a connection port. </li></ul><ul><li>Common services and port numbers: </li></ul><ul><ul><li>smtp 25, ftp 21, telnet 23, http/web 80, https/ssl 443 </li></ul></ul><ul><ul><li>A list of services and ports is contained in the /etc/services file </li></ul></ul><ul><li>Ports below 1024 are reserved for system services and can only be used by programs started by root. </li></ul>
  45. 45. Web Servers and UNIX Systems <ul><li>Most web servers run on port 80 – the standard web port </li></ul><ul><li>Web server software usually runs on UNIX system as some user other than root. It’s considered a security risk to run the web server software as root. </li></ul><ul><li>The web server software binary is httpd . Web server software is often refered to as “the httpd” </li></ul>
  46. 46. Uniform Resource Locator (URL) <ul><li>URL: a fancy way of saying “web site address” </li></ul><ul><li>Anatomy of a URL: </li></ul>http://internet.rutgers.edu:80/ITI520/index.html Protocol Hostname Port Number Path To File
  47. 47. HTTP – An Introduction <ul><li>HTTP – The Hypertext Transfer Protocol </li></ul><ul><ul><li>The protocol used between web clients (browsers) and web servers. </li></ul></ul><ul><ul><li>Web browsers “ask” for a specific web page from the server, who returns the content </li></ul></ul>
  48. 48. HTTP: Example and Exercise <ul><li>You can emulate the HTTP conversation between a browser and a server: </li></ul><ul><ul><li>telnet to the internet.rutgers.edu machine, port 80, e.g. telnet internet.rutgers.edu 80 from the UNIX command line. </li></ul></ul><ul><ul><li>Type: “ GET HTTP/1.0 /” Press Enter twice. </li></ul></ul><ul><ul><li>The server returns the HTML (web page code), which is usually interpreted and displayed by your web browser. </li></ul></ul>
  49. 49. Unix Tools and Commands <ul><li>File Editors: vi, emacs, pico </li></ul><ul><li>File system navigation: cd </li></ul><ul><li>File management: mv, rm, mkdir,rmdir, ls, chmod, ln </li></ul><ul><li>Archiving and compression: tar, gzip </li></ul><ul><li>***Process management: ps, kill </li></ul><ul><li>Man pages available for all these commands, e.g “man rmdir” </li></ul>
  50. 50. UNIX Process Management <ul><li>UNIX Processes are managed using the ps and kill commands </li></ul><ul><ul><li>ps is used to list processes running on the system </li></ul></ul><ul><ul><li>kill is used to kill and restart processes running on the system </li></ul></ul><ul><li>Every time you start a new program (pico, vi, bash, etc.) a process is created and you are the owner of that process. </li></ul>
  51. 51. Process Management Exercises <ul><li>You can type ps –aux to see all the processes running on a system. This will list the process owner, process ID (PID) and the command being run. </li></ul><ul><li>You can kill any PID, as long as you are the owner of the process. </li></ul><ul><li>ps –u shows all the processes your are currently running </li></ul>
  52. 52. Process Management Exercises, con’t. <ul><li>Open up a new terminal window and type vi foo.txt . This will create a new process on the system that you own. </li></ul><ul><li>Switch back to your original terminal window. Locate the process ID for your vi session and kill it. </li></ul>
  53. 53. Reading for Next Week… <ul><li>Read Chapters 1-5 in Professional Apache . </li></ul>