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>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.