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