Annotation of capa/capa51/README.txt, revision 1.3

1.1       albertel    1: 	
1.3     ! albertel    2: 	   Setting Up CAPA v. 5.1.5 For First Time Users:
1.1       albertel    3: 
                      4: 
1.3     ! albertel    5: -------------------------------------------------------------------------------
1.1       albertel    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 installing 
                     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: 
1.3     ! albertel   32: -------------------------------------------------------------------------------
1.1       albertel   33: 
                     34: INITIAL SETUP
                     35: 
                     36: 1.)  Create the user "teacher" with group membership "cai".  If you are 
                     37: unfamiliar with adding new users and groups to your system, then use the 
                     38: instructions below.  
                     39: 
                     40: Adding new users can be accomplished in one of two ways.  Both require you to 
                     41: login as root first.
                     42: 
                     43: 	a.)  Most systems have an "adduser" utility of one form or
                     44: another, normally located in the directory /usr/sbin.  To use this
                     45: utility, login as root, cd to /usr/sbin and enter the command
                     46: "adduser" (or "useradd" depending on your system).  You will be prompted 
                     47: for information regarding the user. For Solaris and Digital Unix, you 
                     48: will be asked to specify the user name (teacher), the UID (normally 
                     49: the default value), the full name (enter what you like here), the 
                     50: login group (we use "cai" which stands for Computer Aided Instruction), 
                     51: a secondary group (we usually leave this blank), a parent directory 
                     52: (depends upon your system), a login shell (this is a preference item, 
                     53: here we use /bin/tcsh), and an initial password.  If you are asked if 
                     54: you want to edit an authority file, etc., answer no.
                     55: 
                     56: The Linux adduser utility requires you to enter the command as 
                     57: "adduser teacher" or "useradd teacher".  This utility automatically 
                     58: creates the directories and groups.  The Debian version prompts 
                     59: the administrator for the full name, office number, phone number, 
                     60: etc.  You may choose to enter only the full name and leave the 
                     61: other information blank.  If you wish to have something other than 
                     62: the Bourne-Again SHell as the login shell, you will need to manually 
                     63: edit the /etc/passwd file once you have created the user.  You will 
                     64: also need to manually change the group ID number for teacher to have 
                     65: group membership "cai" using the vipw command.  Then use the command 
                     66: "chgrp -R" or "chown -R" to recursively change the group membership 
                     67: of the "teacher" home directory.
                     68: 
                     69: NOTE: In most cases you will be asked if you want to add the new group 
                     70: "cai" when you specify it for the new user "teacher".  Otherwise, if you 
                     71: want to use the group "cai" you will have to create it using "addgroup" 
                     72: (or "groupadd" for some systems).
                     73: 
                     74: 	b.)  For all systems, you can manually add users by creating
                     75: an entry in the /etc/passwd file in the correct format using the vipw
                     76: command.  Consult entries already present in /etc/passwd or a book on Unix 
                     77: system administration if you are going to manually create your users. If you 
                     78: manually add your users, you will also need to make the appropriate 
                     79: entries in /etc/group and manually create the home directory for the user.
                     80: 
                     81: 2.)  Login as teacher and create a directory under the teacher account
                     82: called CAPA51.  This directory should now be owned by "teacher" and have
                     83: group membership "cai".
                     84: 
                     85: drwxr-xr-x    6 teacher  cai          1024 Jul 17 14:03 CAPA51
                     86: 
