REFRESH THIS PAGE

I am currently updating these pages and might have made minor changes since you last viewed it in your browser.

SYST10049 Setup Tasks

In order to do the homework, assignments, and exercises for this course, you will need to set up your work environment. This involves:

Basic Terms and Concepts

It's important that you understand these basic terms and concepts before you proceed. Make sure you are familiar with each one so you can accurately trouble-shoot any issues you might have.

Important!
Your Sheridan login name is the 8-character name at the start of your email e.g.in login@sheridancollege.ca, login is your Sheridan login name. Note your email address! The value "login@shernet.sheridancollege.ca" is NOT an email address - it's a UPN (User Principle Name). When asked to enter or use your Sheridan username or login name, use only the login portion of your email or UPN.
directory
A directory is what non-technical users call a "folder". Directory is the original term used to describe a specific named collection of files. The term "folder" started being used in the late-90's when the Windows operating system became popular, as an effort to help encourage people without computer science degrees to use a computer. Although we still use "folder" when talking to users, we use the term "directory" in technical circles.
FTP
FTP stands for File Transfer Protocol. This is the protocol used to transfer (upload, download) files to and from a server.
FTP Client
A program on your computer that helps you to manage FTP connections. It allows you to store connections (with logins and passwords), connect and disconnect to FTP servers, and it provides a way to select files to upload and/or download.
public_html
web root
Web servers have a public_html directory/folder. This is where all web public content is stored. Anything inside /public_html or any of its sub-directories is publicly accessible via a URL. There are several directories on a web server, and public_html is just one of them. This directory is the web root directory of all of your published web pages and sites: this is where all of the files that make up your web application will be stored. You will create several sub-directories in your web root. If you are in syst10199 (web programming term 2), you'll also be adding Node.js programs: these are not directly accessible via URL. For this reason, your Node.js apps will NOT be stored inside /public_html.
cPanel
CPanel is the software on the server that allows you to manage your web space. You have been assigned a limited amount of space on a web server where you can publish your web pages and web applications. You can use cPanel to upload and download files and change the settings for your space on the server. You will also use cPanel to manage your databases when you learn how to use MySql with PHP in Web Programming next semester.
Local
When someone says a "local server" or "local connection", they're referring to something on your own machine (aka "local machine"). Something local is on your own computer: a local server is a server that runs on your laptop or PC; a local machine is your own machine, not a machine that is in a different location.
Remote (adjective)
Remote is used to describe something in a different location; it's the opposite of "local". A remote server is a server in another room, another building, or even another city or country. A remote machine is a machine in another location. When you transfer files to a server, you are transferring files from a local machine (yours) to a remote machine (the server).

Installing Software

In this course, you will need a compression/extraction tool so you can submit assignments and receive files from your professor, an editor that allows you to create and edit source code for web pages, and an FTP client to publish files to a web server.

Compression/Extraction Tool

A compression/extraction tool allows you to compress several files into one file that usually has a .zip extension (usually just called a "zip-file"). You will use this tool to submit your assignments to the SLATE dropbox. You will also sometimes use this tool to unpack a collection of files that your professor wants to give you for an exercise or assignment. For example, s/he might wish to give you a collection of images to use for a web site.

There are several free tools you can use. Note that for this course, we only accept .zip or .rar files, so if you choose a different tool, be sure that it's capable of creating standard .zip and/or .rar files with no password protection.

Here are a few I recommend. All of them are free: you don't need to pay for any of these.

HTML/CSS Editor

Note
If you've already downloaded and installed VS Code in your Java class, you can skip this part, since you've already done it.

You need to have some kind of editor or IDE (Integrated Development Environment) that allows you to create and edit source code (HTML and CSS) for web pages. There are hundreds of free editors and IDEs, some more complicated than others. For this course, we will focus on VS Code (Visual Studio Code) but feel free to use something else. If you prefer to use a different IDE, it is assumed you are familiar with that tool and know how to solve any problems with it: your professor doesn't have time to help you figure out how to use a different tool.

