Annotation of capa/capa51/README.txt, revision 1.2
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
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:
298: --------------------------------------------------------------------------------
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:
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
1.2 ! albertel 582: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capasbin .
! 583: > cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capadiscuss .
1.1 albertel 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:
1.2 ! albertel 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: (You may need to also edit the /etc/shadow file if using
! 652: shadow passwords.)
! 653: -Check to be certain the home directory and login shell are
! 654: correct.
! 655: b.) A sample /etc/passwd entry is given below:
1.1 albertel 656:
1.2 ! albertel 657: phy123s0::1007:103:Intro Physics I:/home/instructor/CAPA51/phy123s0:/home/instru
! 658: ctor/CAPA51/capalogin
1.1 albertel 659:
660: For Linux operating systems:
1.2 ! albertel 661: a.) Edit the entry for "classname" in the /etc/passwd file.
! 662: -Remove the encrypted password field (or the field "NoLogin").
! 663: (You may need to also edit the /etc/shadow file if using
! 664: shadow passwords.)
! 665: -Change the group id number to match the group id number in
! 666: the instructor's account
! 667: -Change the home directory to
! 668: /home/instructor/CAPA51/classname
! 669: -Change the login shell to
! 670: /home/instructor/CAPA51/capalogin
! 671: b.) A sample /etc/passwd entry is given below:
! 672:
! 673: phy123s0::1007:103:Intro Physics I:/home/instructor/CAPA51/phy123s0:/home/instru
! 674: ctor/CAPA51/capalogin
1.1 albertel 675:
676: 3.) Make the classname directory. Login as the "classname" owner, copy
677: the contents of /home/teacher/DIST51/PutInCAPA/skeleton into the new class
678: directory.
679: > cd /home/instructor/CAPA51
680: > cp -R /home/teacher/DIST51/PutInCAPA51/skeleton classname
681:
682: Make certain there is a classname/records directory present.
683: The following are a few files you might want to edit to tailor to your
684: particular course:
685:
686: welcome.msg and goodbye.msg (both for telnet), capa.config, HWTop, (QuizTop,
687: ExamTop), and classl
688:
689: Be certain to retain the exact character spacing in the classl file.
690:
691: 4.) Check to be certain the owner of the /home/instructor/CAPA51/classname
692: directory, sub-directories and files is "instructor" with group membership
693: "cai" (or whatever the correct group is).
694:
695: 5.) Once you have created your problem sets, your course is ready for
696: telnet access. That is, if you chose to enable the telnet interface.
697:
698: ------------------------------------------
699:
700: Setting up WWW access for this same course:
701:
702: 1.) Edit /home/teacher/PublicWeb/CAPA/capa-bin/class.conf by
703: adding the new class. Example:
704:
705: classname /home/instructor/CAPA51 instructor {class getid emailid}
706:
707: 2.) Make certain a copy of capa.config exists in the "classname"
708: directory. Also double check the ownership and group membership of
709: the classname file and all of its sub-directories and files have the
710: appropriate owner and group membership.
711:
712: 3.) The instructions above were for using CAPA for homework. If you
713: want to use CAPA for quizzes, exams, etc. then read the next section.
714:
715: 4.) Edit the paths and printing configuration section in the capa.config
716: file. Edit the dept_name, etc in the HWTop (QuizTop and ExamTop). Also
717: edit the classl file, making sure the instructor and TAs all belong to
718: the admin_section(s) (see capa.config file and edit admin_section if
719: appropriate).
720:
721: Your "classname" class is now ready to use for homework.
722:
723: --------------------------------------------------------------------------------
724:
725: ADDING ACCESS FOR QUIZZES, EXAMS, EXAM PARTIAL CREDIT, ETC.
726:
727: 1.) Quiz, exam, and other access are added as separate "classes".
728: You may choose to name them similar to the convention of the
729: demonstration "classes" nsc131s0 (homework), qns131s0 (quizzes),
730: xns131s0 (exams), and xpc131s0 (exam partial credit).
731:
732: 2.) To use CAPA for more than just homework, install your quiz,
733: exam, etc. directories using the instructions above but use the
734: appropriate skeleton directory (skeletonQuiz, skeletonExam). For
735: supplementary course work, such as exam partial credit, then just
736: use the skeleton directory. Follow the guidelines below when
737: setting up web access in the class.conf file.
738:
739: 2.) Below are some guidelines assuming you are using the entirety
740: of CAPA by adding quiz, exam, partial credit (supplemental), and other
741: access for a physics class PHY 123:
742:
743: qph123s0: Enable telnet if you do so and allow class.html
744: access only. This gives you the option of giving
745: take-home quizzes, but the students cannot use
746: emailid.html or getid.html, they must get their
747: CAPA ID in class. In the capa.config file, you
748: would enter the following:
749:
750: qph123s0 /home/instructor/CAPA51 instructor {class}
751:
752: xph123s0: Do not enable access through telnet or web interface.
753: If you do want telnet or web access, please be careful
754: to protect you exams by setting the correct open and
755: due dates and it is highly recommended that you do
756: NOT allow the students to retrieve their ID for further
757: protection. Consult the Manual about due dates.
758:
759: xpc123s0: You have the option in CAPA to allow students to take
760: the exam again at home and apply those points to their
761: exam score as partial credit. Set up similiar to quizzes
762: and BE CAREFUL about open dates and due dates to protect
763: your exam.
764:
765: oph123s0: Use this for whatever you wish, such as supplemental homework.
766:
767: 3.) Edit the paths in the capa.config file in each of the classname
768: directories. Edit the dept_name, etc. in the HWTop (QuizTop and ExamTop).
769: Also edit the classl file, making sure the instructor and TAs all belong to the
770: admin_section(s) (see capa.config file and edit admin_section if appropriate).
771:
772: --------------------------------------------------------------------------------
773:
774:
775:
776:
777:
778:
779:
780:
781:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>