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

1.1     ! albertel    1: 	
        !             2: 	   Setting Up CAPA v. 5.1 For First Time Users:
        !             3: 
        !             4: 
        !             5: --------------------------------------------------------------------------------
        !             6: 
        !             7: READ ALL INSTRUCTIONS BEFORE PRECEDING WITH THE INSTALLATION.
        !             8: 
        !             9: Please go to http://capa.msu.edu/mailman and subscribe to the CAPA Announce 
        !            10: email list.  Anyone interested in receiving CAPA updates and announcements 
        !            11: can add himself or herself to the list.  Please notify all instructors and 
        !            12: technical staff that will work with CAPA about adding themselves to the list.
        !            13: 
        !            14: The following installation instructions assume that whoever is 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: 
        !            32: --------------------------------------------------------------------------------
        !            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: 
        !            87: --------------------------------------------------------------------------------
        !            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
        !           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 
        !           157: user "nsc131s0".  Enter the group id the same as the instructor (cai), the
        !           158: parent directory to be /home/teacher/CAPA51, 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 to remove the "Nologin" field.  
        !           162: 
        !           163: For Linux systems, you will need to create the user, edit /etc/passwd 
        !           164: to remove the password field, change the group id number, change the home 
        !           165: directory and change the login shell.  You will not be prompted for these 
        !           166: within the utility.  Make certain the group id number is the same as the 
        !           167: instructor account.  Editing the passwd file is done by becoming root
        !           168: using the vipw command.  Finally, you must delete the directory created by
        !           169: the adduser utility, for example:
        !           170: 
        !           171: >rm -rf /home/nsc131s0 
        !           172: 
        !           173: Depending on your system, you may not be allowed to add a user without a 
        !           174: password using the adduser utility.  If this is the case, you will need
        !           175: to manually add the user with the vipw command.
        !           176: 
        !           177: Repeat the steps above for qns131s0 and xpc131s0 (do not add xns131s0 as
        !           178: a user).
        !           179: 
        !           180: The correct class entries in /etc/passwd are given below: (The paths to the 
        !           181: home directory and login shell may differ for your system.)
        !           182: 
        !           183: nsc131s0::1004:103:Demonstration Class - Homework:/home/teacher/CAPA51/nsc131s0:/home/teacher/CAPA51/capalogin
        !           184: qns131s0::1005:103:Demonstration Class - Quizzes:/home/teacher/CAPA51/qsc131s0:/home/teacher/CAPA51/capalogin
        !           185: xpc131s0::1006:103:Demonstration Class - Exam Partial Credit:/home/teacher/CAPA51/xpc131s0:/home/teacher/CAPA51/capalogin
        !           186: 
        !           187: 7.)  Login as teacher and create the class called nsc131s0 in teacher's
        !           188: CAPA51 directory.
        !           189: 
        !           190: > cd CAPA51
        !           191: > cp -R /home/teacher/DIST51/PutInCAPA51/nsc131s0 nsc131s0
        !           192: 
        !           193: Then, check to be certain the owner of the nsc131s0 directory is "teacher" 
        !           194: with group membership "cai".
        !           195: 
        !           196: Repeat this step using the qns131s0, xns131s0, and xpc131s0 directories.
        !           197: 
        !           198: 8.)  Make certain a directory named "records" exists in each of the class 
        !           199: directories (e.g. /home/teacher/CAPA51/nsc131s0/records). Also, make certain the 
        !           200: ownership of all sub-directories and files is "teacher" with group membership 
        !           201: "cai".  It is a good idea to check your permission with the ones below.
        !           202:  
        !           203: > cd nsc131s0
        !           204: > ls -lag
        !           205: total 94
        !           206: drwxr-x--x    3 teacher  cai          1024 Jul 17 15:37 .
        !           207: drwxr-xr-x    9 teacher  cai          1024 Jul 17 15:37 ..
        !           208: -rw-r--r--    1 teacher  cai           969 Jul 17 15:37 HWTop
        !           209: -rw-r--r--    1 teacher  cai          1326 Jul 17 15:37 QuizTop
        !           210: -rw-r--r--    1 teacher  cai            15 Jul 17 15:37 TeXfooter
        !           211: -rw-r--r--    1 teacher  cai           777 Jul 17 15:37 TeXheader
        !           212: -rw-r--r--    1 teacher  cai         11418 Jul 17 15:37 capa.config
        !           213: -rw-r--r--    1 teacher  cai          1388 Jul 17 15:37 classl
        !           214: -rw-r--r--    1 teacher  cai            68 Jul 17 15:37 goodbye.msg
        !           215: -rw-r--r--    1 teacher  cai           720 Jul 17 15:37 help.msg
        !           216: -rw-r--r--    1 teacher  cai           447 Jul 17 15:37 mail.txt
        !           217: -rw-r--r--    1 teacher  cai          1529 Jul 17 15:37 managermail.txt
        !           218: drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:37 records
        !           219: -rw-r--r--    1 teacher  cai           356 Jul 17 15:37 second-login.msg
        !           220: -rwxr--r--    1 teacher  cai          4870 Jul 17 15:37 set1.qz
        !           221: -rw-r--r--    1 teacher  cai          2808 Jul 17 15:37 set10.qz
        !           222: -rw-r--r--    1 teacher  cai          1933 Jul 17 15:37 set11.qz
        !           223: -rw-r--r--    1 teacher  cai          1824 Jul 17 15:37 set12.qz
        !           224: -rw-r--r--    1 teacher  cai         10114 Jul 17 15:37 set13.qz
        !           225: -rw-r--r--    1 teacher  cai          3969 Jul 17 15:37 set14.qz
        !           226: -rw-r--r--    1 teacher  cai          3684 Jul 17 15:37 set15.qz
        !           227: -rw-r--r--    1 teacher  cai          1935 Jul 17 15:37 set16.qz
        !           228: -rw-r--r--    1 teacher  cai          1454 Jul 17 15:37 set17.qz
        !           229: -rw-r--r--    1 teacher  cai          1551 Jul 17 15:37 set2.qz
        !           230: -rw-r--r--    1 teacher  cai          7138 Jul 17 15:37 set3.qz
        !           231: -rw-r--r--    1 teacher  cai          2561 Jul 17 15:37 set4.qz
        !           232: -rw-r--r--    1 teacher  cai          2106 Jul 17 15:37 set5.qz
        !           233: -rw-r--r--    1 teacher  cai          2826 Jul 17 15:37 set6.qz
        !           234: -rw-r--r--    1 teacher  cai          1617 Jul 17 15:37 set7.qz
        !           235: -rw-r--r--    1 teacher  cai          6197 Jul 17 15:37 set8.qz
        !           236: -rw-r--r--    1 teacher  cai          2751 Jul 17 15:37 11:05 set9.qz
        !           237: -rw-r--r--    1 teacher  cai           293 Jul 17 15:37 third-login.msg
        !           238: -rw-r--r--    1 teacher  cai           151 Jul 17 15:37 welcome.msg
        !           239: >cd records
        !           240: >ls -lag
        !           241: total 36
        !           242: drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:37 .
        !           243: drwxr-x--x    3 teacher  cai          1024 Jul 17 15:37 ..
        !           244: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date1.db
        !           245: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date10.db
        !           246: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date11.db
        !           247: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date12.db
        !           248: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date13.db
        !           249: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date14.db
        !           250: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date15.db
        !           251: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date16.db
        !           252: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date17.db
        !           253: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date2.db
        !           254: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date3.db
        !           255: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date4.db
        !           256: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date5.db
        !           257: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date6.db
        !           258: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date7.db
        !           259: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date8.db
        !           260: -rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date9.db
        !           261: -rw-r--r--    1 teacher  cai            51 Jul 17 15:37 set1.db
        !           262: -rw-r--r--    1 teacher  cai            25 Jul 17 15:37 set10.db
        !           263: -rw-r--r--    1 teacher  cai            14 Jul 17 15:37 set11.db
        !           264: -rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set12.db
        !           265: -rw-r--r--    1 teacher  cai           119 Jul 17 15:37 set13.db
        !           266: -rw-r--r--    1 teacher  cai            39 Jul 17 15:37 set14.db
        !           267: -rw-r--r--    1 teacher  cai            39 Jul 17 15:37 set15.db
        !           268: -rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set16.db
        !           269: -rw-r--r--    1 teacher  cai             6 Jul 17 15:37 set17.db
        !           270: -rw-r--r--    1 teacher  cai            10 Jul 17 15:37 set2.db
        !           271: -rw-r--r--    1 teacher  cai             6 Jul 17 15:37 set3.db
        !           272: -rw-r--r--    1 teacher  cai            12 Jul 17 15:37 set4.db
        !           273: -rw-r--r--    1 teacher  cai            16 Jul 17 15:37 set5.db
        !           274: -rw-r--r--    1 teacher  cai            22 Jul 17 15:37 set6.db
        !           275: -rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set7.db
        !           276: -rw-r--r--    1 teacher  cai            77 Jul 17 15:37 set8.db
        !           277: -rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set9.db
        !           278: 
        !           279: 9.)  The CAPA system needs to access the files just installed in the teacher
        !           280: home directory.  Make sure this directory has both group and world r-x
        !           281: privledges.
        !           282: 
        !           283: drwxr-xr-x    6 teacher  cai          1024 Jul 17 13:43 teacher
        !           284: 
        !           285: 
        !           286: You will have similar files in the qns131s0, xns131s0, and xpc131s0 directories
        !           287: with the same permissions.  Check those also.
        !           288: 
        !           289: The utilities for running CAPA with telnet sessions are now completely  
        !           290: installed.  
        !           291: 
        !           292: --------------------------------------------------------------------------------
        !           293: 
        !           294: SETTING UP THE WEB VERSION OF THE CAPA INTERFACE
        !           295: 
        !           296: 
        !           297: 1.)  Login in as teacher.  Remember, it is assumed that the teacher 
        !           298: directory is in /home which may not be the case for your machine.
        !           299: 
        !           300: 2.)  Copy the directory /home/teacher/DIST51/CopyToPublicWeb to 
        !           301: /home/teacher/PublicWeb.  This directory should be owned by user "teacher" 
        !           302: and have group membership "cai".
        !           303: 
        !           304: > cp -Rd /home/teacher/DIST51/CopyToPublicWeb /home/teacher/PublicWeb
        !           305: 
        !           306: 3.)  Create the html files for the web interface with system links to the
        !           307: webpage program to class.html, emailid.html, and getid.html.
        !           308: 
        !           309: > cd /home/teacher/PublicWeb/CAPA/capa-bin
        !           310: > ln -s webpage class.html
        !           311: > ln -s webpage emailid.html
        !           312: > ln -s webpage getid.html
        !           313: 
        !           314: 4.)  Recursively check that all the files in the PublicWeb directory are 
        !           315: owned by "teacher" and have group membership "cai".  Your permissions for 
        !           316: the files in the PublicWeb/CAPA directory should look like the following:
        !           317: 
        !           318: > cd /home/teacher/PublicWeb/CAPA
        !           319: > ls -l
        !           320: -rw-r--r--    1 teacher  cai          5935 Jul 17 15:51 ExmPanel.class
        !           321: -rw-r--r--    1 teacher  cai          4780 Jul 17 15:51 ExpPanel.class
        !           322: -rw-r--r--    1 teacher  cai          3537 Jul 17 15:51 GLabel.class
        !           323: drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:51 Icons
        !           324: -rw-r--r--    1 teacher  cai          5817 Jul 17 15:51 TScore.class
        !           325: drwxr-xr-x    3 teacher  cai          1024 Jul 17 15:51 capa-bin
        !           326: -rw-r--r--    1 teacher  cai          3772 Jul 17 15:51 help.html
        !           327: 
        !           328: Your permissions for the files in PublicWeb/CAPA/capa-bin should like
        !           329: the following:
        !           330: 
        !           331: > cd capa-bin
        !           332: > ls -l
        !           333: -rw-r--r--    1 teacher  cai         33363 Jul 17 15:51 capadiscuss_html
        !           334: -rws--x--x    1 teacher  cai        519680 Jul 17 15:51 capahtml
        !           335: -rw-r--r--    1 teacher  cai           223 Jul 17 15:51 class.conf
        !           336: lrwxrwxrwx    1 teacher  cai             7 Jul 17 15:51 class.html -> webpage
        !           337: lrwxrwxrwx    1 teacher  cai             7 Jul 17 15:51 email.html -> webpage
        !           338: lrwxrwxrwx    1 teacher  cai             7 Jul 17 15:51 getid.html -> webpage
        !           339: drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:51 teacher
        !           340: -rw-r--r--    1 teacher  cai          4460 Jul 17 15:51 web.settings
        !           341: -rwx--x--x    1 teacher  cai       1141535 Jul 17 15:51 webpage
        !           342: 
        !           343: If your permissions do not match the ones above, change them so they do.
        !           344: Read step #5 before changing your permissions for capahtml.  You may 
        !           345: later see files called web_access.log and ids.log in the capa-bin 
        !           346: directory.  These files are automatically generated by the CAPA software.
        !           347: 
        !           348: 5.)  If the user "teacher" does not own the webserver (for example, the
        !           349: webserver is owned by the user "www"), then you will need to make the
        !           350: capahtml file set UID.
        !           351: 
        !           352: > chmod u+s capahtml
        !           353: 
        !           354: If "teacher" owns the webserver, then leave capahtml in the default executable
        !           355: permissions as listed in step 4.
        !           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: 
        !           487: --------------------------------------------------------------------------------
        !           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,
        !           527: ..., ...skeleton/capa.config, etc. and /home/teacher/CAPA51/nsc131s0, etc.) edit 
        !           528: the print commands to match the ones that you use from your server where CAPA is 
        !           529: installed.  The comments in the printing configuration section of the capa.config 
        !           530: file will direct you how to make these changes.
        !           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: 
        !           546: 
        !           547: --------------------------------------------------------------------------------
        !           548: --------------------------------------------------------------------------------
        !           549: --------------------------------------------------------------------------------
        !           550: 
        !           551: CONTACT INFORMATION
        !           552: 
        !           553: If you have any questions or problems with getting CAPA installed and  
        !           554: running, contact the following:
        !           555: 
        !           556: Felicia Berryman
        !           557: CAPA Coordinator
        !           558: Michigan State University
        !           559: capa@capa.msu.edu
        !           560: 
        !           561: --------------------------------------------------------------------------------
        !           562: --------------------------------------------------------------------------------
        !           563: --------------------------------------------------------------------------------
        !           564: 
        !           565: ADDING ADDITIONAL USERS
        !           566: 
        !           567: 1.)  Add the new user to your system with group membership cai.  If you are
        !           568: unsure about doing this, follow the same instructions outlined in the 
        !           569: "INITIAL SETUP" section except use the new user's name instead of "teacher" 
        !           570: (and the new group's name if the new instructor to be added to the CAPA system 
        !           571: should be in a different group other than "cai").
        !           572: 
        !           573: 2.)  Login as root and add a directory to the capa-bin directory with the same 
        !           574: name as the new instructor's user name.  For example:
        !           575: > mkdir /home/teacher/PublicWeb/CAPA/capa-bin/instructor-name
        !           576: 
        !           577: 3.)  Copy the files capasbin and capadiscuss from 
        !           578: teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher into the new
        !           579: instructor-name directory.  For example:
        !           580: 
        !           581: > cd /home/teacher/PublicWeb/CAPA/capa-bin/instructor-name
        !           582: > cp /home/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capasbin capasbin
        !           583: > cp /home/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capadiscuss capadiscuss
        !           584: 
        !           585: Make sure that the permissions for the the capasbin and capadiscuss files 
        !           586: are executable and that capasbin is set UID mode (there is an "s" instead 
        !           587: of an "x" in the owner's permissions).  If not, enter the following:
        !           588: 
        !           589: > chmod 755 capasbin capadiscuss
        !           590: > chmod u+s capasbin
        !           591: > ls -l
        !           592: -rwxr-xr-x    1 instructor  cai         23453 Mar 16 11:15 capadiscuss
        !           593: -rwsr-xr-x    1 instructor  cai        843150 Mar 16 11:15 capasbin
        !           594: 
        !           595: 4.)  Change the ownership of the instructor-name directory and all of its 
        !           596: files to the appropriate user ("instructor-name") and group (i.e. "cai").
        !           597: > cd /home/teacher/PublicWeb/CAPA/capa-bin
        !           598: > chown -R instructor-name:cai instructor-name
        !           599: 
        !           600: 5.)  Finally, double check that the instructor owns his/her directory
        !           601: in the capa-bin directory and that the instructor's capasbin and capadiscuss
        !           602: have the correct ownership and permissions.
        !           603: 
        !           604: --------------------------------------------------------------------------------
        !           605: 
        !           606: ADDING ADDITIONAL CLASSES
        !           607: 
        !           608: Once an instructor account is created, you can add classes to the
        !           609: system as needed.  Below we call the owner of the class "instructor"
        !           610: and the class "classname".  Your class's name should be 8 characters
        !           611: max if you will be using the telnet interface.  We name our classes 
        !           612: names such as phy183s0 (physics 183, spring semester, 2000) and cem142f0 
        !           613: (chemistry 142, fall semester, 2000).
        !           614: 
        !           615: If you chose not to enable the telnet interface, then skip steps 
        !           616: 1 and 2 below.
        !           617: 
        !           618: 1.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
        !           619: Use the adduser utility to create the user "classname".  For Digital 
        !           620: Unix and Solaris operating systems:
        !           621: 	a.) Login as root
        !           622: 	b.) Change directory to /usr/sbin
        !           623: 	c.) Type the command "adduser".  You will be prompted for information.
        !           624: 		-Make certain the user "classname" is a member of the same 
        !           625: 		group as the instructor.
        !           626:  		-Use /home/instructor/CAPA51 as the parent directory and
        !           627:  		/home/instructor/CAPA51/capalogin as the login shell. 
        !           628: 		-Do not add a password.
        !           629: 	d.) Remove the system created classname directory.  (Your absolute
        !           630: 	    path may differ from /home.)
        !           631: 		>rm -rf /home/instructor/CAPA51/classname
        !           632: 
        !           633: For Linux operating systems:
        !           634: 	a.) Login as root
        !           635: 	b.) change directory to /usr/sbin
        !           636: 	c.) Type the command "adduser classname".
        !           637: 	    (or "useradd classname" depending on your system)
        !           638: 	d.) If prompted for a password, do not add one.
        !           639: 	e.) Delete the directory created by the adduser utility. (Your absolute
        !           640: 	    path may differ from /home.)
        !           641: 		>rm -rf /home/classname
        !           642: 	NOTE:  Depending on your system, you may not be allowed to add a user 
        !           643: 	without a password.  In that case, you will have to add the user 
        !           644: 	manually using the vipw command.
        !           645: 	
        !           646: 2.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
        !           647: Edit the password file.  For Digital Unix and Solaris operating systems:
        !           648: 	a.) Edit the entry for "classname" in the /etc/passwd file with the vipw
        !           649: 	    command.
        !           650: 		-remove the encrypted password field (or the field "NoLogin"). 
        !           651: 		-Check to be certain the home directory and login shell are 
        !           652: 		correct.  
        !           653: 	b.) A sample /etc/passwd entry is given below:
        !           654: 
        !           655: phy123s0::1007:103:Intro Physics I:/home/instructor/CAPA51/phy123s0:/home/instructor/CAPA51/capalogin
        !           656: 
        !           657: For Linux operating systems:
        !           658: 	a.) Edit the entry for "classname" in the /etc/passwd file.
        !           659: 	    	-Remove the encrypted password field (or the field "NoLogin"). 
        !           660: 		-Change the group id number to match the group id number in 
        !           661: 		the instructor's account
        !           662: 		-Change the home directory to 
        !           663: 		/home/instructor/CAPA51
        !           664: 		-Change the login shell to 
        !           665: 		/home/instructor/CAPA51/capalogin
        !           666: 	b.) A sample /etc/passwd entry is given below:
        !           667: 
        !           668: phy123s0::1007:103:Intro Physics I:/home/instructor/CAPA51/phy123s0:/home/instructor/CAPA51/capalogin
        !           669: 	
        !           670: 3.)  Make the classname directory.  Login as the "classname" owner, copy 
        !           671: the contents of /home/teacher/DIST51/PutInCAPA/skeleton into the new class 
        !           672: directory.  
        !           673: > cd /home/instructor/CAPA51
        !           674: > cp -R /home/teacher/DIST51/PutInCAPA51/skeleton classname
        !           675: 
        !           676: Make certain there is a classname/records directory present.  
        !           677: The following are a few files you might want to edit  to tailor to your 
        !           678: particular course:
        !           679: 
        !           680: welcome.msg and goodbye.msg (both for telnet), capa.config, HWTop, (QuizTop,
        !           681: ExamTop), and classl
        !           682: 
        !           683: Be certain to retain the exact character spacing in the classl file.
        !           684: 
        !           685: 4.) Check to be certain the owner of the /home/instructor/CAPA51/classname 
        !           686: directory, sub-directories and files is "instructor" with group membership 
        !           687: "cai" (or whatever the correct group is).
        !           688: 
        !           689: 5.)  Once you have created your problem sets, your course is ready for 
        !           690: telnet access.  That is, if you chose to enable the telnet interface.
        !           691: 
        !           692: 		  ------------------------------------------
        !           693: 
        !           694: Setting up WWW access for this same course:
        !           695: 
        !           696: 1.)  Edit /home/teacher/PublicWeb/CAPA/capa-bin/class.conf by 
        !           697: adding the new class.  Example:
        !           698: 
        !           699: classname  /home/instructor/CAPA51  instructor {class getid emailid}
        !           700: 
        !           701: 2.)  Make certain a copy of capa.config exists in the "classname"
        !           702: directory.  Also double check the ownership and group membership of
        !           703: the classname file and all of its sub-directories and files have the
        !           704: appropriate owner and group membership.
        !           705: 
        !           706: 3.)  The instructions above were for using CAPA for homework.  If you
        !           707: want to use CAPA for quizzes, exams, etc. then read the next section.
        !           708: 
        !           709: 4.)  Edit the paths and printing configuration section in the capa.config
        !           710: file.  Edit the dept_name, etc in the HWTop (QuizTop and ExamTop).  Also
        !           711: edit the classl file, making sure the instructor and TAs all belong to
        !           712: the admin_section(s) (see capa.config file and edit admin_section if 
        !           713: appropriate).
        !           714: 
        !           715: Your "classname" class is now ready to use for homework.
        !           716: 
        !           717: --------------------------------------------------------------------------------
        !           718: 
        !           719: ADDING ACCESS FOR QUIZZES, EXAMS, EXAM PARTIAL CREDIT, ETC.
        !           720: 
        !           721: 1.)  Quiz, exam, and other access are added as separate "classes".  
        !           722: You may choose to name them similar to the convention of the 
        !           723: demonstration "classes" nsc131s0 (homework), qns131s0 (quizzes),
        !           724: xns131s0 (exams), and xpc131s0 (exam partial credit).  
        !           725: 
        !           726: 2.)  To use CAPA for more than just homework, install your quiz,
        !           727: exam, etc. directories using the instructions above but use the
        !           728: appropriate skeleton directory (skeletonQuiz, skeletonExam).  For 
        !           729: supplementary course work, such as exam partial credit, then just 
        !           730: use the skeleton directory.  Follow the guidelines below when 
        !           731: setting up web access in the class.conf file.  
        !           732: 
        !           733: 2.)  Below are some guidelines assuming you are using the entirety
        !           734: of CAPA by adding quiz, exam, partial credit (supplemental), and other
        !           735: access for a physics class PHY 123:
        !           736: 
        !           737:      qph123s0:  Enable telnet if you do so and allow class.html
        !           738: 		access only.  This gives you the option of giving
        !           739: 		take-home quizzes, but the students cannot use
        !           740: 		emailid.html or getid.html, they must get their
        !           741: 		CAPA ID in class.  In the capa.config file, you
        !           742: 		would enter the following:
        !           743: 
        !           744: 		qph123s0  /home/instructor/CAPA51  instructor {class}
        !           745: 
        !           746:      xph123s0:  Do not enable access through telnet or web interface.
        !           747:  		If you do want telnet or web access, please be careful
        !           748: 		to protect you exams by setting the correct open and
        !           749: 		due dates and it is highly recommended that you do
        !           750: 		NOT allow the students to retrieve their ID for further
        !           751: 		protection.  Consult the Manual about due dates.
        !           752: 
        !           753:      xpc123s0:  You have the option in CAPA to allow students to take
        !           754: 		the exam again at home and apply those points to their
        !           755: 	        exam score as partial credit.  Set up similiar to quizzes
        !           756: 		and BE CAREFUL about open dates and due dates to protect
        !           757:   		your exam.
        !           758: 
        !           759:      oph123s0:  Use this for whatever you wish, such as supplemental homework.
        !           760: 
        !           761: 3.)  Edit the paths in the capa.config file in each of the classname 
        !           762: directories.  Edit the dept_name, etc. in the HWTop (QuizTop and ExamTop). 
        !           763: Also edit the classl file, making sure the instructor and TAs all belong to the 
        !           764: admin_section(s) (see capa.config file and edit admin_section if appropriate).
        !           765: 
        !           766: --------------------------------------------------------------------------------
        !           767: 
        !           768: 
        !           769: 
        !           770: 
        !           771: 
        !           772: 
        !           773: 
        !           774: 
        !           775: 

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