Annotation of capa/capa51/UPGRADE.txt, revision 1.2

1.1       albertel    1: 	
                      2: 	   		Upgrading to CAPA 5.1
                      3: 
                      4: 
                      5: --------------------------------------------------------------------------------
                      6: 
                      7: READ ALL INSTRUCTIONS BEFORE PRECEDING WITH THE INSTALLATION.
                      8: 
                      9: Please go to http://capa.msu.edu/mailman and subscribe to the CAPA Announce 
                     10: email list.  Anyone interested in receiving CAPA updates and announcements 
                     11: can add himself or herself to the list.  Please notify all instructors and 
                     12: technical staff that will work with CAPA about adding themselves to the list.
                     13: 
                     14: The following installation instructions assume that whoever is upgrading 
                     15: the CAPA system already has some knowledge of their operating system and 
                     16: is familiar with Unix commands such as the following: cd, chown, chmod and 
                     17: setting permissions, compress/uncompress, cp, ln, lpr, ls, mkdir, pwd, rm, 
                     18: su, tar, and the vi editor.  
                     19: 
                     20: In order to complete the installation, you will need to have Perl, 
                     21: Ghostscript, TeTex, and a webserver (e.g. Apache) installed on your machine 
                     22: (all of which can be obtained for free).  You should know where those 
                     23: applications are located and where the web server's configuration files are 
                     24: located (particularly srm.conf).  You should also be familiar with killing 
                     25: and restarting your web daemon.
                     26: 
                     27: You will notice lists of files in these instructions to compare your
                     28: permissions with.  Depending on your operating system, many of your file 
                     29: sizes may differ with the ones given in these instructions.  Please do
                     30: not be concerned by this.
                     31: 
                     32: --------------------------------------------------------------------------------
                     33: 
                     34: SETTING UP THE INSTRUCTOR INTERFACE AND OPTIONAL TELNET STUDENT INTERFACE
                     35: 
                     36: You have the option to install the telnet version of the CAPA interface.
                     37: It responds much quicker than the web, especially with a slow modem.  If 
                     38: you decide not to enable this feature then skip steps 5 and 6.
                     39: 
                     40: Please note that in the following instructions, it is assumed that the 
                     41: teacher directory is in /home.  This may not be the case with your machine 
                     42: (e.g. /usr/users, /home2, etc.).  You may want to make note of this as you 
                     43: read through these instructions prior to installation.
                     44: 
                     45: 1.)  Become root and copy or move the DIST51 directory to the teacher home 
                     46: directory.  Recursively change the ownership of the DIST51 directory to 
                     47: teacher with group membership cai.
                     48: 
                     49: >chown -R teacher:cai DIST51  
                     50: 
                     51: 2.)  We first need to link up the binaries to use the instructor 
                     52: interface of CAPA.  Login as root.  Change directory to /usr/local/bin 
                     53: (or /usr/bin, or whatever will be the default in your users "path").
                     54: Remove all the old links to the CAPA 5.0 binaries and then symbolically 
                     55: link the 5.1 binaries contained with the distribution by entering the 
                     56: following commands:
                     57: 
                     58: > cd /usr/local/bin
                     59: > ln -s /home/teacher/DIST51/LinkToBin/quizzer .
                     60: > ln -s /home/teacher/DIST51/LinkToBin/grader .
                     61: > ln -s /home/teacher/DIST51/LinkToBin/manager .
                     62: > ln -s /home/teacher/DIST51/LinkToBin/qzparse .
                     63: > ln -s /home/teacher/DIST51/LinkToBin/allcapaid .
                     64: > ln -s /home/teacher/DIST51/LinkToBin/answers .
                     65: 
                     66: 3.)  Check that all of the binaries in /home/teacher/DIST51/LinkToBin 
                     67: have executable permissions as shown below:
                     68: 
                     69: >cd /home teacher/DIST51/LinkToBin
                     70: >ls -l
                     71: -rwxr-xr-x    1 teacher  cai        485095 Jul 17 14:35 allcapaid
                     72: -rwxr-xr-x    1 teacher  cai        505454 Jul 17 14:35 answers
                     73: -rwxr-xr-x    1 teacher  cai       2126685 Jul 17 14:35 grader
                     74: -rwxr-xr-x    1 teacher  cai       2267429 Jul 17 14:35 manager
                     75: -rwxr-xr-x    1 teacher  cai       2191991 Jul 17 14:35 quizzer
                     76: -rwxr-xr-x    1 teacher  cai        488366 Jul 17 14:35 qzparse
                     77: 
                     78: 4.)  Now link up the demonstration library in the root directory.  To do this, 
                     79: login as root, change to the root directory (cd /), remove the old demolibrary
                     80: link (rm demolibrary), and enter: 
                     81: 
                     82: > ln -s /home/teacher/DIST51/demolibrary demolibrary
                     83: 
                     84: Check that the demolibrary in the DIST51 folder is owned by "teacher" and 
                     85: has group membership "cai".
                     86: 
                     87: 5.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
                     88: Login as "teacher" and copy the file "capalogin" from the directory 
                     89: DIST51/PutInCAPA51 into the directory /home/teacher/CAPA51.  Check 
                     90: to make sure your permissions match the following: 
                     91: 
                     92: -rwsr-xr-x    1 teacher  cai        585097 Jul 17 15:03 capalogin
                     93: 
                     94: Make certain that capalogin is set UID mode (there is an "s" instead
                     95: of an "x" in the user's permissions).  If not enter the following:
                     96: 
                     97: > chmod u+s capalogin
                     98: 
                     99: 6.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
                    100: For each class that telnet is enabled for, it is added as a user
                    101: to the system without a password.  The security of the system is
1.2     ! albertel  102: maintained by using capalogin as the login shell.  To set up the
        !           103: demonstration class, become root then use the adduser utility to create the
1.1       albertel  104: user "nsc131s0".  Enter the group id the same as the instructor (cai), the
1.2     ! albertel  105: home directory to be /home/teacher/CAPA51/nsc131s0, and the login shell
        !           106: to be /home/teacher/CAPA51/capalogin.  When you are prompted to
        !           107: enter an initial password, hit return.  You then need to edit the
        !           108: /etc/passwd file with the vipw command to remove the "Nologin" field.
        !           109: (You may also need to edit the file /etc/shadow if your system uses
        !           110: shadow passwords.)
1.1       albertel  111: 
                    112: For Linux systems, you will need to create the user, edit /etc/passwd 
1.2     ! albertel  113: to remove the password field, change the group id number, change the home
        !           114: directory and change the login shell.  You will not be prompted for these
        !           115: within the utility.  Make certain the group id number is the same as the
1.1       albertel  116: instructor account.  Editing the passwd file is done by becoming root
1.2     ! albertel  117: using the vipw command.  (You may also need to edit the file /etc/shadow 
        !           118: if your system uses shadow passwords.)  Finally, you must delete the
        !           119: directory created by the adduser utility, for example:
1.1       albertel  120: 
1.2     ! albertel  121: >rm -rf /home/nsc131s0
1.1       albertel  122: 
1.2     ! albertel  123: Depending on your system, you may not be allowed to add a user without a
        !           124: password using the adduser utility.  If this is the case, you will need   
1.1       albertel  125: to manually add the user with the vipw command.
                    126: 
                    127: Repeat the steps above for qns131s0 and xpc131s0 (do not add xns131s0 as
                    128: a user).
                    129: 
1.2     ! albertel  130: The correct class entries in /etc/passwd are given below: (The paths to the
1.1       albertel  131: home directory and login shell may differ for your system.)
                    132: 
1.2     ! albertel  133: nsc131s0::1004:103:Demonstration Class - Homework:/home/teacher/CAPA51/nsc131s0:
        !           134: /home/teacher/CAPA51/capalogin
        !           135: qns131s0::1005:103:Demonstration Class - Quizzes:/home/teacher/CAPA51/qsc131s0:/
        !           136: home/teacher/CAPA51/capalogin
        !           137: xpc131s0::1006:103:Demonstration Class - Exam Partial Credit:/home/teacher/CAPA5
        !           138: 1/xpc131s0:/home/teacher/CAPA51/capalogin
1.1       albertel  139: 
                    140: 7.)  Login as teacher and create the class called nsc131s0 in teacher's
                    141: CAPA51 directory by copying this directory from DIST51/PutInCAPA51
                    142: 
                    143: > cd CAPA51
                    144: > cp -R /home/teacher/DIST51/PutInCAPA51/nsc131s0 nsc131s0
                    145: 
                    146: Then, check to be certain the owner of the nsc131s0 directory is "teacher" 
                    147: with group membership "cai".
                    148: 
                    149: Repeat this step using the qns131s0, xns131s0, and xpc131s0 directories.
                    150: 
                    151: 8.)  Make certain a directory named "records" exists in each of the class 
                    152: directories (e.g. /home/teacher/CAPA51/nsc131s0/records). Also, make certain the 
                    153: ownership of all sub-directories and files is "teacher" with group membership 
                    154: "cai".  It is a good idea to check your permission with the ones below.
                    155:  
                    156: > cd nsc131s0
                    157: > ls -lag
                    158: total 94
                    159: drwxr-x--x    3 teacher  cai          1024 Jul 17 15:37 .
                    160: drwxr-xr-x    9 teacher  cai          1024 Jul 17 15:37 ..
                    161: -rw-r--r--    1 teacher  cai           969 Jul 17 15:37 HWTop
                    162: -rw-r--r--    1 teacher  cai          1326 Jul 17 15:37 QuizTop
                    163: -rw-r--r--    1 teacher  cai            15 Jul 17 15:37 TeXfooter
                    164: -rw-r--r--    1 teacher  cai           777 Jul 17 15:37 TeXheader
                    165: -rw-r--r--    1 teacher  cai         11418 Jul 17 15:37 capa.config
                    166: -rw-r--r--    1 teacher  cai          1388 Jul 17 15:37 classl
                    167: -rw-r--r--    1 teacher  cai            68 Jul 17 15:37 goodbye.msg
                    168: -rw-r--r--    1 teacher  cai           720 Jul 17 15:37 help.msg
                    169: -rw-r--r--    1 teacher  cai           447 Jul 17 15:37 mail.txt
                    170: -rw-r--r--    1 teacher  cai          1529 Jul 17 15:37 managermail.txt
                    171: drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:37 records
                    172: -rw-r--r--    1 teacher  cai           356 Jul 17 15:37 second-login.msg
                    173: -rwxr--r--    1 teacher  cai          4870 Jul 17 15:37 set1.qz
                    174: -rw-r--r--    1 teacher  cai          2808 Jul 17 15:37 set10.qz
                    175: -rw-r--r--    1 teacher  cai          1933 Jul 17 15:37 set11.qz
                    176: -rw-r--r--    1 teacher  cai          1824 Jul 17 15:37 set12.qz
                    177: -rw-r--r--    1 teacher  cai         10114 Jul 17 15:37 set13.qz
                    178: -rw-r--r--    1 teacher  cai          3969 Jul 17 15:37 set14.qz
                    179: -rw-r--r--    1 teacher  cai          3684 Jul 17 15:37 set15.qz
                    180: -rw-r--r--    1 teacher  cai          1935 Jul 17 15:37 set16.qz
                    181: -rw-r--r--    1 teacher  cai          1454 Jul 17 15:37 set17.qz
                    182: -rw-r--r--    1 teacher  cai          1551 Jul 17 15:37 set2.qz
                    183: -rw-r--r--    1 teacher  cai          7138 Jul 17 15:37 set3.qz
                    184: -rw-r--r--    1 teacher  cai          2561 Jul 17 15:37 set4.qz
                    185: -rw-r--r--    1 teacher  cai          2106 Jul 17 15:37 set5.qz
                    186: -rw-r--r--    1 teacher  cai          2826 Jul 17 15:37 set6.qz
                    187: -rw-r--r--    1 teacher  cai          1617 Jul 17 15:37 set7.qz
                    188: -rw-r--r--    1 teacher  cai          6197 Jul 17 15:37 set8.qz
                    189: -rw-r--r--    1 teacher  cai          2751 Jul 17 15:37 11:05 set9.qz
                    190: -rw-r--r--    1 teacher  cai           293 Jul 17 15:37 third-login.msg
                    191: -rw-r--r--    1 teacher  cai           151 Jul 17 15:37 welcome.msg
                    192: >cd records
                    193: >ls -lag
                    194: total 36
                    195: drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:37 .
                    196: drwxr-x--x    3 teacher  cai          1024 Jul 17 15:37 ..
                    197: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date1.db
                    198: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date10.db
                    199: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date11.db
                    200: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date12.db
                    201: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date13.db
                    202: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date14.db
                    203: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date15.db
                    204: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date16.db
                    205: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date17.db
                    206: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date2.db
                    207: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date3.db
                    208: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date4.db
                    209: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date5.db
                    210: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date6.db
                    211: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date7.db
                    212: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date8.db
                    213: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date9.db
                    214: -rw-r--r--    1 teacher  cai            51 Jul 17 15:37 set1.db
                    215: -rw-r--r--    1 teacher  cai            25 Jul 17 15:37 set10.db
                    216: -rw-r--r--    1 teacher  cai            14 Jul 17 15:37 set11.db
                    217: -rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set12.db
                    218: -rw-r--r--    1 teacher  cai           119 Jul 17 15:37 set13.db
                    219: -rw-r--r--    1 teacher  cai            39 Jul 17 15:37 set14.db
                    220: -rw-r--r--    1 teacher  cai            39 Jul 17 15:37 set15.db
                    221: -rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set16.db
                    222: -rw-r--r--    1 teacher  cai             6 Jul 17 15:37 set17.db
                    223: -rw-r--r--    1 teacher  cai            10 Jul 17 15:37 set2.db
                    224: -rw-r--r--    1 teacher  cai             6 Jul 17 15:37 set3.db
                    225: -rw-r--r--    1 teacher  cai            12 Jul 17 15:37 set4.db
                    226: -rw-r--r--    1 teacher  cai            16 Jul 17 15:37 set5.db
                    227: -rw-r--r--    1 teacher  cai            22 Jul 17 15:37 set6.db
                    228: -rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set7.db
                    229: -rw-r--r--    1 teacher  cai            77 Jul 17 15:37 set8.db
                    230: -rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set9.db
                    231: 
                    232: 9.)  The CAPA system needs to access the files just installed in the teacher
                    233: home directory.  Make sure this directory has both group and world r-x
                    234: privledges.
                    235: 
                    236: drwxr-xr-x    6 teacher  cai          1024 Jul 17 13:43 teacher
                    237: 
                    238: 
                    239: 
                    240: You will have similar files in the qns131s0, xns131s0, and xpc131s0 directories
                    241: with the same permissions.  Check those also.
                    242: 
                    243: The utilities for running CAPA with telnet sessions are now completely  
                    244: installed.  
                    245: 
                    246: --------------------------------------------------------------------------------
                    247: SETTING UP THE WEB VERSION OF THE CAPA INTERFACE
                    248: 
                    249: 
                    250: 1.)  It is recommended that you make a backup of the teacher/PublicWeb 
                    251: directory and all of it's subdirectories and files before making the
                    252: changes below.
                    253: 
                    254: 2.)  Login in as teacher.  Remember, it is assumed that the teacher 
                    255: directory is in /home which may not be the case for your machine.
                    256: 
                    257: 3.)  Update your /home/teacher/PublicWeb/CAPA directory with the files from
                    258: DIST51/CopyToPublicWeb/CAPA directory.
                    259: 
                    260: Go to /home/teacher/PublicWeb/CAPA and copy ExmPanel.class, ExpPanel.class, 
                    261: GLabel.class, TScore.class, help.html from the distribution.  Make sure the old 
                    262: files for Glabel.class and help.html are replaced (they will have today's date 
                    263: when you check permissions).  Make sure all files in this directory are owned by 
                    264: teacher and have group membership cai.
                    265: 
                    266: > cd /home/teacher/PublicWeb/CAPA
                    267: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/ExmPanel.class .
                    268: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/ExpPanel.class .
                    269: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/GLabel.class . 
                    270: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/TScore.class .
                    271: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/help.html . 
                    272: 
                    273: 4.)  Update your /home/teacher/PublicWeb/CAPA/capa-bin directory with the files 
                    274: from DIST51/CopyToPublicWeb/CAPA/capa-bin directory.  Particularly, you will need
                    275: to update web.settings, capadiscuss_html, capahtml, and webpage.
                    276: 
                    277: > cd capa-bin
                    278: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/web.settings .
                    279: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/capadiscuss_html .
                    280: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/capahtml .
                    281: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/webpage .
                    282: 
                    283: 5.)  Check permissions in the capa-bin directory.  Your permissions for the files 
                    284: in PublicWeb/CAPA/capa-bin should like the following:
                    285: 
                    286: > cd capa-bin
                    287: > ls -l
                    288: -rw-r--r--    1 teacher  cai         33363 Jul 17 15:51 capadiscuss_html
                    289: -rws--x--x    1 teacher  cai        519680 Jul 17 15:51 capahtml
                    290: -rw-r--r--    1 teacher  cai           223 Jul 17 15:51 class.conf
                    291: lrwxrwxrwx    1 teacher  cai             7 Jul 17 15:51 class.html -> webpage
                    292: lrwxrwxrwx    1 teacher  cai             7 Jul 17 15:51 email.html -> webpage
                    293: lrwxrwxrwx    1 teacher  cai             7 Jul 17 15:51 getid.html -> webpage
                    294: drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:51 teacher
                    295: -rw-r--r--    1 teacher  cai          4460 Jul 17 15:51 web.settings
