Editing the group website
The group website is located on bionmr, in a typical LAMP configuration. The server has no NFS access, so the only way of editing pages is with vi via an ssh login. Also, as it has no FTP access, the only means of uploading files is scp or Samba. Fear not! These methods are more secure, and are just as simple as those you already use. This page details how to edit the group website.
ACHTUNG
Please edit files on the website with extreme caution and respect! Make sure you don't overwrite or delete files unless you're absolutely certain it's OK to do so.
General website access
You can log into the server and send files to the server with the ssh and scp commands, respectively. The following subsections detail how to do so.
Logging into the server
Logging into bionmr is done via simple keyed secure shell. You'll need the same RSA key, username and password. If you're on linux, you're already set up:
ssh bionmr.unl.edu
On windows, you'll need to copy the PuTTY session to a new name, and edit the hostname to bionmr.
Uploading files to the server
From Linux
Pushing files to bionmr is done using the scp program, a remote file copy program similar to rcp, but secured through SSH. To send a file to the server, use the following command (from a linux workstation):
scp /path/to/local/file bionmr.unl.edu:/tmp
Once you've logged into the server, the file(s) will be located in /tmp. You could also scp the files to your home directory on bionmr, if you want to.
From Windows
To copy a file from a windows machine to bionmr, map a network drive to \\bionmr\myusername where myusername is your user name. You can then copy files into that share, which is your home directory. From there, you can ssh into bionmr and play with the files as desired.
Editing the website
Directory structure
The website data is located in /var/www. Documents available on the top-level of the server are found here (e.g. http://bionmr.unl.edu/nmr.php will be nmr.php). Please notice that all the files are owned by the www-data user with rw-r--r-- (644) permissions. Directories are also owned by the www-data user with rwxr-xr-x (755) permissions.
You will have to prefix any commands that change files with sudo, since everything is owned by the web server. Here is an example of what making a new directory looks like:
sudo install -v -d -m 755 -o www-data -g www-data new_directory_name
Here's what copying a file from your current directory into /var/www looks like:
sudo install -v -m 644 -o www-data -g www-data my_file /var/www/
Here's what editing a file looks like:
sudo vi file_to_edit
A few special subdirectories exist here that you need to know about.
courses
The courses directory contains files for courses, rather unsurprisingly. Each subdirectory of courses, such as courses/chem116 has a file called content.php and directories organizing course content into groups like exams, lectures and information. The directory names there are not set in stone; you just have to edit the content.php file to link to them, as detailed below.
files
The files directory contains non-image files that can be downloaded from the website. This directory contains a subdirectory for each top-level page, so if I make a link to a file called mydoc.pdf in proteins.php, the file will reside in files/proteins/mydoc.pdf. More on this below.
images
The images directory contains image files. Images in each top-level page will be located in their own directory, named after the page, just like stuff in files. Sensing a theme, yet? :)
include
The include directory contains a library of PHP code that is used by pages in the top-level. Unless you're adding publication information to include/publication.php, you probably won't need to edit anything here. Steer clear of here, ya hear?
Template styling
The pages in the website derive their style information from the UNL Templates, based on a PHP PEAR framework provided by UNL. A good reference on the templates can be found here. However, while it's good to understand certain aspects of the UNL templates (e.g. content layouts), you will not be writing any HTML, so don't bury yourself in the details there.
Image size requirements
Images on the website must conform to the current page style, so each type of image has size requirements, detailed below.
- Images inline with paragraphs of text must have width 700px.
- Images in picture gallery sections: largest dimension (width or height) must not exceed 750px.
- Images for group member pictures must be exactly 210x158px.
- Images for new page links on nmr.php or software.php must be 210x156px.
PHP Function Reference
If you need more information about the functions you're using in the top-level web pages, you can look (don't touch!) through the PHP files in the include directory. Each function will have a comment preceding it that describes - in graphic detail - the task it performs. Enjoy!