Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CS120 Lecture 17a: Publishing Web pages John Magee 9 November 2012 1 Overview/Questions – So I got some HTML pages and stuff. How do I make them show up on the web? – What are web servers, anyway? – How do we transfer files to a web server? – Who can see my pages? – URLs, absolute path, and relative path revisited. 2 How to Publish a Web Page Create HTML document, locate ancillary files (e.g images). Transfer files to web server Set permissions for read access Test the URL in your browser 3 Recall: Displaying a WWW Page 4 What’s a Web Server? Is it hardware? yes! Is it software? yes! How is it both? What hardware is needed? What software is needed? 5 What’s a Web Server? Web server: a software application which waits for /responds to HTTP requests. Tim Berners-Lee wrote 2 applications to make the web: – A web browser called WorldWideWeb – A server called HTTPd 6 The first WWW Server at CERN. What’s a Web Server? Today’s web servers use high-performance hardware like this: (fast network and disk access) Pictured: IBM Blade Servers hosting files.myopera.com, photo from Wikipedia 7 What’s a web server? The Apache HTTP Server is the most popular web server (since 1996). Roles: – Processing HyperText Transfer Protocol – Logging – Delivering static content from the file system – Running scripts to deliver dynamic content 8 LAMP Model The most common structure for web applications uses this configuration: Linux operating system for a server Apache web server software MySQL database software PHP/Perl/Python scripting language to create dynamic HTML 9 How a Web Server Works Receives HTTP Request Search for resource (file) on disk Send HTTP Response (status code + data) – If not found: status 404 (NOT FOUND) – If not permitted: status 403 (FORBIDDEN) –… – Else: status 200 (OK) + send data 10 cs-people.bu.edu Our WWW server is www.cs.clarku.edu. The web server has a file system which it searches for a URI (resource pathnames). – Subdirectories for individual users: http://www.cs.clarku.edu/<username> – Example: http://www.cs.clarku.edu/~jmagee 11 Your UNIX Home Directory With the CS UNIX account, each user has a “home” directory: General form: /home/<username>/ Example: /home/jmagee/ This has a UNIX pseudonym of ~. 12 Your WWW Directory The web server will map this URL: http://www.cs.clarku.edu/~<username>/ to your CS UNIX’s account’s ~/public_html/ directory 13 Locate files in Finder/Windows Explorer Find your files on your local computer 14 How to Transfer Files to csgateway.clarku.edu Use a file transfer client-program: – Fetch (Mac) http://fetchsoftworks.com/ (a free academic license is available) – WinSCP (Windows) http://winscp.net/eng/index.php (also free) - SSH Secure Shell (Windows) 15 Connecting by WinSCP: – Hostname: csgateway.clarku.edu – Be sure to use the “SFTP” protocol 16 WinSCP to csa2.bu.edu After you connect, transfer files by drag’n’drop. Then rightclick to set permissions. 17 File Permissions File Permissions Each file has its own set of permissions for: – Reading, writing or executing – Owner, group, or others – This leads to a 3x3 matrix of permissions: 18 Setting Permissions by WinSCP Right-click to open this dialog Set the permissions to 644 19 Transferring File by Fetch Use drag’n’drop interface to transfer files… Then use the Get Info button to set permissions. 20 Setting Permissions by Fetch Set permissions to 644 21 Testing the Webpage: After uploading the files, test in your browser: There are two special filenames that the web server looks for automatically: – home.html – index.html 22 Take-Away Points – Web server – UNIX home directory – File Transfer Protocol – UNIX File Permissions 23