1.2     ! albertel  296: -rws--x--x    1 teacher  cai       1141535 Jul 17 15:51 webpage
1.1       albertel  297: 
                    298: If your permissions do not match the ones above, change them so they do.
1.2     ! albertel  299: 
        !           300: > chmod u+s capahtml
        !           301: > chmod u+s webpage
        !           302: 
        !           303: You may also see files called web_access.log and ids.log in the capa-bin 
1.1       albertel  304: directory.  These files are automatically generated by the CAPA software.
                    305: 
1.2     ! albertel  306: 6.) The system links to the webpage program should still be there from the
1.1       albertel  307: previous CAPA installation.  If they do not exist, enter the following:
                    308: 
                    309: > ln -s webpage class.html
                    310: > ln -s webpage emailid.html
                    311: > ln -s webpage getid.html
                    312: 
                    313: 7.)  Edit /home/teacher/PublicWeb/CAPA/capa-bin/web.settings
                    314: Change the first line:
                    315:       set machine capa2.nscl.msu.edu
                    316: To read:
                    317:       set machine your.machine.name
                    318: 
                    319: 8.)  Edit /home/teacher/PublicWeb/CAPA/capa-bin/class.conf by adding
                    320: the following lines (note that you may have different paths than
                    321: /home/teacher):
                    322: 
                    323: nsc131s0         /home/teacher/CAPA51       teacher {class emailid}
                    324: qns131s0         /home/teacher/CAPA51       teacher {class}
                    325: xpc131s0         /home/teacher/CAPA51       teacher {class}
                    326: 
                    327: 9.)  Update your /home/teacher/PublicWeb/CAPA/capa-bin/teacher directory with the 
                    328: files from DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher directory.  Copy the files
                    329: capasbin and capadiscuss to this directory from distribution.
                    330: 
                    331: > cd teacher
                    332: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capasbin .
                    333: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capadiscuss .
                    334: 
                    335: Check that both these files are owned by teacher and have group membership cai.  
                    336: These files should also have executable permission and capasbin should be set 
                    337: UID (there is an "s" instead of an "x" in the owner's permissions).  If not, 
                    338: enter the following:
                    339: 
                    340: > chmod u+s capasbin
                    341: 
                    342: 10.)  Make the changes that you made above for the teacher directory to all 
                    343: other instructor directories.  Make sure they are owned by the appropriate
                    344: instructor and have the appropriate group membership.
                    345: 
                    346: 11.)  Go to /home/teacher/Public/demolibrary and make sure Graphics and Links 
                    347: point to /demolibrary/Graphics and /demolibrary/Links.  If they point to the old 
                    348: demolibrary, make changes by removing the links and adding the new ones.
                    349: 
                    350: > ln -s /demolibrary/Graphics Graphics
                    351: > ln -s /demolibrary/Links Links
                    352: 
                    353: 12.)  Restart your webserver.
                    354: 
                    355: 
                    356: --------------------------------------------------------------------------------
                    357: 
                    358: FINAL INSTRUCTIONS
                    359: 
                    360: 1.)  Modify /demolibrary/Tools/StdMacros
                    361: 
                    362: Replace the line
                    363: /LET machine_name="capa2.nscl.msu.edu"  // needed for labeling tools
                    364: With
                    365: /LET machine_name="your.machine.name"  // needed for labeling tools
                    366: 
                    367: 2.)  Double check to be certain the ownership and group membership 
                    368: for each of the files and subdirectories under the teacher account 
                    369: consistently have "teacher" as owner and "cai" as group.  Also double
                    370: check that the demolibrary directory in /home/teacher/DIST51 is owned
                    371: by "teacher" and has group membership "cai".  (Note that your instructor
                    372: directories under PublicWeb/CAPA/capa-bin will be owned my the appropriate
                    373: instructory).
                    374: 
                    375: 3.)  Make sure that the user teacher, the owner of the webserver, and
                    376: root have the commands allcapaid, perl and gs (ghostscript command) in 
                    377: their path.  You can check this by using the which command.  If it is
                    378: in the user's path, you will then be shown where the directory for the
                    379: command is located.  
                    380: For example:
                    381: 
                    382: > which perl
                    383: /usr/bin/perl
                    384: 
                    385: 4.)  If teacher is somewhere other than /home, then you need to edit the 
                    386: capa.config files in the nsc131s0, qns131s0, xns131s0, and xpc131s0 directories.
                    387: Change the following lines to refer to the correct path:
                    388: 
                    389: quiz_path       = /home/teacher/CAPA51/qns131s0
                    390: exam_path       = /home/teacher/CAPA51/xns131s0
                    391: supp_path       = /home/teacher/CAPA51/xpc131s0
                    392: .
                    393: .
                    394: .
                    395: correction_path = /home/teacher/CAPA51/xpc131s0
                    396: 
                    397: 5.)  In each of the capa.config files (DIST51/PutInCAPA51/nsc131s0/capa.config,
                    398: ..., ...skeleton/capa.config, etc. and /home/teacher/CAPA51/nsc131s0, etc.) edit 
                    399: the print commands to match the ones that you use from your server where CAPA is 
                    400: installed.  The comments in the printing configuration section of the capa.config 
                    401: file will direct you how to make these changes.
                    402: 
                    403: Also, edit the line:
                    404: 
                    405: capa_server = your.machine.name
                    406: 
                    407: In the "Extrapolate Scores Applet" section to read the name of your capa server
                    408: in each of the capa.config files.
                    409: 
                    410: 6.)  Print the Manual.  
                    411: 
                    412: 7.)  Take a look at the sets in nsc131s0. In particular sets 3-17 (a
                    413: detailed list of the templates).
                    414: 
                    415: 8.)  Read the READMEsecurity.txt file.
                    416: 
                    417: 
                    418: --------------------------------------------------------------------------------
                    419: --------------------------------------------------------------------------------
                    420: --------------------------------------------------------------------------------
                    421: 
                    422: CONTACT INFORMATION
                    423: 
                    424: If you have any questions or problems with getting CAPA installed and  
                    425: running, contact the following:
                    426: 
                    427: Felicia Berryman
                    428: CAPA Coordinator
                    429: Michigan State University
                    430: capa@capa.msu.edu
                    431: 
                    432: --------------------------------------------------------------------------------
                    433: --------------------------------------------------------------------------------
                    434: --------------------------------------------------------------------------------
                    435: 
                    436: ADDING ADDITIONAL USERS
                    437: 
                    438: 1.)  Add the new user to your system with group membership cai.  If you are
                    439: unsure about doing this, follow the same instructions outlined in the 
                    440: "INITIAL SETUP" section of the README.txt file except use the new user's name 
                    441: instead of "teacher" (and the new group's name if the new instructor to be added 
                    442: to the CAPA system should be in a different group other than "cai").
                    443: 
                    444: 2.)  Login as root and add a directory to the capa-bin directory with the same 
                    445: name as the new instructor's user name.  For example:
                    446: > mkdir /home/teacher/PublicWeb/CAPA/capa-bin/instructor-name
                    447: 
                    448: 3.)  Copy the files capasbin and capadiscuss from 
                    449: teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher into the new
                    450: instructor-name directory.  For example:
                    451: 
                    452: > cd /home/teacher/PublicWeb/CAPA/capa-bin/instructor-name
