Most of your work for this course will involve publishing files using the a server maintained by the University. The steps involved in this publishing process will remain the same regardless of what you are publishing. RSS feeds, XHTML web pages, CSS style sheets, image files and cgiemail template files are all published in exactly the same way. Therefore, the purpose of this tutorial is to explain everything you need to know in order to successfully publish your files on a University server.
Although it is possible to use a wide variety of software products to perform the necessary steps, for the purposes of this tutorial I will assume that you intend to use FileZilla, as per my recommendation. Therefore, before continuing you should ensure that either you are working on a computer where FileZilla is already installed (such as those in the public clusters on campus) or you have downloaded and installed FileZilla on your own computer.
Before you can publish, you must first have something to publish. Generally, you will be looking to publish one or more files that comprise some or all of your RSS feed or Web site. To keep this tutorial generic, I will hereafter refer to the files that you are trying to get published as the local files, since they are stored on your local system (the computer at which you are physically sitting).
As such, the first step is to create and/or collect the local files you intend to publish. In the case of text documents, such as RSS feeds, XHTML pages and CSS style sheets, this will typically involve the use of a text editor to create and save the document. In the case of images, this may involve downloading the images with a Web browser, copying the image files from a CD or creating and saving your own original creations using a graphics editor.
Regardless of where they come from, however, you should begin by collecting your local files in a single folder that I will hereafter refer to as your local working folder. You may name your local working folder anything you wish, but it should be something you can easily recognize and find. Unless you have a good reason to do otherwise, I’d suggest creating this folder in your My Documents folder.
Once you’ve collected your local files into your local working folder, you start the publishing process by launching FileZilla, which is an FTP client. If you have it installed on your own computer, you should find an item in your Programs menu labeled “FileZilla FTP Client.” In the submenu associated with this item, select the item labeled “FileZilla.” If you are using a cluster computer, you should find a similarly labeled item under the submenu for the item labeled “Internet Applications.” If you are using a Mac, you should look in the Application folder for an icon labeled FileZilla.app and click that. Doing so should launch the FTP client software, and you should see a window similar to the one below (albeit with different things listed in the lefthand list):
Notice in the figure above that the lefthand side is full of information while the righthand side is empty. This is because the lefthand side represents the file system of your local system. Since the client is running on the local system, it is able to populate the lefthand side with its knowledge of the local file system. The righthand side, on the other hand, represents the file system on the remote system (the computer to which you intend to transfer files). The client can only access information about the remote file system by communicating with the FTP server running there. Since the client is not yet connected with the server, it cannot yet display any information in the righthand side.
Therefore, before you can go any further, you must connect your client to the server running on the remote system.
To do this, you need to know the name of the host computer to which you intend to transfer your files.
As a CS403 student, you ultimately intend to publish your files using the server that runs on the host named pubpages.unh.edu. But you do not actually have account privileges on that host and therefore cannot connect to it using your FTP client. Instead, you must connect your client to cisunix.unh.edu and publish your files by storing them in your home directory. If you do that properly, the Web server on pubpages will then be able to access and publish your files from there.
If you eventually go on to take higher level Web-related courses, you may at that point be required to publish on a course-specific server, such as wcit.cs.unh.edu. If so, simply substitute that host name in the steps that follow.
When accessing the cisunix systems, you simply use the host name cisunix.unh.edu and trust the system to allocate your request to one of the computers that comprise cisunix. To accomplish this, fill in the fields at the top of the window similar to those shown in the image below and click the button labeled “Quickconnect” to the right of the fields. Note that the fields are filled in with cisunix.unh.edu as the hostname and 22 as the port. Of course, you will need to provide the appropriate username and password for your own account:

Upon doing so, you may see the following dialog box:
This dialog is the result of using port 22, which forces a secure connection between the FTP client and the FTP server. Secure connections typically call for an abundance of caution, and that is all this dialog represents. You may safely click the OK button to proceed.
It’s also possible that under certain circumstances you may see the following dialog as well:

This too is typically displayed out of an abundance of caution, and you may click the OK button to proceed.
If you successfully complete the steps outlined above, you should see a window similar to that shown below (though the details are likely to be different). Note that the righthand side is now populated with information about the remote system. In the tree at the top it shows the series of steps taken to reach your cisunix home directory. Since the server knows who you are from the username and password you entered, it is smart enough to place you in your own home directory within the file system, since that is where you most likely wish to work. In the list below the tree, it displays everything that is currently stored in your home directory. As you change what is selected in the tree at the top of each side, the contents of the list below it will be updated to show you what that newly selected folder contains.
By the way, if you are wondering what happened to the port number you had previously entered, it has been converted into the sftp:// that now appears at the beginning of the hostname. These are just two equivalent ways of instructing the client to establish a secure connection with the server.

