1. What is Unix? Operating system with a command line interface. Unix commands are cryptic. 2. How did we use Unix so far? Log in means connecting and acquiring an identity. Once into the system you are essentially a developer. You really are a webmaster. That's almost a system administrator. A developer creates programs, runs them and debugs them. On silo we use pico, emacs or vi (or whatever) to edit files. Unix commands: pwd -- print working directory cd -- change directory ls -- list files in a folder cat -- concatenate contents of files more -- show contents of file one screen at a time cp -- copy files from one place to another rm -- remove some file file -- retrieve file information du -- disk usage tar -- tape archive gzip -- compressing files 2. What is a server? A server is a program that acts like an operator: takes calls/requests and processes them providing answers. 3. What is Apache? Apache is a web server. Apache is a program. It runs on silo. Installing Apache meant that we copied the source code there and then we compiled it and place the resulting binary files (executables) in an installation folder. We can start it and we can stop it. Internet is not the web. However for all practical purposes they just look like one and the same thing. What is different though? Answer: the Internet is a very large network of computers. These computers run programs. Many of these programs take advantage of the network and contact other programs on other comouters. Whenever two entities (e.g., programs) talk to each other they need to follow a protocol so they can understand each other. There are many protocols and the Internet supports them all. One very popular protocol (HTTP) is supporting a web of browsers and servers. This is the web as we know it. Typically the user's view of the web is that of anything that can be accessed through a (web) browser. Firefox or Internet Explorer are popular web browsers. Apache, Tomcat are popular web servers. Do you ever see the web server? No. We only see resources that the browser has retrieved from the server and has rendered for us to use them. Typically these are: video files, image files, HTML files, Excel spreadsheets, etc. We are only aware of where it is, that is, how we can ask it to give us some resource. But we never see it or interact with it directly. The server can also run programs for us and in that case maybe we supply those with data, and we look (in the browser) at the output of those programs. The format of that output is most likely HTML, so the browser can handle it. HTTP means HyperText Transfer Protocol HTML means HyperText Markup Language When I issue this in a browser: http://www.cs.indiana.edu/classes/a202-dger/sum2009/0622.html I specify the following components: http :// www.cs.indiana.edu /classes/a202-dger/sum2009/0622.html a) http is the protocol b) :// means that I am referring to the root (topmost level) of that space that uses this protocol (i.e., that world) c) www.cs.indiana.edu an actual machine that runs software entities that are network aware This is really the name of a machine that is like Walmart (or New York) never asleep. Except some times very briefly for maintenance. Note: what is missing here is a port number. When a port number is not specified it is understood that default port 80 (or 8080) is to be used. A port number is like a telephone number, or like an extension. On silo the address (url) of your server includes a port. d) /classes/a202-dger/sum2009/0622.html This is just the name of the file that you need from the server. Why is the name so long and what's the meaning of the (forward) slashes? 4. Why is crontab e-mailing me?