1.2     ! albertel  453: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capasbin .
        !           454: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capadiscuss .
1.1       albertel  455: 
                    456: Make sure that the permissions for the the capasbin and capadiscuss files 
                    457: are executable and that capasbin is set UID mode (there is an "s" instead 
                    458: of an "x" in the user's permissions).  If not, enter the following:
                    459: 
                    460: > chmod 755 capasbin capadiscuss
                    461: > chmod u+s capasbin
                    462: > ls -l
                    463: -rwxr-xr-x    1 instructor  cai         23453 Mar 16 11:15 capadiscuss
                    464: -rwsr-xr-x    1 instructor  cai        843150 Mar 16 11:15 capasbin
                    465: 
                    466: 4.)  Change the ownership of the instructor-name directory and all of its 
                    467: files to the appropriate user ("instructor-name") and group (i.e. "cai").
                    468: > cd /home/teacher/PublicWeb/CAPA/capa-bin
                    469: > chown -R instructor-name:cai instructor-name
                    470: 
                    471: 5.)  Finally, double check that the instructor owns his/her directory
                    472: in the capa-bin directory and that the instructor's capasbin and capadiscuss
                    473: have the correct ownership and permissions.
                    474: 
                    475: --------------------------------------------------------------------------------
                    476: 
                    477: ADDING ADDITIONAL CLASSES
                    478: 
                    479: Once an instructor account is created, you can add classes to the
                    480: system as needed.  Below we call the owner of the class "instructor"
                    481: and the class "classname".  Your class's name should be 8 characters
                    482: max if you will be using the telnet interface.  We name our classes 
                    483: names such as phy183s0 (physics 183, spring semester, 2000) and cem142f0 
                    484: (chemistry 142, fall semester, 2000).
                    485: 
                    486: If you chose not to enable the telnet interface, then skip steps 
                    487: 1 and 2 below.
                    488: 
                    489: 1.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
                    490: Use the adduser utility to create the user "classname".  For Digital 
                    491: Unix and Solaris operating systems:
                    492: 	a.) Login as root
                    493: 	b.) Change directory to /usr/sbin
                    494: 	c.) Type the command "adduser".  You will be prompted for information.
                    495: 		-Make certain the user "classname" is a member of the same 
                    496: 		group as the instructor.
                    497:  		-Use /home/instructor/CAPA51 as the parent directory and
                    498:  		/home/instructor/CAPA51/capalogin as the login shell. 
                    499: 		-Do not add a password.
                    500: 	d.) Remove the system created classname directory.  (Your absolute
                    501: 	    path may differ from /home.)
                    502: 		>rm -rf /home/instructor/CAPA51/classname
                    503: 
                    504: For Linux operating systems:
                    505: 	a.) Login as root
                    506: 	b.) change directory to /usr/sbin
                    507: 	c.) Type the command "adduser classname".
                    508: 	    (or "useradd classname" depending on your system)
                    509: 	d.) If prompted for a password, do not add one.
                    510: 	e.) Delete the directory created by the adduser utility. (Your absolute
                    511: 	    path may differ from /home.)
                    512: 		>rm -rf /home/classname
                    513: 	NOTE:  Depending on your system, you may not be allowed to add a user 
                    514: 	without a password.  In that case, you will have to add the user 
                    515: 	manually using the vipw command.
                    516: 	
                    517: 2.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
                    518: Edit the password file.  For Digital Unix and Solaris operating systems:
