EECS Instructional Support Group, Department of Electrical Engineering & Computer Science
[ ISG home page ] [ who we are ] [ send us email ] [ search ] [ FAQ ]

How to Set up a Home Page
on the EECS Instructional Computers

Home pages for individual students are not listed on the EECS Instructional WWW server, but students can contact the CSUA and ask to be added to their list.

Topics:
  • What is a "home page"?
  • How to Set up a Class Home Page; WEB services (for instructors)
  • How to Set up a Personal Home Page (for students)
  • HTML Code Sample: a Simple Homepage
  • How to "Publish" using an HTML Editor
  • Debugging Tips;   Server Access and Error Logs
  • Updating your .htaccess files
  • Features:   SSI, CGI, PHP, GD, sym links, redirect
  • Restricting Access to your WEB Site
  • Usage Policies for Information Servers
  • General References about WWW utilities
  • Apache HTTP Server Project Home Page
  • Apache Manual for this WWW Server


  • What is a "home page"?

    A "home page" is a text document that may also contain references ("links") to other home pages and to text and graphics documents. It is generally a single page or the top level of a hierarchy of pages on a specific subject (such as you). The source text file for it may be browsed by selecting the "View Document Source..." option of your
    Web browser. The special features of a WWW home page are defined by simple HTML commands that are typed into the source text file.


    How to Set up a Class Home Page (for instructors)

    There are several WEB services for courses.   Our recommendation to EECS instructors is:

    1. create a course site on the EECS Inst server
    2. use the EECS Inst site for posting public content
    3. use the EECS Inst site for dynamic content (CGI, Wiki, etc)

    In addition, if you wish to communicate on-line with the students and post password-protected content:

    1. create a course site on bSpace
    2. advise students to login to bSpace and join your bSpace course site
    3. use the bSpace Discussion, Chat and Email tools for communicating with students (see bSpace presentation)
    4. use the bSpace Resources tool for posting private content
    5. use the bSpace Web Content tool to add a window to your EECS Inst site

    For a summary of the course WEB services at UCB, see WEB services for courses below.

    The EECS Instructional WEB server:


    WEB services for courses:

    There are several UCB WEB servers that EECS instructors can use to post course materials.   Here is a summary.

    1. EECS Instructional WEB server   (http://inst.eecs.berkeley.edu)
      The files are stored within the instructor's account on a UNIX server and can be editted from EECS UNIX and Windows computers.   CGIs and directory-level access restrictions can be used.   Files are backed up to tape and archived each semester.   This site is listed under http://inst.eecs.berkeley.edu/classes-eecs.html, which is referenced from other WEB servers in EECS.   Tech support is from the EECS Instructional staff (inst@eecs.berkleley.edu).   See above for details.

      We recommend that instructors use the EECS course WEB site for content that should be public, permanent and archived, and that they use bSpace (below) for on-line communication with the current group of students.

      We also recommend that you list all WEB sites used by the course on the default home page on http://inst.eecs.berkeley.edu, so that there is a permanent record of where the content is for that semester.

    2. EECS Seminar WEB sites (http://www.eecs.berkeley.edu/Scheduling/)
      EECS administrative staff maintain 2 WEB sites that lead to the home pages for seminar classes (CS294, CS298, EE298):

      Here is a summary of the EECS WEB pages that are related to courses (thank you, Maggie, for this):

    3. Current and archived EECS course home pages hosted by the Instructional Support Group (inst@eecs). The individual course sites are maintained by profs and TAs:   http://inst.eecs.berkeley.edu/classes-eecs.html

    4. Overview of department curricula and links to EE and CS undergraduate, graduate, and professional course descriptions (from the UC General Catalog):   http://sis.berkeley.edu/catalog/gcc_view_req?p_dept_cd=EECS

    5. Class offerings for the current semester (generated by an EECS database):   http://www.eecs.berkeley.edu/Scheduling/CS/schedule.html

    6. Class offerings for next semester (database):   http://www.eecs.berkeley.edu/Scheduling/CS/schedule-draft.html

    7. Tentative class offerings for the coming semesters listed with possible instructors (database):   http://www.eecs.berkeley.edu/Scheduling/CS/schedule-draft.html

    8. bSpace   (http://bspace.berkeley.edu)
      bSpace is the UCB learning management system.   It started in Spring 2006 and continues to gain new features.   It integrates features from the former CourseWeb, Blackboard, WebCT and Library ERes services.   bSpace is supported by the UCB Educational Technology Services (lsg-support@socrates.berkeley.edu, 642-2535,   Training & Support).

      All UCB students and staff can login to bSpace using their pre-existing CalNet ID.   (non-UCB students, please see calnet.help for help.)   Instructors who log onto bSpace are automatically associated with their current classes (by the Registrar) and are authorized to manage sites for their courses, using convenient bSpace tools.   Available features include:

    9. post syllabus, photo, office hours and contact information
    10. link to additional course websites
    11. view the names, photos, and enrollment status of students   (BearFacts also has student photos)
    12. send email to the students
    13. group discussion and chat
    14. grade submission and database
    15. wiki
    16. delegate some tasks to GSIs
    17. bSpace sites do not support dynamic content (CGIs, etc)

    18. After students login to bSpace, they can access ("join") any course site that has been "published" by the instructor (a site can be published to all bSpace users or to a selected set of bSpace users).   Students login to their own bSpace workspace and then select a course site from the list of sites they have joined.   The interactive bSpace features cannot be viewed by anyone without a valid CalNet ID.

      To put a course site on the "joinable site" list on bSpace, go to "Course Tools->Site Info-> Manage Access->Publish Access".

      To search for a course site on the "joinable site" list on bSpace, go to [search bSpace].

      See above for ideas about which content is appropriate for bspace.berkeley.edu vs inst.eecs.berkeley.edu.

      Create a world-readable reference on bSpace:
      If you use bSpace, we recommend that you create a simple reference page there that is "publicly viewable". A "publicly viewable" site is listed in the bSpace searchable directory and can be accessed without logging in to bSpace. Then, include that URL in your course home page on the EECS Instructional WEB server   (http://inst.eecs.berkeley.edu). This will create a permanent record of your use of bSpace that semester. On bSpace, "publicly viewable" is an option for Announcements, Resources, and Syllabus. The public URL to the bSpace page will be long and unmemorable, and it will change each semester.   However, a user-friendly link from the EECS home page will avoid those problems.   References:

    19. Bearfacts   (http://bearfacts.berkeley.edu/)
      This service is provided by the Registrar and IS&T.   Instructors can access class enrollment lists, email addresses, student photos and e-Grade submissions. Instructors select Bear Facts for Faculty/Staff to login.

    20. CalWeb   (http://calweb.berkeley.edu/)
      This service is provided by IS&T for a fee.   There are several levels of WEB hosting services on UNIX and Windows servers that campus users can select.

    21. CalShare   (http://calshare.berkeley.edu/)
      This service is provided by IS&T for a fee ($300 per 1-GB per year).   It lets authorized users create, manage and build collaborative web sites and make them available to other users of CalShare.   It is a UCB's implementation of Microsoft's SharePoint Technologies.

    22. eTrain   (http://dtsetrain.berkeley.edu/)
      This service is provided by IS&T for a fee (please ask eTrainSupport@lists.berkeley.edu) and lets authorized users take standard Powerpoint presentations, add audio voice-over and publish them over the internet through any standard web browser.

    23. Research Hub   (https://hub.berkeley.edu/)
      Research Hub provides tools for content management, collaboration, managing research data and sharing documents.

    These are related WEB services that have been retired:

    1. CourseWeb   (http://courseweb.berkeley.edu)
      CourseWeb was discontinued in January 2008.   It was supported by IS&T (coursesites@socrates.berkeley.edu).   CourseWeb contained a simple WEB page for each course that instructors could update with contact information and a syllabus.   The page also included links to related WEB sites, including the course sites on the EECS Instructional WEB server.   Prior to Spring 2008, a link to the CourseWeb site was included automatically the Online Schedule of Classes for each course.   That link provided a path to the EECS course WEB sites.   Now, there is no way to find a course WEB site from the Schedule of Classes.

    2. Blackboard, WebCT  
      These Learning Management Systems were discontinued in Fall 2006 and have been replaced by bSpace.   They were supported by the UCB Educational Technology Services ( lsg-support@socrates.berkeley.edu, 642-2535,   Training & Support).   EE20N and EE125 used WebCT.  

    3. UCB Library ERes Course WEB Page Service   (http://sunsite.berkeley.edu/eres/)
      This service was provided by the Library for posting course materials from their sources.   The service and any materials that were posted there have been moved to bSpace.

    4. Course Gallery  
      Course Gallery is no longer available.   It was offered by the UCB Educational Technology Services (lsg-support@socrates.berkeley.edu) until about 2006.

    5. WebFiles   (http://webfiles.berkeley.edu/)
      WebFiles was retired in June 2008. It was hosted by IS&T and provided 300MB of free online storage, file sharing, and web publishing for individual faculty, staff and students.  


    How to Set up a Personal Home Page (for students)

    A home page can be stored in a student's home directory on the Instructional UNIX computers and it will be accessible through the Instructional WEB server. (inst.eecs.berkeley.edu).

    You can't login directly to the Instructional WEB server, so you should login to an Instructional UNIX login server such as cory.eecs.berkeley.edu or to a UNIX workstation in one of our labs. Then these commands

    mkdir ~/public_html echo '<HTML>My home page.</HTML>' > ~/public_html/index.html chmod 755 ~/public_html ~/public_html/index.html will create a simple home page that appears when you go to the URL
    	http://inst.eecs.berkeley.edu/~your-username
    
    (replace your-username with your own user name, of course).

    See below for a more complete sample home page (formatted with HTML commands) that you could save as "index.html". The student's home directory, the "public_html" directory and the "index.html" file must all be world readable.

    For example, for the user "jdoe" who has an Instructional account, this is how the directory and file permissions might look:

      % cd ~jdoe/public_html
      % ls -al
      drwx--x--x  2 jdoe   512 Feb  2 10:38 ./
      drwxr-x--x 42 jdoe  2560 Feb  2 10:37 ../
      -rwxr--x-x  1 jdoe  2221 Feb  2 10:37 index.html
    

    You can set the permsssions that way with these UNIX commands:

      % chmod 711 ~jdoe 
      % chmod 711 ~jdoe/public_html
      % chmod 755 ~jdoe/public_html/index.html
    

    You can set the permsssions for all files and directories under the "jdoe" public_html directory with these UNIX commands:

      % find ~jdoe/public_html -type d -exec chmod 711 {} \;
      % find ~jdoe/public_html -type f -exec chmod 755 {} \;
    
    This will allow everyone in the world to read those files, including people who are using a WEB browser and who are logged into any Instructional computer. For ways to add security, see Restricting Access to your WEB Site below.

    The URL to access the home page would be:

      http://inst.EECS.Berkeley.EDU/~jdoe
    
    That URL can be used from any WWW client, such as Firefox, Internet Explorer and Lynx. Note that the EECS Instructional home page will not include references to individual student home pages, but students can request that service from the CSUA.

    If you want users to be able to list a directory:

      - run "chmod 755 directory-name" to set the read bit
      - do not put an "index.html" file in the directory
    
    Note that the "1"s in "711" set the execute ("x") bit on the directories but not the read ("r") bit. The "x" bit on a directory does not allow a listing, but it does allow access to a specific file within the directory. By default, the WEB server looks for an "index.html" file and can read that under "711", but it can't list the directory if there is no "index.html" file.

    HTML Code Sample: index.html for a Class WEB Page

    This is a simple WEB page that can be editted with text editor such as "vi" or "emacs". This file redirects to the current WEB page for the class.

    <HTML> <HEAD> <META HTTP-EQUIV="X-instructional-class-redirect" CONTENT="CS123"> <TITLE>CS123 Home Page</TITLE> <META HTTP-EQUIV="Refresh" CONTENT="0;URL=./sp05"> </HEAD> <HTML> <BODY> <CENTER> <A HREF="http://www.berkeley.edu/">University of California at Berkeley</A> <BR> <A HREF="http://www.eecs.berkeley.edu/">Dept of Electrical Engineering &amp; Computer Sciences</A> <BR> <H1>CS123<BR></H1> </CENTER> <P> This page should jump to the current WEB page for this course. &nbsp; If not, please visit <a href="./archives.html">the WEB site archive list<a/>. <P> For information regarding this course: <A HREF="http://schedule.berkeley.edu/">Course Catalog and Schedule of Classes</A> </P> </BODY> </HTML>
    Set the file permsssions with these UNIX commands:

      % chmod 711 ~/				# your top level home directory
      % chmod 711 ~/public_html
      % chmod 755 ~/public_html/index.html
    

    The timer before jumping is set by the "0" in this line:

    <meta http-equiv="Refresh" content="0;URL=./sp05"> If you set it to 0, the jump is immediate.


    HTML Code Sample: archives.html for a Class WEB Page

    This file is maintained automatically by a script. It has a list of previous class WEB sites for the class.

    <HTML> <HEAD> <META HTTP-EQUIV="X-instructional-class-archives" CONTENT="CS123"> <TITLE>CS123 Home Page</TITLE> </HEAD> <BODY> <CENTER> <A HREF="http://www.berkeley.edu/">University of California at Berkeley</A> <BR> <A HREF="http://www.eecs.berkeley.edu/">Dept of Electrical Engineering &amp; Computer Sciences</A> <BR> <H1>CS123<BR></H1> </CENTER> <P> <P> Prior semester archives: <!-- A SCRIPT WILL INSERT NEW ENTRIES HERE --> [<A HREF="sp05/">Spring 2005</A>] <P> For information regarding this course: <A HREF="http://schedule.berkeley.edu/">Course Catalog and Schedule of Classes</A> </P> </BODY> </HTML>
    Set the file permsssions with this UNIX command:

      % chmod 755 ~/public_html/archives.html
    


    HTML Code Sample: a Simple Homepage

    You can create a simple homepage by using a UNIX text editor (such as "vi" or "emacs") to enter this HTML code and save it to a file called "index.html" in the "public_html" subdirectory of your home directory:
    <HTML> <HEAD> <TITLE>My Home Page</TITLE> <CENTER> <H1>Welcome to <I>My</I> Home Page</H1> </CENTER> </HEAD> <BODY> <P> Here is some text about me. </BODY> </HTML>
    Set the file permsssions with these UNIX commands:
      % chmod 711 ~/				# your top level home directory
      % chmod 711 ~/public_html
      % chmod 755 ~/public_html/index.html
    

    The http://inst.eecs.berkeley.edu WEB server will display that file using the URL http://inst.eecs.berkeley.edu/~yourlogin.

    You can see examples of other people's HTML code by selecting the "Page Source" option that is available in most WEB browsers. Many people use a graphical WEB page editor such as Netscape Composer or Microsoft FrontPage (see Publishing, below), but there is no shame in coding it by hand!


    How to "Publish" using an HTML Editor

    Your WEB site files are under the "public_html" directory in your UNIX home directory. Your file called "public_html/index.html" is your default home page on our WWW server (http://inst.eecs.berkeley.edu).

    There are 3 ways create and update you WEB pages:   edit on UNIX,   edit on Windows and   file transfer


    Debugging Tips

    If you are getting an error message from a WEB page or CGI program that you are displaying via http://inst.eecs.berkeley.edu, you may find clues about the problem by searching for either your login name, the WEB page name or the program name in the Server Access and Error Logs.

    Here are some common errror conditions and solutions:

    "Internal Server Error" error

    "Premature end of script headers:" error


    Updating your .htaccess files

    The inst.eecs.berkeley.edu WEB server was updated in January 2011 with a new version of the "modauth" module, which handles access control via .htaccess files. As a result, you may need to update your .htaccess files.

    The new version of Apache (2.2.17) changes some of the directives that are used in .htaccess files that control access to WEB sites. The changes are that the "AuthBasicProvider" line should be added and the "AuthDBMAuthoritative" line should be removed.

    Here is a typical updated .htaccess file:

    	SSLRequireSSL
    	AuthName "An authorized account is required..."
    	AuthType Basic
    	AuthBasicProvider dbm file		
    	AuthDBMType GDBM
    	AuthDBMUserFile  /pool/www/data/master-access
    	AuthDBMGroupFile /pool/www/data/master-access
    	#AuthDBMAuthoritative off			# this line is obsolete
    	AuthUserFile  /home/ff/cs123/public_html/login/SSL/users
    	AuthGroupFile /home/ff/cs123/public_html/login/SSL/groups
    	Require group allow
    

    The *UserFile and *GroupFile lines define what sources will be searched to authenticate the users.

    The "master-access" DBM file contains the users and groups from the Instructional UNIX systems.

    The files "users" and "groups" are files that you can create with login/password matches of your own invention. You can locate these files anywhere under your own public_html directory. Include the full path to them after the AuthUserFile and AuthGroupFile directives.

    The Require line defines which users within those sources will be accepted. In the Require line:

    	"valid" = all UNIX accounts (taken from the dbm password service)
    	"allow" = a group of users that may be listed in the "groups" file
    

    Please see
    http://inst.eecs.berkeley.edu/setup.html#restrict for more information about using .htaccess files.

    If you find an error on one of your WEB pages, please send email to inst@eecs.berkeley.edu with the URL of that page and a description of the content that is incorrect. Thank you.


    Features of this WWW Server

    Home pages:

    Server-side "includes" (SSI):

    PHP:

    GD:

    CGI scripts:

    Symbolic links:

    Redirecting WEB pages:


    Restricting Access to your WEB Site

    You can restrict the access to files in your WEB site:
    1. by computer    (list the authorized computers in .htaccess)
    2. by user    (list the users and passwords in .htpasswd)
    3. by file permission    (use a CGI program to access files that are not world-readable)
    4. by SSL    (use the SSLRequireSSL directive in .htaccess; can also use .htpasswd)
    These methods are described below.

    For more information about adding access control individual subdirectories, please see

    Allow access only to certain computers:

    Allow access only to certain people:

    Limitations of using .htaccess and .htpasswd files:

    Using a CGI script to restrict access by UNIX file permissions:

    Security using SSL:


    Usage Policies for Information Servers

    "Informed Consent" Required for Displaying Student Identities

    Information that you display publically via University computers may not include the names of a student without an "informed consent" from the student. Restricting access to WEB pages, say to the EECs or BERKELEY.EDU domains, is not sufficient: informed consent is still required. This is a requirement by federal law. An example of "informed consent" is:

    Please refer to the Policy Analysts at the Office of the Registrar, 127 Sproul Hall, for further clarification about the requirement for "informed consent".

    Other topics:


    General References about WWW utilities

    These are public documents that have more about the WWW and the HTML language used in writing home pages (these may not always be available):

    Last modified: Wednesday, April 25, 2012
    inst@eecs.berkeley.edu