1.3     ! albertel   87: -------------------------------------------------------------------------------
1.1       albertel   88: 
                     89: SETTING UP THE INSTRUCTOR INTERFACE AND OPTIONAL TELNET STUDENT INTERFACE
                     90: 
                     91: You have the option to install the telnet version of the CAPA interface.
                     92: It responds much quicker than the web, especially with a slow modem.  If 
                     93: you decide not to enable this feature then skip steps 5 and 6.
                     94: 
                     95: Please note that in the following instructions, it is assumed that the 
                     96: teacher directory is in /home.  This may not be the case with your machine 
                     97: (e.g. /usr/users, /home2, etc.).  You may want to make note of this as you 
                     98: read through these instructions prior to installation.
                     99: 
                    100: 1.)  Become root and copy or move the DIST51 directory to the teacher home 
                    101: directory.  Recursively change the ownership of the DIST51 directory to 
                    102: teacher with group membership cai.
                    103: 
                    104: >chown -R teacher:cai DIST51  
                    105: 
                    106: 2.)  We first need to link up the binaries to use the instructor 
                    107: interface of CAPA.  Login as root.  Change directory to /usr/local/bin 
                    108: (or /usr/bin, or whatever will be the default in your users "path").
                    109: Symbolically link the binaries contained with the distribution by
                    110: entering the commands:
                    111: 
                    112: > cd /usr/local/bin
                    113: > ln -s /home/teacher/DIST51/LinkToBin/quizzer .
                    114: > ln -s /home/teacher/DIST51/LinkToBin/grader .
                    115: > ln -s /home/teacher/DIST51/LinkToBin/manager .
                    116: > ln -s /home/teacher/DIST51/LinkToBin/qzparse .
                    117: > ln -s /home/teacher/DIST51/LinkToBin/allcapaid .
                    118: > ln -s /home/teacher/DIST51/LinkToBin/answers .
                    119: 
                    120: 3.)  Check that all of the binaries in /home/teacher/DIST51/LinkToBin 
                    121: have executable permissions as shown below:
                    122: 
                    123: >cd /home teacher/DIST51/LinkToBin
                    124: >ls -l
                    125: -rwxr-xr-x    1 teacher  cai        485095 Jul 17 14:35 allcapaid
                    126: -rwxr-xr-x    1 teacher  cai        505454 Jul 17 14:35 answers
                    127: -rwxr-xr-x    1 teacher  cai       2126685 Jul 17 14:35 grader
                    128: -rwxr-xr-x    1 teacher  cai       2267429 Jul 17 14:35 manager
                    129: -rwxr-xr-x    1 teacher  cai       2191991 Jul 17 14:35 quizzer
                    130: -rwxr-xr-x    1 teacher  cai        488366 Jul 17 14:35 qzparse
                    131: 
                    132: 4.)  Now link up the demonstration library in the root directory.  To do this, 
                    133: login as root, change to the root directory (cd /) and enter: 
                    134: 
                    135: > ln -s /home/teacher/DIST51/demolibrary demolibrary
                    136: 
                    137: Check that the demolibrary in the DIST51 folder is owned by "teacher" and 
                    138: has group membership "cai".
                    139: 
                    140: 5.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
                    141: Login as "teacher" and copy the file "capalogin" from the directory 
                    142: DIST51/PutInCAPA51 into the directory /home/teacher/CAPA51.  Check 
                    143: to make sure your permissions match the following: 
                    144: 
                    145: -rwsr-xr-x    1 teacher  cai        585097 Jul 17 15:03 capalogin
                    146: 
                    147: Make certain that capalogin is set UID mode (there is an "s" instead
                    148: of an "x" in the user's permissions).  If not enter the following:
                    149: 
                    150: > chmod u+s capalogin
                    151: 
                    152: 6.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
                    153: For each class that telnet is enabled for, it is added as a user
                    154: to the system without a password.  The security of the system is
1.2       albertel  155: maintained by using capalogin as the login shell.  To set up the
                    156: demonstration class, become root then use the adduser utility to create the
1.1       albertel  157: user "nsc131s0".  Enter the group id the same as the instructor (cai), the
1.2       albertel  158: home directory to be /home/teacher/CAPA51/nsc131s0, and the login shell
                    159: to be /home/teacher/CAPA51/capalogin.  When you are prompted to
                    160: enter an initial password, hit return.  You then need to edit the
                    161: /etc/passwd file with the vipw command to remove the "Nologin" field.
                    162: (You may also need to edit the file /etc/shadow if your system uses
                    163: shadow passwords.)
1.1       albertel  164: 
                    165: For Linux systems, you will need to create the user, edit /etc/passwd 
1.2       albertel  166: to remove the password field, change the group id number, change the home
                    167: directory and change the login shell.  You will not be prompted for these
                    168: within the utility.  Make certain the group id number is the same as the
1.1       albertel  169: instructor account.  Editing the passwd file is done by becoming root
1.2       albertel  170: using the vipw command.  (You may also need to edit the file /etc/shadow
                    171: if your system uses shadow passwords.)  Finally, you must delete the
                    172: directory created by the adduser utility, for example:
1.1       albertel  173: 
1.2       albertel  174: >rm -rf /home/nsc131s0
1.1       albertel  175: 
1.2       albertel  176: Depending on your system, you may not be allowed to add a user without a
1.1       albertel  177: password using the adduser utility.  If this is the case, you will need
                    178: to manually add the user with the vipw command.
                    179: 
                    180: Repeat the steps above for qns131s0 and xpc131s0 (do not add xns131s0 as
                    181: a user).
                    182: 
1.2       albertel  183: The correct class entries in /etc/passwd are given below: (The paths to the
1.1       albertel  184: home directory and login shell may differ for your system.)
                    185: 
1.2       albertel  186: nsc131s0::1004:103:Demonstration Class - Homework:/home/teacher/CAPA51/nsc131s0:
                    187: /home/teacher/CAPA51/capalogin
                    188: qns131s0::1005:103:Demonstration Class - Quizzes:/home/teacher/CAPA51/qsc131s0:/
                    189: home/teacher/CAPA51/capalogin
                    190: xpc131s0::1006:103:Demonstration Class - Exam Partial Credit:/home/teacher/CAPA5
                    191: 1/xpc131s0:/home/teacher/CAPA51/capalogin
1.1       albertel  192: 
                    193: 7.)  Login as teacher and create the class called nsc131s0 in teacher's
                    194: CAPA51 directory.
                    195: 
                    196: > cd CAPA51
                    197: > cp -R /home/teacher/DIST51/PutInCAPA51/nsc131s0 nsc131s0
                    198: 
                    199: Then, check to be certain the owner of the nsc131s0 directory is "teacher" 
                    200: with group membership "cai".
                    201: 
                    202: Repeat this step using the qns131s0, xns131s0, and xpc131s0 directories.
                    203: 
                    204: 8.)  Make certain a directory named "records" exists in each of the class 
                    205: directories (e.g. /home/teacher/CAPA51/nsc131s0/records). Also, make certain the 
                    206: ownership of all sub-directories and files is "teacher" with group membership 
                    207: "cai".  It is a good idea to check your permission with the ones below.
                    208:  
                    209: > cd nsc131s0
                    210: > ls -lag
                    211: total 94
                    212: drwxr-x--x    3 teacher  cai          1024 Jul 17 15:37 .
                    213: drwxr-xr-x    9 teacher  cai          1024 Jul 17 15:37 ..
                    214: -rw-r--r--    1 teacher  cai           969 Jul 17 15:37 HWTop
                    215: -rw-r--r--    1 teacher  cai          1326 Jul 17 15:37 QuizTop
                    216: -rw-r--r--    1 teacher  cai            15 Jul 17 15:37 TeXfooter
                    217: -rw-r--r--    1 teacher  cai           777 Jul 17 15:37 TeXheader
                    218: -rw-r--r--    1 teacher  cai         11418 Jul 17 15:37 capa.config
                    219: -rw-r--r--    1 teacher  cai          1388 Jul 17 15:37 classl
                    220: -rw-r--r--    1 teacher  cai            68 Jul 17 15:37 goodbye.msg
                    221: -rw-r--r--    1 teacher  cai           720 Jul 17 15:37 help.msg
                    222: -rw-r--r--    1 teacher  cai           447 Jul 17 15:37 mail.txt
                    223: -rw-r--r--    1 teacher  cai          1529 Jul 17 15:37 managermail.txt
                    224: drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:37 records
                    225: -rw-r--r--    1 teacher  cai           356 Jul 17 15:37 second-login.msg
                    226: -rwxr--r--    1 teacher  cai          4870 Jul 17 15:37 set1.qz
                    227: -rw-r--r--    1 teacher  cai          2808 Jul 17 15:37 set10.qz
                    228: -rw-r--r--    1 teacher  cai          1933 Jul 17 15:37 set11.qz
                    229: -rw-r--r--    1 teacher  cai          1824 Jul 17 15:37 set12.qz
                    230: -rw-r--r--    1 teacher  cai         10114 Jul 17 15:37 set13.qz
                    231: -rw-r--r--    1 teacher  cai          3969 Jul 17 15:37 set14.qz
                    232: -rw-r--r--    1 teacher  cai          3684 Jul 17 15:37 set15.qz
                    233: -rw-r--r--    1 teacher  cai          1935 Jul 17 15:37 set16.qz
                    234: -rw-r--r--    1 teacher  cai          1454 Jul 17 15:37 set17.qz
                    235: -rw-r--r--    1 teacher  cai          1551 Jul 17 15:37 set2.qz
                    236: -rw-r--r--    1 teacher  cai          7138 Jul 17 15:37 set3.qz
                    237: -rw-r--r--    1 teacher  cai          2561 Jul 17 15:37 set4.qz
                    238: -rw-r--r--    1 teacher  cai          2106 Jul 17 15:37 set5.qz
                    239: -rw-r--r--    1 teacher  cai          2826 Jul 17 15:37 set6.qz
                    240: -rw-r--r--    1 teacher  cai          1617 Jul 17 15:37 set7.qz
                    241: -rw-r--r--    1 teacher  cai          6197 Jul 17 15:37 set8.qz
                    242: -rw-r--r--    1 teacher  cai          2751 Jul 17 15:37 11:05 set9.qz
                    243: -rw-r--r--    1 teacher  cai           293 Jul 17 15:37 third-login.msg
                    244: -rw-r--r--    1 teacher  cai           151 Jul 17 15:37 welcome.msg
                    245: >cd records
                    246: >ls -lag
                    247: total 36
                    248: drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:37 .
                    249: drwxr-x--x    3 teacher  cai          1024 Jul 17 15:37 ..
                    250: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date1.db
                    251: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date10.db
                    252: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date11.db
                    253: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date12.db
                    254: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date13.db
                    255: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date14.db
                    256: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date15.db
                    257: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date16.db
                    258: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date17.db
                    259: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date2.db
                    260: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date3.db
                    261: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date4.db
                    262: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date5.db
                    263: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date6.db
                    264: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date7.db
                    265: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date8.db
                    266: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date9.db
                    267: -rw-r--r--    1 teacher  cai            51 Jul 17 15:37 set1.db
                    268: -rw-r--r--    1 teacher  cai            25 Jul 17 15:37 set10.db
                    269: -rw-r--r--    1 teacher  cai            14 Jul 17 15:37 set11.db
                    270: -rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set12.db
                    271: -rw-r--r--    1 teacher  cai           119 Jul 17 15:37 set13.db
                    272: -rw-r--r--    1 teacher  cai            39 Jul 17 15:37 set14.db
                    273: -rw-r--r--    1 teacher  cai            39 Jul 17 15:37 set15.db
                    274: -rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set16.db
                    275: -rw-r--r--    1 teacher  cai             6 Jul 17 15:37 set17.db
                    276: -rw-r--r--    1 teacher  cai            10 Jul 17 15:37 set2.db
                    277: -rw-r--r--    1 teacher  cai             6 Jul 17 15:37 set3.db
                    278: -rw-r--r--    1 teacher  cai            12 Jul 17 15:37 set4.db
                    279: -rw-r--r--    1 teacher  cai            16 Jul 17 15:37 set5.db
                    280: -rw-r--r--    1 teacher  cai            22 Jul 17 15:37 set6.db
                    281: -rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set7.db
                    282: -rw-r--r--    1 teacher  cai            77 Jul 17 15:37 set8.db
                    283: -rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set9.db
                    284: 
                    285: 9.)  The CAPA system needs to access the files just installed in the teacher
                    286: home directory.  Make sure this directory has both group and world r-x
                    287: privledges.
                    288: 
                    289: drwxr-xr-x    6 teacher  cai          1024 Jul 17 13:43 teacher
                    290: 
                    291: 
                    292: You will have similar files in the qns131s0, xns131s0, and xpc131s0 directories
                    293: with the same permissions.  Check those also.
                    294: 
                    295: The utilities for running CAPA with telnet sessions are now completely  
                    296: installed.  
                    297: 
