Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

What is Static Webspace?

Static webspace is an area where you can place files that can be accessed by a Lehigh web server, which will deliver them to a web browser in response to an appropriate request. In other words, files you put here can be seen on the web.

This webspace is static in that nothing that someone does on the web will change the files themselves in any way. This means that there are certain kinds of functionality that you may be used to seeing in various websites that cannot be recreated here. Any interaction with the person viewing the page is limited to what can be done entirely in the user’s web browser. There is no storage of information on the web server, no database to connect to. This rules out blogs, social websites, forums, and places where people can share things, like pictures.

A static webspace can be used to create simple websites, particularly informational ones where the information changes relatively infrequently. It can also be used as a repository for static resources that are used by other websites, such as files to download, or images or other media files that for one reason or another are not easily stored on the other website.

Note: For those who had previously set up a static website under AFS, you may wish to consult the Transition Guide for information on what may have changed. Most users will not notice any changes.

What Kinds of Files Should I Put Here?

Web pages are built with code, which is nothing more than ordinary text that follows certain rules. The language that the code is written in determines the rules that have to be followed. It is possible to mix different languages within the same file, but it is usually better to keep each type of code separate; it’s less confusing (for you, not the computer). There are three languages that are used for static websites, and each has a different function:

  • HTML. Code written in HTML describes the structure of the web page. In other words, it describes the parts of the page--in terms of their function, not their appearance--and how they relate to each other. This is used to create paragraphs and headings, lists and tables, to create links to other pages, and to embed images and other objects. This file will also contain the text of the content of your site.
  • CSS. Code written in CSS describes the presentation of the items in the page. In other words, how things look, and where they will be placed. This is what determines things like fonts, spacing, margins, alignment, indents, and colors. This type of file is called a stylesheet.
  • Javascript. Code written in Javascript describes the behavior of the items in the page. In other words, what does the object do if it is pointed at, or clicked on? Javascript can be used to make a page seem dynamic in a very limited way, but because there is no persistent change in the server, the effect is mostly an illusion (this is not necessarily a bad thing; some illusions can be useful). Of the three languages, this is by far the hardest to learn to use, as it involves actual programming and not just description. Javascript files are called scripts.

Do you have to learn each language in order to create static web pages? Well, no, you don’t absolutely have to, but it helps a lot. There are tools that let you work with a page as if it were a word processing document, in a what-you-see-is-what-you-get (WYSIWYG) way, and will create the code for you. However, a web page is not a word processing document, and the more you understand about each language, the more you will understand what the tool is doing for you (and why it sometimes can’t do what you want). Because a web page is not as much like a word processing document as it appears, creating a page in an actual word processor (like Word) and exporting it as an HTML file sort of works, but not very well (it is not recommended).

You should also know that not every page, or even every website, will necessarily require all three kinds of files. You can build a reasonably functional website with just HTML. Most websites will look better with at least some CSS, but you can easily get by with one CSS file for a whole website (this actually helps the website maintain a consistent “look and feel”). Many static websites have little or no Javascript at all.

The other kinds of files that make sense to put in a static web space are media files that you want to display on the web (embedded in a web page or not), plus any kind of file that you might want someone to download (but not view on the web). Files of the first kind include:

  • Images. (PNG, JPEG, or GIF)
  • Videos. ((MPEG-4, MOV, or WMV)
  • Portable Documents (PDF)

While files of the second kind might include:

  • Compressed archives (ZIP)
  • Office documents (Word, Excel, or Powerpoint)
  • Disk images (ISO or DMG)

How do I get to my webspace?

Briefly, you use a secure shell terminal (ssh) or file transfer application

...

to connect to ssh.lehigh.edu and upload your content to the ~/public/www-data/ directory under your home space there.  The content will then be visible by browsing to https://www.lehigh.edu/~username/ (where username is your account username.)

How does this work?

The https://www.lehigh.edu web server is now actually 3 servers front ended by a load balancer and spread across 3 different data centers.  The file store (where your static pages live) is mounted on the ssh.lehigh.edu server, and that is how you can upload and modify content there.  The web servers are running Apache 2.4, and you can place directives in an .htaccess file to control access, load a particular page, or redirect to another page. 

Because of the complexities of the file store being mounted across multiple servers, please do not attempt to alter directory permissions on your own.  Doing so could break your access to the pages, make them unreadable by the web server, or open up access to files to the world.  If you need to change permissions to a directory, please create a Jira help desk ticket with LTS for assistance.

Note that access control files (.htaccess) only affect who can access the page on the web, while directory permissions only affect who can add, delete, and edit pages where they are stored--these two functions are completely independent of one another.