Annotation of doc/how_to_domain_coordinator.txt, revision 1.11
1.1 harris41 1: How to make a domain coordinator on
2: a newly installed LON-CAPA system
3:
4: Scott Harrison
5: April 17, 2001
1.4 harris41 6: 05/28/2001
1.1 harris41 7:
1.8 harris41 8: There are 17 steps to this procedure. (Eventually
1.7 harris41 9: this procedure will be replaced with interfaces.
10: Till then, enjoy the UNIX command line.)
11:
12: You need to decide on three pieces of information
13: to create a domain coordinator.
14:
15: * USERNAME (kermit, albert, joe, etc)
16: * DOMAIN (should be the same as lonDefDomain in /etc/httpd/conf/access.conf)
17: * PASSWORD (don't tell me)
18:
19: The examples in these instructions will be based
20: on three example pieces of information:
21: * USERNAME=dc103
22: * DOMAIN=103
23: * PASSWORD=sesame
24:
25: You will also need to know your "root" password
26: and your "www" password.
27:
28: 1. login as root on your Linux system
29: [prompt %] su
30:
31: 2 (as root). add the user
32: Command: [prompt %] /usr/sbin/adduser USERNAME
33: Example: [prompt %] /usr/sbin/adduser dc103
34:
35: 3 (as root). enter in a password
36: Command: [prompt %] passwd USERNAME
37: New UNIX password: PASSWORD
38: Retype new UNIX passwd: PASSWORD
39: Example: [prompt %] passwd dc103
40: New UNIX password: sesame
41: Retype new UNIX passwd: sesame
42:
43: 4 (as root). Make www a member of the new user group.
1.11 ! harris41 44: [This should be updated with the usermod command... the
! 45: instructions for step #4 (this step) are only good
! 46: for non-shadow passwd systems.]
! 47:
1.7 harris41 48: You will need to change 1 line in /etc/group
49: Assuming USERNAME=dc103
50: (your values are different)
1.3 harris41 51: Change this line in /etc/group
52: dc103:x:NUMBER:
53: to be
54: dc103:x:NUMBER:www
1.7 harris41 55:
56: 5. Login as the new user
57: Command: [prompt %] su USERNAME
58: Example: [prompt %] su dc103
59:
1.8 harris41 60: 6 (as USERNAME). Create a public_html directory for the new user.
1.10 harris41 61: (This step does not need to be done. Only if new user will
62: also be an "author" on the system.)
1.7 harris41 63: Command: [prompt %] install -d /home/USERNAME/public_html
64: Example: [prompt %] install -d /home/dc103/public_html
65:
1.8 harris41 66: 7. (as USERNAME). Set permissions for /home/dc103 and /home/dc103/public_html
1.10 harris41 67: # to be readable and writeable by www.
68: # See immediately below for newer instructions:
69: # Command: [prompt %] chmod g+rwx /home/USERNAME
70: # [prompt %] chmod g+rwx /home/USERNAME/public_html
71: # Example: [prompt %] chmod g+rwx /home/dc103
72: # [prompt %] chmod g+rwx /home/dc103/public_html
73: New instructions:
74: (This step does not need to be done. Only if the new user will
75: also be an author on the system.)
76: As root, make /home world executable (chmod a+x /home)
77: As dc103 (or whatever the domain coordinator name is,
78: chmod g+x /home/dc103
79: chmod g+srw /home/dc103/public_html
1.7 harris41 80:
1.8 harris41 81: 8. login as user=www
1.7 harris41 82: Command: [prompt %] su www
83: Password: WWWPASSWORD
84:
1.8 harris41 85: 9. (as www). cd /home/httpd/lonUsers
1.7 harris41 86:
1.8 harris41 87: 10. (as www) Create user directory for your new user.
1.7 harris41 88: Let U equal first letter of USERNAME
89: Let S equal second letter of USERNAME
90: Let E equal third letter of USERNAME
91: Command: [prompt %] install -d DOMAIN/U/S/E/USERNAME
92: Example: [prompt %] install -d 103/d/c/1/dc103
93:
1.8 harris41 94: 11. (as www) Enter the newly created user directory.
1.7 harris41 95: Command: [prompt %] cd DOMAIN/U/S/E/USERNAME
96: Example: [prompt %] cd 103/d/c/1/dc103
97:
1.8 harris41 98: 12. (as www). Set your password mechanism to 'unix'
1.7 harris41 99: Command: [prompt %] echo "unix:" > passwd
100:
1.8 harris41 101: 13. (as www). Create and run the following script with the arguments
1.9 harris41 102: Create the file described below "script.pl" or whatever name you want
103: (it is in CVS:loncapa/doc/rolesmanip.pl).
1.7 harris41 104:
105: Command: [prompt %] perl script.pl DOMAIN USERNAME
106: Example: [prompt %] perl script.pl 103 dc103
1.1 harris41 107:
108: #!/usr/bin/perl
109:
110: # quick temporary script
111: # brought up-to-date by Scott Harrison, 03/01/2001
112:
113:
114: print "Usage: rolesmanip.pl DOMAIN USERNAME\n" unless @ARGV;
115:
116: my $domain=shift @ARGV;
117: my $name=shift @ARGV;
118:
119: my ($l1,$l2,$l3)=split(//,substr($name,0,3));
120:
121: use GDBM_File;
122: my %hash;
123: tie(%hash,'GDBM_File',
124: "/home/httpd/lonUsers/$domain/$l1/$l2/$l3/$name/roles.db",
125: &GDBM_WRCREAT,0640);
126:
127: $hash{'/'.$domain.'/_dc'}='dc';
128: open OUT, ">/home/httpd/lonUsers/$domain/$l1/$l2/$l3/$name/roles.hist";
129: map {
130: print OUT $_.' : '.$hash{$_}."\n";
131: } keys %hash;
132: close OUT;
133:
134: untie %hash;
1.7 harris41 135:
1.8 harris41 136: 14. login as root
1.7 harris41 137: Command: [prompt %] su
138:
1.8 harris41 139: 15. Restart the lon processes (/etc/rc.d/init.d/loncontrol restart)
140: 16. Restart the httpd processes (/etc/rc.d/init.d/httpd restart)
141: 17. You may further define the domain coordinator user (i.e. dc103)
1.5 harris41 142: by going to http://MACHINENAME/adm/createuser.
143:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>