There are various resources for publishing your web site at The George Washington University.
The first option is to host with on the University server. This system is accessed through the adad.gwu.edu system and provides basic page publishing and Coldfusion support. More information is available on the University help desk site. These servers have the highest possible uptime.
Using one of the SEAS servers provides the following benefits:
If these are of no interest to you, then you should consider using the University resource.
Please note that the following design structure as detailed is changing. These directions are valid but will change in the near future in order to improve service and security.
The current design is split between two servers, one for students and another for faculty and organizational use. All servers are accessed through the ssh protocol at this time. You need to install and an ssh client and connect to the correct server below.
The process is generally the same after that, and only depends if you are coding pages directly or using a design tool. You will need to copy the pages (or login and edit the pages directly) under the public_html directory. Any files placed under this directory become public.
Controlling the permissions of the files is key to ensuring that the system can serve your files out via the web. In order to understand why this is so, we need to digress into Unix file permissions for a moment. This is one design element we hope to fix, so as not to complicate what should be a simple process, but this is how it works at this time.
When listing files in Unix (ls -l) the first entry is the permission given to various users. For our purposes here only the last three characters are of significance. These indicate the permissions given to the other user, basically anyone who is not either the owner (you) or the group which owns the file. For example:
$ ls -l
-rw-rw-r-- 1 myuser users 120 2007-08-17 16:54 help.html -rw-rw-r-- 1 myuser users 3270 2007-08-17 16:54 new.html drw-rw---x 1 myuser users 3270 2007-08-17 16:24 subdocs
For the given example the two first lines are files in the directory. You should note that the last permissions listed (hi-lighted in red) indicate that the other user has the ability to read the file. The last line listed indicates a directory. This entry need to have the execute allowed for the other user. This allows a user to traverse into the directory, but not list it's contents. It might be reasonable to allow the other user to read the directory, in which case any user could list the contents of the directory, but it is not a requirement.
The reason for this is the security model used on the system, where the service which hands out responses to web request needs to be able to access the file. That user is unrelated to you and so falls into the other category.
One of the functions that was requested in the past was an easy way to have private directories. This was basically a way to create a sub-directory which would require a password to access from outside of the web server. For this to work well the permissions must be carefully maintained. This is a easy replacement for something like Anonymous FTP, and a reasonable way to send large files w/o introducing attachments to emails.
In order to quick create a directory, you need to log in using ssh and run the private_dir command. This has two actions:
Note the example:
myuser@zippy:1: private_dir testdir Adding password for user testdir ----------------------------------------------------------------------- Directory testdir created under your document root. Access to the directory is governed by the /home/staff/noriega/public_html/testdir/.htaccess file. User testdir is defined in the /home/staff/noriega/users-testdir file. Access username/password is testdir/iz2vualp$ ----------------------------------------------------------------------- myuser@zippy:2:
Note that you can add additional users to the local .htaccess file with the following command:
You can delete the directory and password file at any time once you are done with it. It is important to note that the accounts created are not SEAS accounts and are not controlled or deleoped by SEAS in any way. They are valid only for the given directory.