1.3     ! albertel  298: -------------------------------------------------------------------------------
1.1       albertel  299: 
                    300: SETTING UP THE WEB VERSION OF THE CAPA INTERFACE
                    301: 
                    302: 
                    303: 1.)  Login in as teacher.  Remember, it is assumed that the teacher 
                    304: directory is in /home which may not be the case for your machine.
                    305: 
                    306: 2.)  Copy the directory /home/teacher/DIST51/CopyToPublicWeb to 
                    307: /home/teacher/PublicWeb.  This directory should be owned by user "teacher" 
                    308: and have group membership "cai".
                    309: 
                    310: > cp -Rd /home/teacher/DIST51/CopyToPublicWeb /home/teacher/PublicWeb
                    311: 
                    312: 3.)  Create the html files for the web interface with system links to the
                    313: webpage program to class.html, emailid.html, and getid.html.
                    314: 
                    315: > cd /home/teacher/PublicWeb/CAPA/capa-bin
                    316: > ln -s webpage class.html
                    317: > ln -s webpage emailid.html
                    318: > ln -s webpage getid.html
                    319: 
                    320: 4.)  Recursively check that all the files in the PublicWeb directory are 
                    321: owned by "teacher" and have group membership "cai".  Your permissions for 
                    322: the files in the PublicWeb/CAPA directory should look like the following:
                    323: 
                    324: > cd /home/teacher/PublicWeb/CAPA
                    325: > ls -l
                    326: -rw-r--r--    1 teacher  cai          5935 Jul 17 15:51 ExmPanel.class
                    327: -rw-r--r--    1 teacher  cai          4780 Jul 17 15:51 ExpPanel.class
                    328: -rw-r--r--    1 teacher  cai          3537 Jul 17 15:51 GLabel.class
                    329: drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:51 Icons
                    330: -rw-r--r--    1 teacher  cai          5817 Jul 17 15:51 TScore.class
                    331: drwxr-xr-x    3 teacher  cai          1024 Jul 17 15:51 capa-bin
                    332: -rw-r--r--    1 teacher  cai          3772 Jul 17 15:51 help.html
                    333: 
                    334: Your permissions for the files in PublicWeb/CAPA/capa-bin should like
                    335: the following:
                    336: 
                    337: > cd capa-bin
                    338: > ls -l
                    339: -rw-r--r--    1 teacher  cai         33363 Jul 17 15:51 capadiscuss_html
                    340: -rws--x--x    1 teacher  cai        519680 Jul 17 15:51 capahtml
                    341: -rw-r--r--    1 teacher  cai           223 Jul 17 15:51 class.conf
                    342: lrwxrwxrwx    1 teacher  cai             7 Jul 17 15:51 class.html -> webpage
                    343: lrwxrwxrwx    1 teacher  cai             7 Jul 17 15:51 email.html -> webpage
                    344: lrwxrwxrwx    1 teacher  cai             7 Jul 17 15:51 getid.html -> webpage
                    345: drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:51 teacher
                    346: -rw-r--r--    1 teacher  cai          4460 Jul 17 15:51 web.settings