1.2     ! albertel  519:         a.) Edit the entry for "classname" in the /etc/passwd file with the vipw
        !           520:             command.
        !           521:                 -remove the encrypted password field (or the field "NoLogin").
        !           522:                  (You may need to also edit the /etc/shadow file if using
        !           523:                  shadow passwords.)
        !           524:                 -Check to be certain the home directory and login shell are
        !           525:                 correct.
        !           526:         b.) A sample /etc/passwd entry is given below:
1.1       albertel  527: 
1.2     ! albertel  528: phy123s0::1007:103:Intro Physics I:/home/instructor/CAPA51/phy123s0:/home/instru
        !           529: ctor/CAPA51/capalogin
1.1       albertel  530: 
                    531: For Linux operating systems:
1.2     ! albertel  532:         a.) Edit the entry for "classname" in the /etc/passwd file.
        !           533:                 -Remove the encrypted password field (or the field "NoLogin").
        !           534:                  (You may need to also edit the /etc/shadow file if using
        !           535:                  shadow passwords.)
        !           536:                 -Change the group id number to match the group id number in
        !           537:                 the instructor's account
        !           538:                 -Change the home directory to
        !           539:                 /home/instructor/CAPA51
        !           540:                 -Change the login shell to
        !           541:                 /home/instructor/CAPA51/capalogin
        !           542:         b.) A sample /etc/passwd entry is given below:
        !           543: 
        !           544: phy123s0::1007:103:Intro Physics I:/home/instructor/CAPA51/phy123s0:/home/instru
        !           545: ctor/CAPA51/capalogin