Important!
You may not use a WYSIWYG editor (such as DreamWeaver, HubSpot, CoffeeCup, Editor.js, TinyMCE, etc.) for any assignments/evaluations in this course.

Download Visual Studio Code for your platform.

Just download the latest version of VS Code and install it. The installation process should be pretty straightforward.

You don't need any extra plugins or extensions, but let me know if you have a favourite that you think we should add to the course.

If you're ever on a different machine, you can always use a Free On-Line HTML Editor temporarily.

FTP Client

An FTP (File Transfer Protocol) Client allows you to upload and download files to/from a server. You will use an FTP client to upload and manage your files in your web space on the Dev.FAST web server. There are several free FTP Clients available, but I find FileZilla to be the easiest to use. If you don't like FileZilla, you can find something similar such as Core FTP or CoffeeCup (the same people who wrote the free HTML editor).

Important!
If you're given an option to download a "client" version or a "server" version, download the client version, because you'll be using it on your computer (a client) to upload to the server.
Important!
Be careful! Some installers will try to have you install extra software you don't need. READ everything CAREFULLY!

You will need to configure your FTP Client to connect to your web space after you install it. You'll do this after you set up your web space (instructions are farther down).

Setting Up Your Workspace

You will be storing the files that make up your web pages on the laptop you use in class (and/or on your computer at home). If you have not done so already, you should set up a folder/directory on your system for your term 1 or term 2 (whatever is appropriate) courses. Inside that folder/directory, you should add folders/directories for all of your courses (e.g. web, programming, math, etc.) You can use whatever names you like for the directories - you can use the course code, for example. In the screen shot below, I was lazy and just used simple names like "Python" and "WebDev".

Create a directory for your courses in this semester, and
inside that directory add sub-directories for each course

Inside the folder/directory you created for this course, add an "assignments" (all lower-case letters) folder/directory. This is where you'll save all of your evaluated projects (graded exercises, assignments, etc.) You can store other stuff in the root web folder (e.g. in the "WebDev" directory) such as handouts, slides, and other files for the course. I also recommend setting up additional sub-directories for each week e.g. /week1, /week2, etc. Find some way to organize all your web projects so that you can easily find them (e.g. in week 8 I might say, "Open the project from week 4 with the navigation example...")

Create the /assignments sub-directory for your assignments,
and directories for each week's work
Important!
You will be mirroring or cloning this file/directory structure on the dev.fast server. File and directory names on the server are case-sensitive!! If you do not follow the instructions regarding upper/lower-case letters, your web sites will not work with the URLs used in assignments, exercises, etc.

Once you set up your web space, the contents of your "WebDev" directory will be mirrored or cloned on the server: you'll have a directory there with copies of /assignments, /week1, /week2, etc. and all of the contents of those directories. This will make it really easy to publish your work on the server.

Setting Up Your Web Space

All assignments and exercises must be published on the Dev.FAST web server. You will be given space on this web server to publish your work. To obtain access to this space, follow the instructions below.

Important!
Accounts on the dev.fast server are deleted at the end of every term after grades have been submitted. To reset your account in a new term, just follow the instructions below.

The dev.fast web server uses a server software called cPanel. CPanel provides a graphical interface that makes it easy to manage directories and files, and also manage security settings, among several other things.

Important!
Summary of your Sheridan Credentials:
Email: login@sheridancollege.ca
UPN: login@shernet.sheridancollege.ca
User name (Login name): the first 8 characters of your email/UPN; whatever you put for "login" in the above.

Example:
if Din Djarin's UPN is djarindi@shernet.sheridancollege.ca,
then Djarin's email is djarindi@sheridancollege.ca and
Djarin's user name or login name is djarindi