1.2       albertel  347: -rws--x--x    1 teacher  cai       1141535 Jul 17 15:51 webpage
1.1       albertel  348: 
                    349: If your permissions do not match the ones above, change them so they do.
                    350: 
                    351: > chmod u+s capahtml
1.2       albertel  352: > chmod u+s webpage
1.1       albertel  353: 
1.2       albertel  354: 5.) You may later see files called web_access.log and ids.log in the capa-bin 
                    355: directory.  These files are automatically generated by the CAPA software.
1.1       albertel  356: 
                    357: 6.)  Edit /home/teacher/PublicWeb/CAPA/capa-bin/web.settings
                    358: Change the first line:
                    359:       set machine capa2.nscl.msu.edu
                    360: To read:
                    361:       set machine your.machine.name
                    362: 
                    363: 7.)  Edit the file /home/teacher/PublicWeb/CAPA/capa-bin/class.conf if 
                    364: the CAPA51 directory is somewhere other than /home/teacher.  For example,
                    365: if CAPA51 is in /usr/users/teacher instead of /home/teacher, change:
                    366: 
                    367: nsc131s0   /home/teacher/CAPA51        teacher {class getid emailid}
                    368: 
                    369: to:
                    370: 
                    371: nsc131s0   /usr/users/teacher/CAPA51   teacher {class getid emailid}
                    372: 
                    373: Do this for all three lines.
                    374: 
                    375: 8.)  Check to be certain there is a directory 
                    376: /home/teacher/PublicWeb/CAPA/capa-bin/teacher.  Make certain the files 
                    377: capasbin and capadiscuss are located there, owned by teacher, and a 
                    378: member of the cai group.  Also, double check that the capasbin file 
                    379: has executable, set UID permission (there is an "s" instead of an "x"
                    380: in the user's permissions).  Example:
                    381: 
                    382: -rwxr-xr-x    1 teacher  cai         23453 Jul 17 15:51 capadiscuss
                    383: -rwsr-xr-x    1 teacher  cai        519680 Jul 17 15:51 capasbin
                    384: 
                    385: If not, then enter:
                    386: > chmod u+s capasbin
                    387: 
                    388: (NOTE:  Do not be alarmed if you see the CAPA generated web_access.log
                    389:  file in this directory also.)
                    390: 
                    391: 9.)  Double check ownership and permissions in the PublicWeb directory again.
                    392: 
                    393: 10.)  Create a directory under teacher called Public.  Change directories
                    394: into the new Public directory and create another directory name demolibrary.  
                    395: In Public/demolibrary/ create symbolic links to the Graphics and Links 
                    396: directories:
                    397: 
                    398: > cd /home/teacher/Public/demolibrary 
                    399: > ln -s /demolibrary/Graphics Graphics
                    400: > ln -s /demolibrary/Links Links
                    401: 
                    402: 11.) When finished you should have the following directory structure:
                    403: 
                    404: > pwd
                    405: /home/teacher/Public
                    406: > ls -l
                    407: total 1
                    408: drwxr-xr-x    2 teacher  cai          1024 Jul 17 16:03 demolibrary
                    409: > cd demolibrary
                    410: > ls -l
                    411: total 0
                    412: lrwxrwxrwx    1 teacher  cai            41 Jul 17 16:03 Graphics -> /demolibrary/Graphics
                    413: lrwxrwxrwx    1 teacher  cai            38 Jul 17 16:03 Links -> /demolibrary/Links
                    414: 
                    415: 12.) Login as root, find the srm.conf file of your web server and edit this
                    416: file by making the following changes:
                    417: 
                    418: 	a.) Add the following lines:
                    419: 
                    420: 	Redirect /CAPA/index.html   http://your.machine/capa-bin/class.html
                    421: 	Redirect /CAPA/class.html   http://your.machine/capa-bin/class.html
                    422: 	Redirect /CAPA/getid.html   http://your.machine/capa-bin/getid.html
                    423: 	Redirect /CAPA/emailid.html http://your.machine/capa-bin/emailid.html
                    424: 
                    425: 	Alias /CAPA/   /home/teacher/PublicWeb/CAPA/
                    426: 	Alias /demolibrary/   /home/teacher/Public/demolibrary/
                    427: 
                    428: 	ScriptAlias /capa-bin/  /home/teacher/PublicWeb/CAPA/capa-bin/
                    429: 
                    430: 	Do not be concerned if you webserver's comments suggest using another
                    431: 	file and leaving the srm.conf file blank.
                    432: 
                    433: 	b.)  If your machine is dedicated only to CAPA, you may choose to 
                    434: 	add the following lines to the srm.conf file also: 
                    435: 
                    436: 	ErrorDocument 403 /capa-bin/class.html
                    437:  	ErrorDocument 404 /capa-bin/class.html
                    438: 
                    439: 	This way invalid and forbidden URL's are redirected back to the 
                    440: 	class.html page instead of receiving an error message.  This will
                    441: 	also allow one to enter just the machine name for the URL and get
                    442: 	to the web login page.
                    443: 
                    444: 	c.)  If your machine is dedicated only to CAPA, you may want to 
                    445: 	change the following line:
                    446: 	DocumentRoot /some/other/document/root
                    447: 	     to the following:
                    448: 	Document Root /home/teacher/PublicWeb/CAPA
                    449: 	Make sure to change the document root in other configuration files,
                    450: 	such as httpd.conf and access.conf, if you plan to do this.  This 
                    451: 	line might only be located in the httpd.conf file.  Carefully search
                    452: 	through the webserver's configuration files and change any lines which
                    453: 	have directory names that should match the DocumentRoot.  THE COMMENTS
                    454: 	IN THE CONFIGURATION FILES WILL CLEARLY STATE IF SUCH A CHANGE IS TO
                    455: 	BE MADE.
                    456: 
                    457: 13.)  If the webserver is not owned by teacher, make sure the owner of the 
                    458: webserver can write to the capa-bin directory.  One way of doing this is to 
                    459: make the capa-bin directory group writable and give the owner of the webserver 
                    460: membership in the group "cai".
                    461: 
                    462: 14.)  Kill and restart your web daemon.
                    463: 
                    464: 
                    465: 15.) Students will now be able to access the capa homework via telnet to  
                    466: your.machine.name and via netscape at the URL:
                    467: 
                    468: http://your.machine.name/capa-bin/class.html
                    469: 
                    470:    if redirected correctly:
                    471: http://your.machine.name/CAPA/class.html
                    472: http://your.machine.name/CAPA/index.html
                    473: http://your.machine.name/CAPA/
                    474: 
                    475:    and if you opted to add the change in step 12b:
                    476: http://your.machine.name
                    477: 
                    478: Students can get a CAPAID with a CAPA ID from a previous problem set
                    479: at http://your.machine.name/capa-bin/getid.html
                    480: or http://your.machine.name/CAPA/getid.html
                    481: 
                    482: Students can also have a CAPAID emailed to them without a previous ID from
                    483: http://your.machine.name/capa-bin/emailid.html 
                    484: or http://your.machine.name/CAPA/emailid.html
                    485: without a previous CAPA ID.
                    486: 
