Installing Your capstone project on a public server
Contents |
Creating an Account and Logging into to the Capstone Server
We have set up a server on the host prakash-class.eecs.umich.edu to host your projects. To get an account, go to the following page:
http://prakash-class.eecs.umich.edu/~aprakash/requestpassword.html
Type in your umich uniqname (e.g., aprakash). The web server will create an account for you and email you a randomly-generated password. Remember the password or keep that email around.
Transferring files to the Server from Mint
You will want to transfer your files into the public_html folder.
To transfer your files, go back to the Mint system. Mount your folder on prakash-class from within Mint via the following URL:
sftp://<uniquname>@prakash-class.eecs.umich.edu/home/<uniquname>
You will type the above URL in the File Browser (not the web browser). You have to type in a "/" character where the path appears to make the entry box visible and then backspace over it. Then type the above sftp URL. That is how you mounted your ITD space in the file browser earlier in the semester. Below is a screen shot after typing in the / in the hidden address bar:
After backspacing over the /, type in the URL. An example is below (substitute your unique ID (login id) for uniqid in the URL in the two places):
Accept the warning, use the random password that was emailed to you, and checkbox "Remember forever" (or whichever option you prefer). Then, you should be able to transfer your files to the public_html folder.
Note that the file paths on the server are different from that on Mint since the server hosts all student projects. If you have absolute file paths in your source code, you may need to change that.
Also, the server is not currently secured. Please do not install code that loops forever or does dangerous things. That could bring the server down for the whole class.
Once you have transferred your files, you should be able to visit them via:
http://prakash-class.eecs.umich.edu/~UNIQUNAME/YOURFILE.html
In the above, UNIQUNAME should be replaced by your login ID. YOURFILE can be index.html, capstone.html, or whatever your html file is called.
Transferring files via sftp from command-line
As an alternative to the transfer via the File Browser, you can also use scp from Terminal in Mint:
% scp FILENAME UNIQNAME@prakash-class.eecs.umich.edu:/home/UNIQNAME/public_html
The above copies FILENAME from your local system to your public_html directory on the server. Substitute the filename you want to transfer (e.g., capstone.py, if the file is in your current directory, or full path /home/me/capstone.py) for FILENAME. Substitute your uniqname for UNIQNAME.
Direct login to the server and Handling Permission Denied Errors
If you need to troubleshoot Python problems on the server, it may help to login to the server directly. To do that from Mint or Mac, do the following from a Terminal window:
% ssh <uniquename>@prakash-class.eecs.umich.edu
If you are on a Mac or issuing ssh from within Mint, you can instead use the following (stick in the -X):
% ssh <uniquename>@prakash-class.eecs.umich.edu -X
Type in the password that was issued to you. You will be in your home folder on the server. Your files will be in the "public_html" folder. Use the "ls" and "cd" commands to look around. You can use "ipython" or "python" as in Mint.
If you got a permission denied error, change into the public_html folder (if you are not already in there) and use the chmod command to make the files readable to Apache:
% cd public_html % chmod go+r FILENAMES
To make all your files in public_html readable to apache, you can use the regular expression * that matches all files in the current folder, as follows:
% cd public_html % chmod go+r *
To confirm that permissions are good, you can do the following:
% ls -l *
Your files should have three r's, e.g., -rwxr--r--, which indicates that the file is readable to the owner, your default group (which is just you), and to others. Apache is "other".
For editing the files directly on the server, you can use Emacs from the terminal, but since you are logging in from a remote machine, it will be the plain terminal version of Emacs unless you used the -X option for ssh from a Mac or Mint. If you use -X, then an Emacs window should pop up with the normal GUI. But this emacs is running on the server and displaying on your machine. That emacs may not have all the syntax highlighting, etc. that is configured on Mint. If this is problematic for you, it may be easier to edit the files from Mint and copy them to the server via the File Browser.
To see the contents of a file on the server on the terminal, you can do;
% more FILENAME
Keep hitting returns to page through the file or hit 'q' to quit.
To log out, type:
% exit
Or close the terminal window.
Resetting a forgotten password
To reset your password, go back to the URL given earlier for creating your account. The same URL can be used to reset your password. A new password will be created and emailed to you.
Logging in with your own password
The server does not permit you to install your own password, since I didn't want to risk weak passwords on the server. This should not be a big issue since you can continue to use the password that is emailed to you (and re-request it if you forget it).