Setting Up CAPA v. 5.1.5 For First Time Users: ------------------------------------------------------------------------------- READ ALL INSTRUCTIONS BEFORE PRECEDING WITH THE INSTALLATION. Please go to http://capa.msu.edu/mailman and subscribe to the CAPA Announce email list. Anyone interested in receiving CAPA updates and announcements can add himself or herself to the list. Please notify all instructors and technical staff that will work with CAPA about adding themselves to the list. The following installation instructions assume that whoever is installing the CAPA system already has some knowledge of their operating system and is familiar with Unix commands such as the following: cd, chown, chmod and setting permissions, compress/uncompress, cp, ln, lpr, ls, mkdir, pwd, rm, su, tar, and the vi editor. In order to complete the installation, you will need to have Perl, Ghostscript, TeTex, and a webserver (e.g. Apache) installed on your machine (all of which can be obtained for free). You should know where those applications are located and where the web server's configuration files are located (particularly srm.conf). You should also be familiar with killing and restarting your web daemon. You will notice lists of files in these instructions to compare your permissions with. Depending on your operating system, many of your file sizes may differ with the ones given in these instructions. Please do not be concerned by this. ------------------------------------------------------------------------------- INITIAL SETUP 1.) Create the user "teacher" with group membership "cai". If you are unfamiliar with adding new users and groups to your system, then use the instructions below. Adding new users can be accomplished in one of two ways. Both require you to login as root first. a.) Most systems have an "adduser" utility of one form or another, normally located in the directory /usr/sbin. To use this utility, login as root, cd to /usr/sbin and enter the command "adduser" (or "useradd" depending on your system). You will be prompted for information regarding the user. For Solaris and Digital Unix, you will be asked to specify the user name (teacher), the UID (normally the default value), the full name (enter what you like here), the login group (we use "cai" which stands for Computer Aided Instruction), a secondary group (we usually leave this blank), a parent directory (depends upon your system), a login shell (this is a preference item, here we use /bin/tcsh), and an initial password. If you are asked if you want to edit an authority file, etc., answer no. The Linux adduser utility requires you to enter the command as "adduser teacher" or "useradd teacher". This utility automatically creates the directories and groups. The Debian version prompts the administrator for the full name, office number, phone number, etc. You may choose to enter only the full name and leave the other information blank. If you wish to have something other than the Bourne-Again SHell as the login shell, you will need to manually edit the /etc/passwd file once you have created the user. You will also need to manually change the group ID number for teacher to have group membership "cai" using the vipw command. Then use the command "chgrp -R" or "chown -R" to recursively change the group membership of the "teacher" home directory. NOTE: In most cases you will be asked if you want to add the new group "cai" when you specify it for the new user "teacher". Otherwise, if you want to use the group "cai" you will have to create it using "addgroup" (or "groupadd" for some systems). b.) For all systems, you can manually add users by creating an entry in the /etc/passwd file in the correct format using the vipw command. Consult entries already present in /etc/passwd or a book on Unix system administration if you are going to manually create your users. If you manually add your users, you will also need to make the appropriate entries in /etc/group and manually create the home directory for the user. 2.) Login as teacher and create a directory under the teacher account called CAPA51. This directory should now be owned by "teacher" and have group membership "cai". drwxr-xr-x 6 teacher cai 1024 Jul 17 14:03 CAPA51 ------------------------------------------------------------------------------- SETTING UP THE INSTRUCTOR INTERFACE AND OPTIONAL TELNET STUDENT INTERFACE You have the option to install the telnet version of the CAPA interface. It responds much quicker than the web, especially with a slow modem. If you decide not to enable this feature then skip steps 5 and 6. Please note that in the following instructions, it is assumed that the teacher directory is in /home. This may not be the case with your machine (e.g. /usr/users, /home2, etc.). You may want to make note of this as you read through these instructions prior to installation. 1.) Become root and copy or move the DIST51 directory to the teacher home directory. Recursively change the ownership of the DIST51 directory to teacher with group membership cai. >chown -R teacher:cai DIST51 2.) We first need to link up the binaries to use the instructor interface of CAPA. Login as root. Change directory to /usr/local/bin (or /usr/bin, or whatever will be the default in your users "path"). Symbolically link the binaries contained with the distribution by entering the commands: > cd /usr/local/bin > ln -s /home/teacher/DIST51/LinkToBin/quizzer . > ln -s /home/teacher/DIST51/LinkToBin/grader . > ln -s /home/teacher/DIST51/LinkToBin/manager . > ln -s /home/teacher/DIST51/LinkToBin/qzparse . > ln -s /home/teacher/DIST51/LinkToBin/allcapaid . > ln -s /home/teacher/DIST51/LinkToBin/answers . 3.) Check that all of the binaries in /home/teacher/DIST51/LinkToBin have executable permissions as shown below: >cd /home teacher/DIST51/LinkToBin >ls -l -rwxr-xr-x 1 teacher cai 485095 Jul 17 14:35 allcapaid -rwxr-xr-x 1 teacher cai 505454 Jul 17 14:35 answers -rwxr-xr-x 1 teacher cai 2126685 Jul 17 14:35 grader -rwxr-xr-x 1 teacher cai 2267429 Jul 17 14:35 manager -rwxr-xr-x 1 teacher cai 2191991 Jul 17 14:35 quizzer -rwxr-xr-x 1 teacher cai 488366 Jul 17 14:35 qzparse 4.) Now link up the demonstration library in the root directory. To do this, login as root, change to the root directory (cd /) and enter: > ln -s /home/teacher/DIST51/demolibrary demolibrary Check that the demolibrary in the DIST51 folder is owned by "teacher" and has group membership "cai". 5.) *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE* Login as "teacher" and copy the file "capalogin" from the directory DIST51/PutInCAPA51 into the directory /home/teacher/CAPA51. Check to make sure your permissions match the following: -rwsr-xr-x 1 teacher cai 585097 Jul 17 15:03 capalogin Make certain that capalogin is set UID mode (there is an "s" instead of an "x" in the user's permissions). If not enter the following: > chmod u+s capalogin 6.) *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE* For each class that telnet is enabled for, it is added as a user to the system without a password. The security of the system is maintained by using capalogin as the login shell. To set up the demonstration class, become root then use the adduser utility to create the user "nsc131s0". Enter the group id the same as the instructor (cai), the home directory to be /home/teacher/CAPA51/nsc131s0, and the login shell to be /home/teacher/CAPA51/capalogin. When you are prompted to enter an initial password, hit return. You then need to edit the /etc/passwd file with the vipw command to remove the "Nologin" field. (You may also need to edit the file /etc/shadow if your system uses shadow passwords.) For Linux systems, you will need to create the user, edit /etc/passwd to remove the password field, change the group id number, change the home directory and change the login shell. You will not be prompted for these within the utility. Make certain the group id number is the same as the instructor account. Editing the passwd file is done by becoming root using the vipw command. (You may also need to edit the file /etc/shadow if your system uses shadow passwords.) Finally, you must delete the directory created by the adduser utility, for example: >rm -rf /home/nsc131s0 Depending on your system, you may not be allowed to add a user without a password using the adduser utility. If this is the case, you will need to manually add the user with the vipw command. Repeat the steps above for qns131s0 and xpc131s0 (do not add xns131s0 as a user). The correct class entries in /etc/passwd are given below: (The paths to the home directory and login shell may differ for your system.) nsc131s0::1004:103:Demonstration Class - Homework:/home/teacher/CAPA51/nsc131s0: /home/teacher/CAPA51/capalogin qns131s0::1005:103:Demonstration Class - Quizzes:/home/teacher/CAPA51/qsc131s0:/ home/teacher/CAPA51/capalogin xpc131s0::1006:103:Demonstration Class - Exam Partial Credit:/home/teacher/CAPA5 1/xpc131s0:/home/teacher/CAPA51/capalogin 7.) Login as teacher and create the class called nsc131s0 in teacher's CAPA51 directory. > cd CAPA51 > cp -R /home/teacher/DIST51/PutInCAPA51/nsc131s0 nsc131s0 Then, check to be certain the owner of the nsc131s0 directory is "teacher" with group membership "cai". Repeat this step using the qns131s0, xns131s0, and xpc131s0 directories. 8.) Make certain a directory named "records" exists in each of the class directories (e.g. /home/teacher/CAPA51/nsc131s0/records). Also, make certain the ownership of all sub-directories and files is "teacher" with group membership "cai". It is a good idea to check your permission with the ones below. > cd nsc131s0 > ls -lag total 94 drwxr-x--x 3 teacher cai 1024 Jul 17 15:37 . drwxr-xr-x 9 teacher cai 1024 Jul 17 15:37 .. -rw-r--r-- 1 teacher cai 969 Jul 17 15:37 HWTop -rw-r--r-- 1 teacher cai 1326 Jul 17 15:37 QuizTop -rw-r--r-- 1 teacher cai 15 Jul 17 15:37 TeXfooter -rw-r--r-- 1 teacher cai 777 Jul 17 15:37 TeXheader -rw-r--r-- 1 teacher cai 11418 Jul 17 15:37 capa.config -rw-r--r-- 1 teacher cai 1388 Jul 17 15:37 classl -rw-r--r-- 1 teacher cai 68 Jul 17 15:37 goodbye.msg -rw-r--r-- 1 teacher cai 720 Jul 17 15:37 help.msg -rw-r--r-- 1 teacher cai 447 Jul 17 15:37 mail.txt -rw-r--r-- 1 teacher cai 1529 Jul 17 15:37 managermail.txt drwxr-xr-x 2 teacher cai 1024 Jul 17 15:37 records -rw-r--r-- 1 teacher cai 356 Jul 17 15:37 second-login.msg -rwxr--r-- 1 teacher cai 4870 Jul 17 15:37 set1.qz -rw-r--r-- 1 teacher cai 2808 Jul 17 15:37 set10.qz -rw-r--r-- 1 teacher cai 1933 Jul 17 15:37 set11.qz -rw-r--r-- 1 teacher cai 1824 Jul 17 15:37 set12.qz -rw-r--r-- 1 teacher cai 10114 Jul 17 15:37 set13.qz -rw-r--r-- 1 teacher cai 3969 Jul 17 15:37 set14.qz -rw-r--r-- 1 teacher cai 3684 Jul 17 15:37 set15.qz -rw-r--r-- 1 teacher cai 1935 Jul 17 15:37 set16.qz -rw-r--r-- 1 teacher cai 1454 Jul 17 15:37 set17.qz -rw-r--r-- 1 teacher cai 1551 Jul 17 15:37 set2.qz -rw-r--r-- 1 teacher cai 7138 Jul 17 15:37 set3.qz -rw-r--r-- 1 teacher cai 2561 Jul 17 15:37 set4.qz -rw-r--r-- 1 teacher cai 2106 Jul 17 15:37 set5.qz -rw-r--r-- 1 teacher cai 2826 Jul 17 15:37 set6.qz -rw-r--r-- 1 teacher cai 1617 Jul 17 15:37 set7.qz -rw-r--r-- 1 teacher cai 6197 Jul 17 15:37 set8.qz -rw-r--r-- 1 teacher cai 2751 Jul 17 15:37 11:05 set9.qz -rw-r--r-- 1 teacher cai 293 Jul 17 15:37 third-login.msg -rw-r--r-- 1 teacher cai 151 Jul 17 15:37 welcome.msg >cd records >ls -lag total 36 drwxr-xr-x 2 teacher cai 1024 Jul 17 15:37 . drwxr-x--x 3 teacher cai 1024 Jul 17 15:37 .. -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date1.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date10.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date11.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date12.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date13.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date14.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date15.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date16.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date17.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date2.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date3.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date4.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date5.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date6.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date7.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date8.db -rw-r--r-- 1 teacher cai 74 Jul 17 15:37 date9.db -rw-r--r-- 1 teacher cai 51 Jul 17 15:37 set1.db -rw-r--r-- 1 teacher cai 25 Jul 17 15:37 set10.db -rw-r--r-- 1 teacher cai 14 Jul 17 15:37 set11.db -rw-r--r-- 1 teacher cai 8 Jul 17 15:37 set12.db -rw-r--r-- 1 teacher cai 119 Jul 17 15:37 set13.db -rw-r--r-- 1 teacher cai 39 Jul 17 15:37 set14.db -rw-r--r-- 1 teacher cai 39 Jul 17 15:37 set15.db -rw-r--r-- 1 teacher cai 8 Jul 17 15:37 set16.db -rw-r--r-- 1 teacher cai 6 Jul 17 15:37 set17.db -rw-r--r-- 1 teacher cai 10 Jul 17 15:37 set2.db -rw-r--r-- 1 teacher cai 6 Jul 17 15:37 set3.db -rw-r--r-- 1 teacher cai 12 Jul 17 15:37 set4.db -rw-r--r-- 1 teacher cai 16 Jul 17 15:37 set5.db -rw-r--r-- 1 teacher cai 22 Jul 17 15:37 set6.db -rw-r--r-- 1 teacher cai 8 Jul 17 15:37 set7.db -rw-r--r-- 1 teacher cai 77 Jul 17 15:37 set8.db -rw-r--r-- 1 teacher cai 8 Jul 17 15:37 set9.db 9.) The CAPA system needs to access the files just installed in the teacher home directory. Make sure this directory has both group and world r-x privledges. drwxr-xr-x 6 teacher cai 1024 Jul 17 13:43 teacher You will have similar files in the qns131s0, xns131s0, and xpc131s0 directories with the same permissions. Check those also. The utilities for running CAPA with telnet sessions are now completely installed. ------------------------------------------------------------------------------- SETTING UP THE WEB VERSION OF THE CAPA INTERFACE 1.) Login in as teacher. Remember, it is assumed that the teacher directory is in /home which may not be the case for your machine. 2.) Copy the directory /home/teacher/DIST51/CopyToPublicWeb to /home/teacher/PublicWeb. This directory should be owned by user "teacher" and have group membership "cai". > cp -Rd /home/teacher/DIST51/CopyToPublicWeb /home/teacher/PublicWeb 3.) Create the html files for the web interface with system links to the webpage program to class.html, emailid.html, and getid.html. > cd /home/teacher/PublicWeb/CAPA/capa-bin > ln -s webpage class.html > ln -s webpage emailid.html > ln -s webpage getid.html 4.) Recursively check that all the files in the PublicWeb directory are owned by "teacher" and have group membership "cai". Your permissions for the files in the PublicWeb/CAPA directory should look like the following: > cd /home/teacher/PublicWeb/CAPA > ls -l -rw-r--r-- 1 teacher cai 5935 Jul 17 15:51 ExmPanel.class -rw-r--r-- 1 teacher cai 4780 Jul 17 15:51 ExpPanel.class -rw-r--r-- 1 teacher cai 3537 Jul 17 15:51 GLabel.class drwxr-xr-x 2 teacher cai 1024 Jul 17 15:51 Icons -rw-r--r-- 1 teacher cai 5817 Jul 17 15:51 TScore.class drwxr-xr-x 3 teacher cai 1024 Jul 17 15:51 capa-bin -rw-r--r-- 1 teacher cai 3772 Jul 17 15:51 help.html Your permissions for the files in PublicWeb/CAPA/capa-bin should like the following: > cd capa-bin > ls -l -rw-r--r-- 1 teacher cai 33363 Jul 17 15:51 capadiscuss_html -rws--x--x 1 teacher cai 519680 Jul 17 15:51 capahtml -rw-r--r-- 1 teacher cai 223 Jul 17 15:51 class.conf lrwxrwxrwx 1 teacher cai 7 Jul 17 15:51 class.html -> webpage lrwxrwxrwx 1 teacher cai 7 Jul 17 15:51 email.html -> webpage lrwxrwxrwx 1 teacher cai 7 Jul 17 15:51 getid.html -> webpage drwxr-xr-x 2 teacher cai 1024 Jul 17 15:51 teacher -rw-r--r-- 1 teacher cai 4460 Jul 17 15:51 web.settings -rws--x--x 1 teacher cai 1141535 Jul 17 15:51 webpage If your permissions do not match the ones above, change them so they do. > chmod u+s capahtml > chmod u+s webpage 5.) You may later see files called web_access.log and ids.log in the capa-bin directory. These files are automatically generated by the CAPA software. 6.) Edit /home/teacher/PublicWeb/CAPA/capa-bin/web.settings Change the first line: set machine capa2.nscl.msu.edu To read: set machine your.machine.name 7.) Edit the file /home/teacher/PublicWeb/CAPA/capa-bin/class.conf if the CAPA51 directory is somewhere other than /home/teacher. For example, if CAPA51 is in /usr/users/teacher instead of /home/teacher, change: nsc131s0 /home/teacher/CAPA51 teacher {class getid emailid} to: nsc131s0 /usr/users/teacher/CAPA51 teacher {class getid emailid} Do this for all three lines. 8.) Check to be certain there is a directory /home/teacher/PublicWeb/CAPA/capa-bin/teacher. Make certain the files capasbin and capadiscuss are located there, owned by teacher, and a member of the cai group. Also, double check that the capasbin file has executable, set UID permission (there is an "s" instead of an "x" in the user's permissions). Example: -rwxr-xr-x 1 teacher cai 23453 Jul 17 15:51 capadiscuss -rwsr-xr-x 1 teacher cai 519680 Jul 17 15:51 capasbin If not, then enter: > chmod u+s capasbin (NOTE: Do not be alarmed if you see the CAPA generated web_access.log file in this directory also.) 9.) Double check ownership and permissions in the PublicWeb directory again. 10.) Create a directory under teacher called Public. Change directories into the new Public directory and create another directory name demolibrary. In Public/demolibrary/ create symbolic links to the Graphics and Links directories: > cd /home/teacher/Public/demolibrary > ln -s /demolibrary/Graphics Graphics > ln -s /demolibrary/Links Links 11.) When finished you should have the following directory structure: > pwd /home/teacher/Public > ls -l total 1 drwxr-xr-x 2 teacher cai 1024 Jul 17 16:03 demolibrary > cd demolibrary > ls -l total 0 lrwxrwxrwx 1 teacher cai 41 Jul 17 16:03 Graphics -> /demolibrary/Graphics lrwxrwxrwx 1 teacher cai 38 Jul 17 16:03 Links -> /demolibrary/Links 12.) Login as root, find the srm.conf file of your web server and edit this file by making the following changes: a.) Add the following lines: Redirect /CAPA/index.html http://your.machine/capa-bin/class.html Redirect /CAPA/class.html http://your.machine/capa-bin/class.html Redirect /CAPA/getid.html http://your.machine/capa-bin/getid.html Redirect /CAPA/emailid.html http://your.machine/capa-bin/emailid.html Alias /CAPA/ /home/teacher/PublicWeb/CAPA/ Alias /demolibrary/ /home/teacher/Public/demolibrary/ ScriptAlias /capa-bin/ /home/teacher/PublicWeb/CAPA/capa-bin/ Do not be concerned if you webserver's comments suggest using another file and leaving the srm.conf file blank. b.) If your machine is dedicated only to CAPA, you may choose to add the following lines to the srm.conf file also: ErrorDocument 403 /capa-bin/class.html ErrorDocument 404 /capa-bin/class.html This way invalid and forbidden URL's are redirected back to the class.html page instead of receiving an error message. This will also allow one to enter just the machine name for the URL and get to the web login page. c.) If your machine is dedicated only to CAPA, you may want to change the following line: DocumentRoot /some/other/document/root to the following: Document Root /home/teacher/PublicWeb/CAPA Make sure to change the document root in other configuration files, such as httpd.conf and access.conf, if you plan to do this. This line might only be located in the httpd.conf file. Carefully search through the webserver's configuration files and change any lines which have directory names that should match the DocumentRoot. THE COMMENTS IN THE CONFIGURATION FILES WILL CLEARLY STATE IF SUCH A CHANGE IS TO BE MADE. 13.) If the webserver is not owned by teacher, make sure the owner of the webserver can write to the capa-bin directory. One way of doing this is to make the capa-bin directory group writable and give the owner of the webserver membership in the group "cai". 14.) Kill and restart your web daemon. 15.) Students will now be able to access the capa homework via telnet to your.machine.name and via netscape at the URL: http://your.machine.name/capa-bin/class.html if redirected correctly: http://your.machine.name/CAPA/class.html http://your.machine.name/CAPA/index.html http://your.machine.name/CAPA/ and if you opted to add the change in step 12b: http://your.machine.name Students can get a CAPAID with a CAPA ID from a previous problem set at http://your.machine.name/capa-bin/getid.html or http://your.machine.name/CAPA/getid.html Students can also have a CAPAID emailed to them without a previous ID from http://your.machine.name/capa-bin/emailid.html or http://your.machine.name/CAPA/emailid.html without a previous CAPA ID. ------------------------------------------------------------------------------- FINAL INSTRUCTIONS 1.) Modify /demolibrary/Tools/StdMacros Replace the line /LET machine_name="capa2.nscl.msu.edu" // needed for labeling tools With /LET machine_name="your.machine.name" // needed for labeling tools 2.) Double check to be certain the ownership and group membership for each of the files and subdirectories under the teacher account consistently have "teacher" as owner and "cai" as group. Also double check that the demolibrary directory in /home/teacher/DIST51 is owned by "teacher" and has group membership "cai". 3.) Make sure that the user teacher, the owner of the webserver, and root have the commands allcapaid, perl and gs (ghostscript command) in their path. You can check this by using the which command. If it is in the user's path, you will then be shown where the directory for the command is located. For example: > which perl /usr/bin/perl 4.) If teacher is somewhere other than /home, then you need to edit the capa.config files in the nsc131s0, qns131s0, xns131s0, and xpc131s0 directories. Change the following lines to refer to the correct path: quiz_path = /home/teacher/CAPA51/qns131s0 exam_path = /home/teacher/CAPA51/xns131s0 supp_path = /home/teacher/CAPA51/xpc131s0 . . . correction_path = /home/teacher/CAPA51/xpc131s0 5.) In each of the capa.config files (DIST51/PutInCAPA51/nsc131s0/capa.config, ..., ...skeleton/capa.config, etc. and /home/teacher/CAPA51/nsc131s0, etc.) edit the print commands to match the ones that you use from your server where CAPA is installed. The comments in the printing configuration section of the capa.config file will direct you how to make these changes. Also, edit the line: capa_server = your.machine.name In the "Extrapolate Scores Applet" section to read the name of your capa server in each of the capa.config files. 6.) Print the Manual. 7.) Take a look at the sets in nsc131s0. In particular sets 3-17 (a detailed list of the templates). 8.) Read the READMEsecurity.txt file. 9.) Make sure that the owner of the web server has /usr/local/bin as its path or the discuss page will not work properly. If you have trouble changing the owner of the web server's path, put a symbolic link to /usr/local/bin/allcapaid in /usr/bin: su - cd /usr/bin ln -s /usr/local/bin/allcapaid . ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- CONTACT INFORMATION If you have any questions or problems with getting CAPA installed and running, contact the following: Felicia Berryman CAPA Coordinator Michigan State University capa@capa.msu.edu ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ADDING ADDITIONAL USERS 1.) Add the new user to your system with group membership cai. If you are unsure about doing this, follow the same instructions outlined in the "INITIAL SETUP" section except use the new user's name instead of "teacher" (and the new group's name if the new instructor to be added to the CAPA system should be in a different group other than "cai"). 2.) Login as root and add a directory to the capa-bin directory with the same name as the new instructor's user name. For example: > mkdir /home/teacher/PublicWeb/CAPA/capa-bin/instructor-name 3.) Copy the files capasbin and capadiscuss from teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher into the new instructor-name directory. For example: > cd /home/teacher/PublicWeb/CAPA/capa-bin/instructor-name > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capasbin . > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capadiscuss . 4.) Change the ownership of the instructor-name directory and all of its files to the appropriate user ("instructor-name") and group (i.e. "cai"). > cd /home/teacher/PublicWeb/CAPA/capa-bin > chown -R instructor-name:cai instructor-name 5.) Make sure that the permissions for the the capasbin and capadiscuss files are executable and that capasbin is set UID mode (there is an "s" instead of an "x" in the owner's permissions). If not, enter the following: > chmod 755 capasbin capadiscuss > chmod u+s capasbin > ls -l -rwxr-xr-x 1 instructor cai 23453 Mar 16 11:15 capadiscuss -rwsr-xr-x 1 instructor cai 843150 Mar 16 11:15 capasbin 6.) Finally, double check that the instructor owns his/her directory in the capa-bin directory and that the instructor's capasbin and capadiscuss have the correct ownership and permissions. ------------------------------------------------------------------------------- ADDING ADDITIONAL CLASSES Once an instructor account is created, you can add classes to the system as needed. Below we call the owner of the class "instructor" and the class "classname". Your class's name should be 8 characters max if you will be using the telnet interface. We name our classes names such as phy183s0 (physics 183, spring semester, 2000) and cem142f0 (chemistry 142, fall semester, 2000). If you chose not to enable the telnet interface, then skip steps 1 and 2 below. 1.) *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE* Use the adduser utility to create the user "classname". For Digital Unix and Solaris operating systems: a.) Login as root b.) Change directory to /usr/sbin c.) Type the command "adduser". You will be prompted for information. -Make certain the user "classname" is a member of the same group as the instructor. -Use /home/instructor/CAPA51 as the parent directory and /home/instructor/CAPA51/capalogin as the login shell. -Do not add a password. d.) Remove the system created classname directory. (Your absolute path may differ from /home.) >rm -rf /home/instructor/CAPA51/classname For Linux operating systems: a.) Login as root b.) change directory to /usr/sbin c.) Type the command "adduser classname". (or "useradd classname" depending on your system) d.) If prompted for a password, do not add one. e.) Delete the directory created by the adduser utility. (Your absolute path may differ from /home.) >rm -rf /home/classname NOTE: Depending on your system, you may not be allowed to add a user without a password. In that case, you will have to add the user manually using the vipw command. 2.) *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE* Edit the password file. For Digital Unix and Solaris operating systems: a.) Edit the entry for "classname" in the /etc/passwd file with the vipw command. -remove the encrypted password field (or the field "NoLogin"). (You may need to also edit the /etc/shadow file if using shadow passwords.) -Check to be certain the home directory and login shell are correct. b.) A sample /etc/passwd entry is given below: phy123s0::1007:103:Intro Physics I:/home/instructor/CAPA51/phy123s0:/home/instru ctor/CAPA51/capalogin For Linux operating systems: a.) Edit the entry for "classname" in the /etc/passwd file. -Remove the encrypted password field (or the field "NoLogin"). (You may need to also edit the /etc/shadow file if using shadow passwords.) -Change the group id number to match the group id number in the instructor's account -Change the home directory to /home/instructor/CAPA51/classname -Change the login shell to /home/instructor/CAPA51/capalogin b.) A sample /etc/passwd entry is given below: phy123s0::1007:103:Intro Physics I:/home/instructor/CAPA51/phy123s0:/home/instru ctor/CAPA51/capalogin 3.) Make the classname directory. Login as the "classname" owner, copy the contents of /home/teacher/DIST51/PutInCAPA/skeleton into the new class directory. > cd /home/instructor/CAPA51 > cp -R /home/teacher/DIST51/PutInCAPA51/skeleton classname Make certain there is a classname/records directory present. The following are a few files you might want to edit to tailor to your particular course: welcome.msg and goodbye.msg (both for telnet), capa.config, HWTop, (QuizTop, ExamTop), and classl Be certain to retain the exact character spacing in the classl file. 4.) Check to be certain the owner of the /home/instructor/CAPA51/classname directory, sub-directories and files is "instructor" with group membership "cai" (or whatever the correct group is). 5.) Once you have created your problem sets, your course is ready for telnet access. That is, if you chose to enable the telnet interface. ------------------------------------------ Setting up WWW access for this same course: 1.) Edit /home/teacher/PublicWeb/CAPA/capa-bin/class.conf by adding the new class. Example: classname /home/instructor/CAPA51 instructor {class getid emailid} 2.) Make certain a copy of capa.config exists in the "classname" directory. Also double check the ownership and group membership of the classname file and all of its sub-directories and files have the appropriate owner and group membership. 3.) The instructions above were for using CAPA for homework. If you want to use CAPA for quizzes, exams, etc. then read the next section. 4.) Edit the paths and printing configuration section in the capa.config file. Edit the dept_name, etc in the HWTop (QuizTop and ExamTop). Also edit the classl file, making sure the instructor and TAs all belong to the admin_section(s) (see capa.config file and edit admin_section if appropriate). Your "classname" class is now ready to use for homework. ------------------------------------------------------------------------------- ADDING ACCESS FOR QUIZZES, EXAMS, EXAM PARTIAL CREDIT, ETC. 1.) Quiz, exam, and other access are added as separate "classes". You may choose to name them similar to the convention of the demonstration "classes" nsc131s0 (homework), qns131s0 (quizzes), xns131s0 (exams), and xpc131s0 (exam partial credit). 2.) To use CAPA for more than just homework, install your quiz, exam, etc. directories using the instructions above but use the appropriate skeleton directory (skeletonQuiz, skeletonExam). For supplementary course work, such as exam partial credit, then just use the skeleton directory. Follow the guidelines below when setting up web access in the class.conf file. 2.) Below are some guidelines assuming you are using the entirety of CAPA by adding quiz, exam, partial credit (supplemental), and other access for a physics class PHY 123: qph123s0: Enable telnet if you do so and allow class.html access only. This gives you the option of giving take-home quizzes, but the students cannot use emailid.html or getid.html, they must get their CAPA ID in class. In the capa.config file, you would enter the following: qph123s0 /home/instructor/CAPA51 instructor {class} xph123s0: Do not enable access through telnet or web interface. If you do want telnet or web access, please be careful to protect you exams by setting the correct open and due dates and it is highly recommended that you do NOT allow the students to retrieve their ID for further protection. Consult the Manual about due dates. xpc123s0: You have the option in CAPA to allow students to take the exam again at home and apply those points to their exam score as partial credit. Set up similiar to quizzes and BE CAREFUL about open dates and due dates to protect your exam. oph123s0: Use this for whatever you wish, such as supplemental homework. 3.) Edit the paths in the capa.config file in each of the classname directories. Edit the dept_name, etc. in the HWTop (QuizTop and ExamTop). Also edit the classl file, making sure the instructor and TAs all belong to the admin_section(s) (see capa.config file and edit admin_section if appropriate). -------------------------------------------------------------------------------