1.3     ! albertel  487: -------------------------------------------------------------------------------
1.1       albertel  488: 
                    489: FINAL INSTRUCTIONS
                    490: 
                    491: 1.)  Modify /demolibrary/Tools/StdMacros
                    492: 
                    493: Replace the line
                    494: /LET machine_name="capa2.nscl.msu.edu"  // needed for labeling tools
                    495: With
                    496: /LET machine_name="your.machine.name"  // needed for labeling tools
                    497: 
                    498: 2.)  Double check to be certain the ownership and group membership 
                    499: for each of the files and subdirectories under the teacher account 
                    500: consistently have "teacher" as owner and "cai" as group.  Also double
                    501: check that the demolibrary directory in /home/teacher/DIST51 is owned
                    502: by "teacher" and has group membership "cai".
                    503: 
                    504: 3.)  Make sure that the user teacher, the owner of the webserver, and
                    505: root have the commands allcapaid, perl and gs (ghostscript command) in 
                    506: their path.  You can check this by using the which command.  If it is
                    507: in the user's path, you will then be shown where the directory for the
                    508: command is located.  
                    509: For example:
                    510: 
                    511: > which perl
                    512: /usr/bin/perl
                    513: 
                    514: 4.)  If teacher is somewhere other than /home, then you need to edit the 
                    515: capa.config files in the nsc131s0, qns131s0, xns131s0, and xpc131s0 directories.
                    516: Change the following lines to refer to the correct path:
                    517: 
                    518: quiz_path       = /home/teacher/CAPA51/qns131s0
                    519: exam_path       = /home/teacher/CAPA51/xns131s0
                    520: supp_path       = /home/teacher/CAPA51/xpc131s0
                    521: .
                    522: .
                    523: .
                    524: correction_path = /home/teacher/CAPA51/xpc131s0
                    525: 
                    526: 5.)  In each of the capa.config files (DIST51/PutInCAPA51/nsc131s0/capa.config,
1.3     ! albertel  527: ..., ...skeleton/capa.config, etc. and /home/teacher/CAPA51/nsc131s0, etc.) 
        !           528: edit the print commands to match the ones that you use from your server where 
        !           529: CAPA is installed.  The comments in the printing configuration section of the 
        !           530: capa.config file will direct you how to make these changes.