1.1       albertel  546: 
                    547: 3.)  Make the classname directory.  Login as the "classname" owner, copy 
                    548: the contents of /home/teacher/DIST51/PutInCAPA/skeleton into the new class 
                    549: directory.  
                    550: > cd /home/instructor/CAPA51
                    551: > cp -R /home/teacher/DIST51/PutInCAPA51/skeleton classname
                    552: 
                    553: Make certain there is a classname/records directory present.  
                    554: The following are a few files you might want to edit  to tailor to your 
                    555: particular course:
                    556: 
                    557: welcome.msg and goodbye.msg (both for telnet), capa.config, HWTop, (QuizTop,
                    558: ExamTop), and classl
                    559: 
                    560: Be certain to retain the exact character spacing in the classl file.
                    561: 
                    562: 4.) Check to be certain the owner of the /home/instructor/CAPA51/classname 
                    563: directory, sub-directories and files is "instructor" with group membership 
                    564: "cai" (or whatever the correct group is).
                    565: 
                    566: 5.)  Once you have created your problem sets, your course is ready for 
                    567: telnet access.  That is, if you chose to enable the telnet interface.
                    568: 
                    569: 		  ------------------------------------------
                    570: 
                    571: Setting up WWW access for this same course:
                    572: 
                    573: 1.)  Edit /home/teacher/PublicWeb/CAPA/capa-bin/class.conf by 
                    574: adding the new class.  Example:
                    575: 
                    576: classname  /home/instructor/CAPA51  instructor {class getid emailid}
                    577: 
                    578: 2.)  Make certain a copy of capa.config exists in the "classname"
                    579: directory.  Also double check the ownership and group membership of
                    580: the classname file and all of its sub-directories and files have the
                    581: appropriate owner and group membership.
                    582: 
                    583: 3.)  The instructions above were for using CAPA for homework.  If you
                    584: want to use CAPA for quizzes, exams, etc. then read the next section.
                    585: 
                    586: 4.)  Edit the paths and printing configuration section in the capa.config
                    587: file.  Edit the dept_name, etc in the HWTop (QuizTop and ExamTop).  Also
                    588: edit the classl file, making sure the instructor and TAs all belong to
                    589: the admin_section(s) (see capa.config file and edit admin_section if 
                    590: appropriate).
                    591: 
                    592: Your "classname" class is now ready to use for homework.
                    593: 
                    594: --------------------------------------------------------------------------------
                    595: 
                    596: ADDING ACCESS FOR QUIZZES, EXAMS, EXAM PARTIAL CREDIT, ETC.
                    597: 
                    598: 1.)  Quiz, exam, and other access are added as separate "classes".  
                    599: You may choose to name them similar to the convention of the 
                    600: demonstration "classes" nsc131s0 (homework), qns131s0 (quizzes),
                    601: xns131s0 (exams), and xpc131s0 (exam partial credit).  
                    602: 
                    603: 2.)  To use CAPA for more than just homework, install your quiz,
                    604: exam, etc. directories using the instructions above but use the
                    605: appropriate skeleton directory (skeletonQuiz, skeletonExam).  For 
                    606: supplementary course work, such as exam partial credit, then just 
                    607: use the skeleton directory.  Follow the guidelines below when 
                    608: setting up web access in the class.conf file.  
                    609: 
                    610: 2.)  Below are some guidelines assuming you are using the entirety
                    611: of CAPA by adding quiz, exam, partial credit (supplemental), and other
                    612: access for a physics class PHY 123:
                    613: 
                    614:      qph123s0:  Enable telnet if you do so and allow class.html
                    615: 		access only.  This gives you the option of giving
                    616: 		take-home quizzes, but the students cannot use
                    617: 		emailid.html or getid.html, they must get their
                    618: 		CAPA ID in class.  In the capa.config file, you
                    619: 		would enter the following:
                    620: 
                    621: 		qph123s0  /home/instructor/CAPA51  instructor {class}
                    622: 
                    623:      xph123s0:  Do not enable access through telnet or web interface.
                    624:  		If you do want telnet or web access, please be careful
                    625: 		to protect you exams by setting the correct open and
                    626: 		due dates and it is highly recommended that you do
                    627: 		NOT allow the students to retrieve their ID for further
                    628: 		protection.  Consult the Manual about due dates.
                    629: 
                    630:      xpc123s0:  You have the option in CAPA to allow students to take
                    631: 		the exam again at home and apply those points to their
                    632: 	        exam score as partial credit.  Set up similiar to quizzes
                    633: 		and BE CAREFUL about open dates and due dates to protect
                    634:   		your exam.
                    635: 
                    636:      oph123s0:  Use this for whatever you wish, such as supplemental homework.
                    637: 
                    638: 3.)  Edit the paths in the capa.config file in each of the classname 
                    639: directories.  Edit the dept_name, etc. in the HWTop (QuizTop and ExamTop). 
                    640: Also edit the classl file, making sure the instructor and TAs all belong to the 
                    641: admin_section(s) (see capa.config file and edit admin_section if appropriate).
                    642: 
                    643: --------------------------------------------------------------------------------
                    644: 
                    645: 
                    646: 
                    647: 
                    648: 
                    649: 
                    650: 
                    651: 
                    652: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>