To set up your web space account, simply go go Dev.fast cPanel (https://cpanel.dev.fast.sheridanc.on.ca) and click on the "Log In Via Sheridan" button at the bottom. Then sign in using your Sheridan user name (not the UPN or email address) and password. The first time you sign in during a new term, your account is automatically created.

log in via sheridan button at the bottom of the form
Log in Via Sheridan to create your dev.fast server account.
Important!
If you have any technical issues with the dev.fast server, ask your professor first. Include as much detail as possible and any screenshots and/or error messages.

If your professor can't solve the issue, log in to Service Sheridan and fill out a "Report Issue". Please include as much detail as possible and any screenshots and/or error messages so they can assist you as quickly as possible.

To manage your web space and the utilities using the browser and web interface, go to https://cpanel.login.dev.fast.sheridanc.on.ca.

If you see the "Choose a Starting Point" screen, just click the SKIP button.

The main cPanel page has many categories of tools. Each of these categories is collapsable, so you might want to collapse them all as you search for the tools you want - it makes it easier to search for things!

categories visible: email, files, databases, domains, metrics, etc.
I collapse my tool categories to make it easier to find things

While using the tools, you can return to the main tools menu at any time by clicking the "Tools" link on the far left side of the page.

Change File Settings (Mandatory)

There are a few file settings that need to be changed:

  1. On the cPanel page, find Files > File Manager.
    The File Manager option highlighted under the Files category
    Find the File Manager tool
  2. Click the "Settings" icon in the top-right of the main cPanel window.
    The Settings button highlighted on the top right
    Click the SETTINGS button on the top-right.
  3. For "Always open this directory in the future by default:" select Web Root (public_html or www)
  4. Check off Show hidden files.
  5. Click the SAVE button to save your changes to the settings.
    Preferences showing the 2 selections and save button highlighted
    Set the Web Root as the default and show hidden files.

Once you have your web space set up, you need to configure your FTP Client to connect to the web server so you can upload and manage your project files. The instructions below use FileZilla, but they should be similar for other FTP clients.

Setting Up the FTP Connection

FileZilla is one of several FTP clients you can use to upload (publish) files to your web space on the dev.fast server. You can also upload files using cPanel, but using FileZilla is much faster and easier.

One disadvantage is the initial setup to work with the dev.fast server: Sheridan's network/software uses SSO (Single Sign On) for its authenticaion - you can use your Sheridan credentials to log into any part of the system. This is very convenient: previously, students would have to create a separate password just for the dev.fast server. Using SSO means you only have to remember your Sheridan login information (login name, email address, UPN, and the password). However, in order to allow FileZilla to allow connections to the dev.fast server, you will have to create a SSH (Secure Socket Shell, or just Secure Shell) cryptographic key. This key will make sure that the FileZilla connection coming from a computer to your dev.fast server account is actually you, and not someone else - it's an extra layer of security that is required in order to allow a non-Sheridan application to connect to one of the Sheridan network resources.

Note
Many thanks to Bob Pearce and the FAST Tech team for streamlining this process and providing the following instructions! <3

Create the SSH Key

TL;DR: First, we'll create the SSH key and give it to FileZilla. This key consists of a public key and a private key. The public key is used to encrypt data before that data is sent to the receiver. the receiver uses the private key to decrypt the data. When a client and server start to communicate, they need to agree on and exchange these keys before any messages or data are exchanged. So you will use a cPanel tool to generate a public and private key pair for you. Then when you connect to cPanel using FileZilla, any data it receives from the dev.fast server will be encrypted using the public key, and it will decrypt the data with the private key (and vice versa).

  1. If you're not already logged in, go to https://cpanel.dev.fast.sheridanc.on.ca/ (opens in a new tab/window) and scroll down to the "LOG IN VIA SHERIDAN" button. Click "Log in via Sheridan" and enter your Sheridan credentials (your UPN and Sheridan password) and do the verification if necessary.
  2. If you're logged in, you should see the main landing page:
    the cpanel Tools page with the menu on the left
    cPanel main landing page
  3. Scroll down the page: you'll see various tools with icons separated into categories or sections. Find the category/section called Security and click on the tool labeled SSH Access.
    ssh access under the security heading
    Click SSH Access in the Security section
  4. Click on the button titled "Manage SSH Keys"
    manage ssh keys button highlighted
    Click Manage SSH Keys button
  5. Now you can create your SSH Key: click on the button with the text "+ Generate a New Key".
    generate new key button highlighted
    Click Generate a New Key button
  6. Now you will need to enter a key name: you could call it whatever you like but it is suggested you use cpanel_key so you can easily find or recognize it at a later date, and it will make troubleshooting easier.
  7. Enter and confirm a password for your private key. For the rest of the instructions I'll call this your key password. Make sure you use a strong key password. Feel free to use the password generator on the screen if you like. Record your key password somewhere safe and secure, because you'll need it for the next set of steps.
    key name is cpanel_key and a password has been entered
    Use the Key Name cpanel_key and choose a password
  8. Leave the rest of the fields alone: the default key type of RSA and key size of 2048 are ok, you don't need to change those. Click the Generate Key button near the bottom.
  9. The next screen should show the message "Key Generation Complete" along with a box full of what looks like a lot of seemingly random characters: that's fine. Below the box, look for the Go Back link and click it to return to the Manage SSH Keys page.
    go back link near the end of the page highlighted
    You've generated your key: go back to the manage keys page
  10. Now you should see your cpanel_key in the "Public Keys" area and "Private Keys area. However, in the Public Keys area it's Authorization Status is shown as "not authorized". Click on the link titled Manage to the far right of your cpanel_key Public Key.
    highlighted manage link at the end of the cpanel_key row
    The key is not authorized: click on Manage to fix this
  11. Now you'll see a screen that says "The key with the name 'cpanel_key' is currently "not authorized" for use..." Click the Authorize button to authorize the use of this key. This will allow you to use it in FileZilla.
  12. After you click the Authorize button, you should see a message that says "The key 'cpanel_key.pub' has been authorized." Now click on the Go Back link to return to the previous page.
    highlighted manage link at the end of the cpanel_key row
    The key is not authorized: click on Manage to fix this
  13. Back on the previous page, you'll now notice that the cpanel_key is listed under "Authorization Status" as "authorized". Now you need to download the private key so you can give it to FileZilla: Click on the "View/Download" link under Private Keys.
    View/Download link under the Private Keys heading
    Click View/Download for the Private Key
  14. Now you should see a big text box with all kinds of junk inside it: do not share this junk with anyone, keep it private (that's why I didn't display mine in the screen shot!). Click on the Download Key button under the text box.
    text box with begin openssh private key followed by jibberish followed by end openssh private key
    Click the Download Key button
  15. Choose a location for your file if prompted to do so. If your browser put the file in your Downloads folder, you can find it there and move it to a different directory if you wish.

Now you have generated a key so you can communicate via FileZilla between your computer and the dev.fast server. Time to add the key information to FileZilla.

Open up FileZilla if it's not already running. You need to create a connection so that FileZilla will remember it and allow you to easily connect whenever you want.

  1. From the FileZilla Edit menu, select Settings.
    edit menu and settings selected
    Filezilla: Select Edit > Settings
  2. On the left side of the dialog, select SFTP in the "Connection" category.
  3. At the bottom-middle of the dialog, click the Add key file... button.
    connection sftp selected
    Click SFTP under "Connection" then click Add Key File
  4. Now browse to where your cpanel key file was saved and select it.
  5. After selecting your cpanel key file, a dialog box will appear asking if you'd like to convert your key file into a format that is supported by FileZilla. Click Yes.
    dialog: do you want to convert the key?
    Click YES to convert your key file
  6. When prompted, enter your key password, and then click on the OK button.
    dialog asking for the password for the key file
    Enter your key password, then click OK
  7. Now you are asked to choose a file name for the converted key file. Just use the same name: it will overwrite the original and that's ok. If it asks you to confirm overwriting the original file, just say Yes. (It's not actually going to overwrite it - if you take a look after you save, you'll see the original cpanel_key and also cpanel_key.ppk).
    dialog confirming overwriting of file, save dialog in background
    Confirm overwriting the original key file
  8. In the previous dialog, you'll now see your cpanel key file in the list in the middle of the screen. Click OK to close the dialog.
    the key file is listed under private keys
    Click OK to exit the dialog

Now all that's left is to add or edit your connection to the dev.fast server. If you have this connection from last term, you just need to edit and test it, so you can skip over some of the steps below. If you have to create a new connection, follow all the steps.

  1. Open the Site Manager: You can use File > Site Manager or Ctrl-S, or click on the first button in the button bar, shown in the screen shot below:
    first button in the button bar
    Open the Site Manager
  2. Add a new connection: Click on the New Site button below the list of sites (in my screen shot I have several sites alreayd configured, but yours will likely be empty if you've never done this before).
    • If you are editing an existing connection to dev.fast, just select it in the site list instead, and the site configuration and details will appear on the right side of the window.
    new site button
    Add a New Site or click an existing one to edit it
  3. You now need to enter the connection details. For the FAST Development Server, use the following details (if a field is not listed here, leave it set to its default value; if there is a field for the name of the connection, just choose whatever you prefer):
    • Protocol: SFTP - SSH File Transfer Protocol
    • Host: dev.fast.sheridanc.on.ca
    • User: enter your Sheridan login name (only the login name, not the UPN or email)
    • Password: your Sheridan password (NOTE: if you're editing your settings from last term, you need to makes sure you change this to your Sheridan password, not the password you were given by the FAST Tech team.)
    the connection settings
    Fill in or edit the connection details
  4. Save the connection by clicking the OK button.

You can connect to the dev.fast server any time by using the Site Manager (File > Site Manager or Ctrl-S) and clicking the Connect button for your connection. Or, you can use the small drop-down arrow beside the Site Manager button on the button bar, and select your connection from the list: it will connect automatically.

When you connect to the server using FileZilla, you will see the "Unknown Host Key" dialog box: Check the checkbox and click OK.

host key mismatch dialog with checkbox checked
Check the box and click OK

Next, you'll see the dialog that asks you for the key password. Enter the key password, and make sure the "Remember password until FileZilla is closed" checkbox is checked so you're not repeatedly prompted for it every time your connection times out. Then click OK.

dialog asking for key password
Enter the Key Password, check the checkbox, and click OK

If everything works, it should show you as connected and you can see the remote server directory listing. If you see any error messages, something didn't go right. Read the error message and fix the problems, then try again. Ask your professor if you see an error message that you don't understand.

Copying your Directories onto the Server

Important!
Your professor might require a slightly different directory structure (e.g. they might require you create a directory for your /syst10049 or /syst10199 course in the /public_html directory). Pay attention to the specific instructions given to you by your professor. If you're not sure, ask!!

Now you can mirror or clone your local workspace directory structure to the server in your /public_html directory. Open FileZilla if it's not already open.

You can repeat this process for any directory/directories or file(s) that you want to upload from your local machine to the server. For more information on publishing, see How to Publish. You will create other directories throughout the course, so make sure you keep these instructions handy (i.e. bookmark them or summarize them in your notes) so you can refer to them if you need to.

Password Protect Assignments

You should now password-protect your assignments directory. The instructions are on a separate page:

Protect Using the cPanel Directory Privacy Tool (opens in a new tab/window)

After you have set up your /assignment directory's credentials, come back to this page.

Important!
Sharing your /assignments credentials with anyone other than your professor will constitute a breach of academic integrity and will be dealt with accordingly.

If you are still not sure or the professor has not provided a link to one of those documents in the course materials, email your professor and ask for clarification.

Once you have set up credentials for your /assignments directory, you can test it out:

If you have any issues with this process, review the instructions and make sure you followed them exactly as they are written. If you still can't figure out the problem, ask your professor for assistance: be sure to provide thorough details of what is going wrong, and take screen shots of any error messages or strange output you have.