1.1       albertel  531: 
                    532: Also, edit the line:
                    533: 
                    534: capa_server = your.machine.name
                    535: 
                    536: In the "Extrapolate Scores Applet" section to read the name of your capa server
                    537: in each of the capa.config files.
                    538: 
                    539: 6.)  Print the Manual.  
                    540: 
                    541: 7.)  Take a look at the sets in nsc131s0. In particular sets 3-17 (a
                    542: detailed list of the templates).
                    543: 
                    544: 8.)  Read the READMEsecurity.txt file.
                    545: 
1.3     ! albertel  546: 9.)  Make sure that the owner of the web server has /usr/local/bin as its path
        !           547: or the discuss page will not work properly.  If you have trouble changing the
        !           548: owner of the web server's path, put a symbolic link to /usr/local/bin/allcapaid
        !           549: in /usr/bin:
        !           550: 
        !           551: su -
        !           552: cd /usr/bin
        !           553: ln -s /usr/local/bin/allcapaid .
        !           554: 
        !           555: -------------------------------------------------------------------------------
        !           556: -------------------------------------------------------------------------------
        !           557: -------------------------------------------------------------------------------
1.1       albertel  558: 
                    559: CONTACT INFORMATION
                    560: 
                    561: If you have any questions or problems with getting CAPA installed and  
                    562: running, contact the following:
                    563: 
                    564: Felicia Berryman
                    565: CAPA Coordinator
                    566: Michigan State University
                    567: capa@capa.msu.edu
                    568: 
1.3     ! albertel  569: -------------------------------------------------------------------------------
        !           570: -------------------------------------------------------------------------------
        !           571: -------------------------------------------------------------------------------
1.1       albertel  572: 
                    573: ADDING ADDITIONAL USERS
                    574: 
                    575: 1.)  Add the new user to your system with group membership cai.  If you are
                    576: unsure about doing this, follow the same instructions outlined in the 
                    577: "INITIAL SETUP" section except use the new user's name instead of "teacher" 
                    578: (and the new group's name if the new instructor to be added to the CAPA system 
                    579: should be in a different group other than "cai").
                    580: 
                    581: 2.)  Login as root and add a directory to the capa-bin directory with the same 
                    582: name as the new instructor's user name.  For example:
                    583: > mkdir /home/teacher/PublicWeb/CAPA/capa-bin/instructor-name
                    584: 
                    585: 3.)  Copy the files capasbin and capadiscuss from 
                    586: teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher into the new
                    587: instructor-name directory.  For example:
                    588: 
                    589: > cd /home/teacher/PublicWeb/CAPA/capa-bin/instructor-name