Your client is now connected to the FTP server.
Now that the client is connected to the server, you are ready to transfer files between the local system (represented by the lefthand tree and list) and the remote system (represented by the righthand tree and list). Although the client can be used both to put files on the remote host and get files from the remote host, when you are publishing you almost exclusively put files on the remote host.
The most important aspect of transferring files from one host to another is understanding the concept of locations. A file system consists of a potentially huge number of unique locations, each represented by an individual folder (or directory). At any given point in time, your client is “in” one and only one location within the local file system and one and only one location within the remote file system. The lefthand list shows you the contents of the current location in the local file system and the righthand list shows you the contents of the current location in the remote file system.

To determine what
the current location in each file system is, simply identify which item is highlighted in the tree diagram displayed on the appropriate side. For example, in the image above, the local file system (on the left) is currently at Computer. Similarly, the remote system is currently in the folder named amg401 (which in your case will be your own home directory and will therefore match your username).
The first thing you need to do is move your local location to your
local working folder. If you followed my advice, you should be able
to do this by clicking the folder labeled “My Documents” in the
lefthand tree. In the new list that appears below the tree diagram on the lefthand side, you
should see a yellow folder labeled with the name you used for
your local working folder (CS403 in the image below, but in your case the name will be whatever you specified when creating the local working folder):
Double-click this folder icon to display
the contents of your local working folder. Now, you should be able
to see your local files listed in the lefthand list (as shown in the image below). Later in the semester,
you may also have folders within your local working folder, and you
should see them listed along with your local files (as shown in the image). If you need to
move inside one of them, simply double-click its icon. If you need
to back up a step to a higher level of the file system, click the topmost item in the list (labeled ..) or click the appropriate location in the tree diagram.

Next, you need to move to your publication folder on the righthand side. Your publication folder must be named public_html. Scroll down through the righthand list to see if a yellow folder icon labeled “public_html” already exists. If it doesn’t, you’ll need to create it by right-clicking within the righthand list and selecting Create Folder from the contextual menu that appears. The following dialog box should appear:

Notice that the words “New directory” are selected already so that when you type the actual name of the new folder they will be replaced. (Directory and folder are just two different names for the same thing!) At this point, be careful to type public_html (all lowercase letters with an underscore in the middle) and press Enter (or click OK). If you don’t type the name exactly right, your publication process will not work.
When the public_html folder appears in the righthand list, double-click
its yellow folder icon to make it your current remote location. If
you just created it, the righthand list should now be empty (except for the .. entry which is always there), since
new folders are initially empty. If your public_html folder already
existed, what you now see in the righthand list is a listing of all
the files and folders it currently contains. Should you ever need to
delete a file that you no longer need, click its icon to select it
and then press the Delete key on your keyboard.
At this point, you should have your local working folder displayed in the lefthand list and your public_html folder displayed in the righthand list, as shown in the image below. Locate the icon for the file you wish to publish in the lefthand list and drag it into the righthand list.

There are a couple of things to keep in mind when transferring files. First, the original file is unaffected. A copy of it is made and placed in the destination. However, if a file with an identical name already exists in the destination, it is completely replaced by the new copy of the file being transferred. For this reason, it’s important to keep your wits about you when transferring files, since you could conceivably mess up by dragging an old file from the righthand side to the lefthand side and overwrite all the work you’ve invested in the new version of the local file.
The University Web servers all run Unix as their operating systems. Since it was designed to allow many users to simultaneously share a single computer, Unix uses a permission system to control who can do what which each file and folder on the system. This is especially important to us when we publish our files, because every file we publish (and any
folders that contain it) must be open to the public in order
to be available to the server. That means that your home directory, your public_html folder
and everything that your public_html folder contains must have permissions that make them available
to absolutely everyone. As such, before we can consider our files published, we must first verify that the permissions have been set appropriately.
To set the permissions for your home directory, locate the folder labeled with your username in the righthand tree. Right-click (or on a Mac hold down the Control key while clicking) this folder and select File Attributes… from the contextual menu that appears. In the dialog that appears (shown below), make sure that the number 755 appears in the field labeled Numeric Value. All folders that contained published files should have their permissions set to 755.

Next, repeat this process for the folder labeled public_html in the righthand tree, setting its permissions to 755 as well.
Generally, this will only need to be done once for your home directory and your public_html folder.
It will also need to be done for each file or folder that you wish to publish within your public_html folder, however, and that step may need to be repeated periodically. If you go to test your published files and they don’t seem to
be working at all, or you get messages to the effect of “Forbidden” or “Access
denied,” or your styles or images do not appear at all, the most
likely explanation is that your permissions need attention.
Always confirm that every folder between your home directory and your published files has a permission mode of 755 and that every file you wish to publish has a permission mode of 644. If they do not, they are not properly published.