1.2       albertel  590: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capasbin .
                    591: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capadiscuss .
1.1       albertel  592: 
1.3     ! albertel  593: 4.)  Change the ownership of the instructor-name directory and all of its 
        !           594: files to the appropriate user ("instructor-name") and group (i.e. "cai").
        !           595: > cd /home/teacher/PublicWeb/CAPA/capa-bin
        !           596: > chown -R instructor-name:cai instructor-name
        !           597: 
        !           598: 5.)  Make sure that the permissions for the the capasbin and capadiscuss files 
1.1       albertel  599: are executable and that capasbin is set UID mode (there is an "s" instead 
                    600: of an "x" in the owner's permissions).  If not, enter the following:
                    601: 
                    602: > chmod 755 capasbin capadiscuss
                    603: > chmod u+s capasbin
                    604: > ls -l
                    605: -rwxr-xr-x    1 instructor  cai         23453 Mar 16 11:15 capadiscuss
                    606: -rwsr-xr-x    1 instructor  cai        843150 Mar 16 11:15 capasbin
                    607: 
1.3     ! albertel  608: 6.)  Finally, double check that the instructor owns his/her directory
1.1       albertel  609: in the capa-bin directory and that the instructor's capasbin and capadiscuss
                    610: have the correct ownership and permissions.
                    611: 
1.3     ! albertel  612: -------------------------------------------------------------------------------
1.1       albertel  613: 
                    614: ADDING ADDITIONAL CLASSES
                    615: 
                    616: Once an instructor account is created, you can add classes to the
                    617: system as needed.  Below we call the owner of the class "instructor"
                    618: and the class "classname".  Your class's name should be 8 characters
                    619: max if you will be using the telnet interface.  We name our classes 
                    620: names such as phy183s0 (physics 183, spring semester, 2000) and cem142f0 
                    621: (chemistry 142, fall semester, 2000).
                    622: 
                    623: If you chose not to enable the telnet interface, then skip steps 
                    624: 1 and 2 below.
                    625: 
                    626: 1.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
                    627: Use the adduser utility to create the user "classname".  For Digital 
                    628: Unix and Solaris operating systems:
                    629: 	a.) Login as root
                    630: 	b.) Change directory to /usr/sbin
                    631: 	c.) Type the command "adduser".  You will be prompted for information.
                    632: 		-Make certain the user "classname" is a member of the same 
                    633: 		group as the instructor.
                    634:  		-Use /home/instructor/CAPA51 as the parent directory and
                    635:  		/home/instructor/CAPA51/capalogin as the login shell. 
                    636: 		-Do not add a password.
                    637: 	d.) Remove the system created classname directory.  (Your absolute
                    638: 	    path may differ from /home.)
                    639: 		>rm -rf /home/instructor/CAPA51/classname
                    640: 
                    641: For Linux operating systems:
                    642: 	a.) Login as root
                    643: 	b.) change directory to /usr/sbin
                    644: 	c.) Type the command "adduser classname".
                    645: 	    (or "useradd classname" depending on your system)
                    646: 	d.) If prompted for a password, do not add one.
                    647: 	e.) Delete the directory created by the adduser utility. (Your absolute
                    648: 	    path may differ from /home.)
                    649: 		>rm -rf /home/classname
                    650: 	NOTE:  Depending on your system, you may not be allowed to add a user 
                    651: 	without a password.  In that case, you will have to add the user 
                    652: 	manually using the vipw command.
                    653: 	
                    654: 2.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
                    655: Edit the password file.  For Digital Unix and Solaris operating systems:
1.2       albertel  656:         a.) Edit the entry for "classname" in the /etc/passwd file with the vipw
                    657:             command.
                    658:                 -remove the encrypted password field (or the field "NoLogin").
                    659:                  (You may need to also edit the /etc/shadow file if using
                    660:                  shadow passwords.)
                    661:                 -Check to be certain the home directory and login shell are
                    662:                 correct.
                    663:         b.) A sample /etc/passwd entry is given below:
1.1       albertel  664: 
1.2       albertel  665: phy123s0::1007:103:Intro Physics I:/home/instructor/CAPA51/phy123s0:/home/instru
                    666: ctor/CAPA51/capalogin
1.1       albertel  667: 
                    668: For Linux operating systems:
1.2       albertel  669:         a.) Edit the entry for "classname" in the /etc/passwd file.
                    670:                 -Remove the encrypted password field (or the field "NoLogin").
                    671:                  (You may need to also edit the /etc/shadow file if using
                    672:                  shadow passwords.)
                    673:                 -Change the group id number to match the group id number in
                    674:                 the instructor's account
                    675:                 -Change the home directory to
                    676:                 /home/instructor/CAPA51/classname
                    677:                 -Change the login shell to
                    678:                 /home/instructor/CAPA51/capalogin
                    679:         b.) A sample /etc/passwd entry is given below:
                    680: 
                    681: phy123s0::1007:103:Intro Physics I:/home/instructor/CAPA51/phy123s0:/home/instru
                    682: ctor/CAPA51/capalogin
1.1       albertel  683: 
                    684: 3.)  Make the classname directory.  Login as the "classname" owner, copy 
                    685: the contents of /home/teacher/DIST51/PutInCAPA/skeleton into the new class 
                    686: directory.  
                    687: > cd /home/instructor/CAPA51
                    688: > cp -R /home/teacher/DIST51/PutInCAPA51/skeleton classname
                    689: 
                    690: Make certain there is a classname/records directory present.  
                    691: The following are a few files you might want to edit  to tailor to your 
                    692: particular course:
                    693: 
                    694: welcome.msg and goodbye.msg (both for telnet), capa.config, HWTop, (QuizTop,
                    695: ExamTop), and classl
                    696: 
                    697: Be certain to retain the exact character spacing in the classl file.
                    698: 
                    699: 4.) Check to be certain the owner of the /home/instructor/CAPA51/classname 
                    700: directory, sub-directories and files is "instructor" with group membership 
                    701: "cai" (or whatever the correct group is).
                    702: 
                    703: 5.)  Once you have created your problem sets, your course is ready for 
                    704: telnet access.  That is, if you chose to enable the telnet interface.
                    705: 
                    706: 		  ------------------------------------------
                    707: 
                    708: Setting up WWW access for this same course:
                    709: 
                    710: 1.)  Edit /home/teacher/PublicWeb/CAPA/capa-bin/class.conf by 
                    711: adding the new class.  Example:
                    712: 
                    713: classname  /home/instructor/CAPA51  instructor {class getid emailid}
                    714: 
                    715: 2.)  Make certain a copy of capa.config exists in the "classname"
                    716: directory.  Also double check the ownership and group membership of
                    717: the classname file and all of its sub-directories and files have the
                    718: appropriate owner and group membership.
                    719: 
                    720: 3.)  The instructions above were for using CAPA for homework.  If you
                    721: want to use CAPA for quizzes, exams, etc. then read the next section.
                    722: 
                    723: 4.)  Edit the paths and printing configuration section in the capa.config
                    724: file.  Edit the dept_name, etc in the HWTop (QuizTop and ExamTop).  Also
                    725: edit the classl file, making sure the instructor and TAs all belong to
                    726: the admin_section(s) (see capa.config file and edit admin_section if 
                    727: appropriate).
                    728: 
                    729: Your "classname" class is now ready to use for homework.
                    730: 
1.3     ! albertel  731: -------------------------------------------------------------------------------
1.1       albertel  732: 
                    733: ADDING ACCESS FOR QUIZZES, EXAMS, EXAM PARTIAL CREDIT, ETC.
                    734: 
                    735: 1.)  Quiz, exam, and other access are added as separate "classes".  
                    736: You may choose to name them similar to the convention of the 
                    737: demonstration "classes" nsc131s0 (homework), qns131s0 (quizzes),
                    738: xns131s0 (exams), and xpc131s0 (exam partial credit).  
                    739: 
                    740: 2.)  To use CAPA for more than just homework, install your quiz,
                    741: exam, etc. directories using the instructions above but use the
                    742: appropriate skeleton directory (skeletonQuiz, skeletonExam).  For 
                    743: supplementary course work, such as exam partial credit, then just 
                    744: use the skeleton directory.  Follow the guidelines below when 
                    745: setting up web access in the class.conf file.  
                    746: 
                    747: 2.)  Below are some guidelines assuming you are using the entirety
                    748: of CAPA by adding quiz, exam, partial credit (supplemental), and other
                    749: access for a physics class PHY 123:
                    750: 
                    751:      qph123s0:  Enable telnet if you do so and allow class.html
                    752: 		access only.  This gives you the option of giving
                    753: 		take-home quizzes, but the students cannot use
                    754: 		emailid.html or getid.html, they must get their
                    755: 		CAPA ID in class.  In the capa.config file, you
                    756: 		would enter the following:
                    757: 
                    758: 		qph123s0  /home/instructor/CAPA51  instructor {class}
                    759: 
                    760:      xph123s0:  Do not enable access through telnet or web interface.
                    761:  		If you do want telnet or web access, please be careful
                    762: 		to protect you exams by setting the correct open and
                    763: 		due dates and it is highly recommended that you do
                    764: 		NOT allow the students to retrieve their ID for further
                    765: 		protection.  Consult the Manual about due dates.
                    766: 
                    767:      xpc123s0:  You have the option in CAPA to allow students to take
                    768: 		the exam again at home and apply those points to their
                    769: 	        exam score as partial credit.  Set up similiar to quizzes
                    770: 		and BE CAREFUL about open dates and due dates to protect
                    771:   		your exam.
                    772: 
                    773:      oph123s0:  Use this for whatever you wish, such as supplemental homework.
                    774: 
                    775: 3.)  Edit the paths in the capa.config file in each of the classname 
                    776: directories.  Edit the dept_name, etc. in the HWTop (QuizTop and ExamTop). 
                    777: Also edit the classl file, making sure the instructor and TAs all belong to the 
                    778: admin_section(s) (see capa.config file and edit admin_section if appropriate).
                    779: 
1.3     ! albertel  780: -------------------------------------------------------------------------------
1.1       albertel  781: 
                    782: 
                    783: 
                    784: 
                    785: 
                    786: 
                    787: 
                    788: 
                    789: 

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