version 1.23, 2002/12/09 21:27:36
|
version 1.31, 2004/06/01 15:55:00
|
Line 1
|
Line 1
|
<!-- updatequery.piml --> |
<!-- updatequery.piml --> |
<!-- Scott Harrison --> |
|
|
|
<!-- $Id$ --> |
<!-- $Id$ --> |
|
|
Line 58 unless (-l "<TARGET />") {
|
Line 57 unless (-l "<TARGET />") {
|
print(<<END); |
print(<<END); |
|
|
=============================================================================== |
=============================================================================== |
What hosts.tab would you like to have installed? |
Which cluster option would you like to have installed? |
(hosts.tab is a listing of all other internet machines |
IMPORTANT: to take advantage of the cluster options 1) and 3), |
that a server system considers to be valid server systems |
you must contact lon-capa\@lon-capa.org. |
on the LON-CAPA network) |
|
|
1) PRODUCTION - you want to eventually connect this machine to the |
1) PRODUCTION - you want to deliver courses today or sometime very soon |
LON-CAPA content sharing network. This setting is for |
on this machine |
schools, colleges, and universities, that currently |
|
are running - or in the future will run - courses |
2) STAND-ALONE - you want this machine to run in 'stand-alone' mode and |
2) STAND-ALONE - you want this machine to run in 'stand-alone' mode and |
not be connected to other LON-CAPA machines for now |
not be connected to other LON-CAPA machines for now |
3) DEVELOPMENT - you want to play with or explore LON-CAPA |
3) DEVELOPMENT - you want to do software (not content!) development with |
4) PRESERVE the existing hosts.tab (/home/httpd/lonTabs/hosts.tab) |
this workstation and eventually link it with the |
|
workstations of other LON-CAPA software developers. |
|
4) PRESERVE the existing hosts.tab and domain.tab |
|
(/home/httpd/lonTabs/hosts.tab and |
|
/home/httpd/lonTabs/domain.tab) |
|
|
END |
END |
# Option number 26 will install rawhide_hosts.tab, but |
# Option number 26 will install rawhide_hosts.tab, but |
Line 102 There is no existing /home/httpd/lonTabs
|
Line 106 There is no existing /home/httpd/lonTabs
|
END |
END |
die(''); |
die(''); |
} |
} |
|
if (-e '/home/httpd/lonTabs/domain.tab') { |
|
`cp /home/httpd/lonTabs/domain.tab ../existing_domain.tab`; |
|
} |
|
else { |
|
print <<END; |
|
There is no existing /home/httpd/lonTabs/domain.tab |
|
END |
|
die(''); |
|
} |
} |
} |
elsif ($choice==26) { |
elsif ($choice==26) { |
$lonCluster='rawhide'; $flag=1; |
$lonCluster='rawhide'; $flag=1; |
Line 115 END
|
Line 128 END
|
<perlscript mode='fg'> |
<perlscript mode='fg'> |
$|=1; |
$|=1; |
my $domainDescription; |
my $domainDescription; |
|
my $domainTabExtras; |
unless (-e "<TARGET />") { |
unless (-e "<TARGET />") { |
print(<<END); |
print(<<END); |
WELCOME TO LON-CAPA! |
WELCOME TO LON-CAPA! |
Line 364 my %perlvar;
|
Line 378 my %perlvar;
|
unless ($perlvar{'lonLoadLim'} and $perlvar{'lonLoadLim'}!~/\{\[\[\[\[/) { |
unless ($perlvar{'lonLoadLim'} and $perlvar{'lonLoadLim'}!~/\{\[\[\[\[/) { |
$perlvar{'lonLoadLim'}='2.00'; |
$perlvar{'lonLoadLim'}='2.00'; |
} |
} |
|
unless ($perlvar{'lonUserLoadLim'} and $perlvar{'lonUserLoadLim'}!~/\{\[\[\[\[/) { |
|
$perlvar{'lonUserLoadLim'}='0'; |
|
} |
unless ($perlvar{'lonExpire'} and $perlvar{'lonExpire'}!~/\{\[\[\[\[/) { |
unless ($perlvar{'lonExpire'} and $perlvar{'lonExpire'}!~/\{\[\[\[\[/) { |
$perlvar{'lonExpire'}='86400'; |
$perlvar{'lonExpire'}='86400'; |
} |
} |
Line 391 END
|
Line 408 END
|
<file> |
<file> |
<target dist='default'>/</target> |
<target dist='default'>/</target> |
<perlscript mode='fg'> |
<perlscript mode='fg'> |
|
sub securesetting { |
|
my (%perlvar)=@_; |
|
my $securestatus='unknown'; |
|
my $securenum=''; |
|
if ( $perlvar{'loncAllowInsecure'}&& $perlvar{'londAllowInsecure'}) { |
|
$securestatus='no'; $securenum='4'; |
|
} elsif ( $perlvar{'loncAllowInsecure'}&& !$perlvar{'londAllowInsecure'}) { |
|
$securestatus='lond'; $securenum='3'; |
|
} elsif (!$perlvar{'loncAllowInsecure'}&& $perlvar{'londAllowInsecure'}) { |
|
$securestatus='lonc'; $securenum='2'; |
|
} elsif (!$perlvar{'loncAllowInsecure'}&& !$perlvar{'londAllowInsecure'}) { |
|
$securestatus='yes (lond and lonc)'; $securenum='1'; |
|
} |
|
return ($securestatus,$securenum); |
|
} |
# read values from loncapa.conf |
# read values from loncapa.conf |
my $confdir='/etc/httpd/conf/'; |
my $confdir='/etc/httpd/conf/'; |
my $filename='loncapa.conf'; |
my $filename='loncapa.conf'; |
my %perlvar; |
my %perlvar; |
|
my ($securestatus,$securenum); |
if (-e "$confdir$filename") { |
if (-e "$confdir$filename") { |
open(CONFIG,'<'.$confdir.$filename) or |
open(CONFIG,'<'.$confdir.$filename) or |
die("Can't read $confdir$filename"); |
die("Can't read $confdir$filename"); |
Line 410 my %perlvar;
|
Line 443 my %perlvar;
|
unless ($perlvar{'lonLoadLim'} and $perlvar{'lonLoadLim'}!~/\{\[\[\[\[/) { |
unless ($perlvar{'lonLoadLim'} and $perlvar{'lonLoadLim'}!~/\{\[\[\[\[/) { |
$perlvar{'lonLoadLim'}='2.00'; |
$perlvar{'lonLoadLim'}='2.00'; |
} |
} |
|
unless ($perlvar{'lonUserLoadLim'} and $perlvar{'lonUserLoadLim'}!~/\{\[\[\[\[/) { |
|
$perlvar{'lonUserLoadLim'}='0'; |
|
} |
unless ($perlvar{'lonExpire'} and $perlvar{'lonExpire'}!~/\{\[\[\[\[/) { |
unless ($perlvar{'lonExpire'} and $perlvar{'lonExpire'}!~/\{\[\[\[\[/) { |
$perlvar{'lonExpire'}='86400'; |
$perlvar{'lonExpire'}='86400'; |
} |
} |
|
unless ($perlvar{'londAllowInsecure'} and $perlvar{'londAllowInsecure'}!~/\{\[\[\[\[/) { |
|
$perlvar{'londAllowInsecure'}='1'; |
|
} |
|
unless ($perlvar{'loncAllowInsecure'} and $perlvar{'loncAllowInsecure'}!~/\{\[\[\[\[/) { |
|
$perlvar{'loncAllowInsecure'}='1'; |
|
} |
|
($securestatus,$securenum)=&securesetting(%perlvar); |
unless ($perlvar{'lonReceipt'} and $perlvar{'lonReceipt'}!~/\{\[\[\[\[/) { |
unless ($perlvar{'lonReceipt'} and $perlvar{'lonReceipt'}!~/\{\[\[\[\[/) { |
my $lonReceipt=''; |
my $lonReceipt=''; |
srand(time ^ $$ ^ unpack "%L*", `ps axww | gzip`); |
srand(time ^ $$ ^ unpack "%L*", `ps axww | gzip`); |
Line 436 my %perlvarstatic;
|
Line 479 my %perlvarstatic;
|
close(CONFIG); |
close(CONFIG); |
} |
} |
if (!$domainDescription && $lonCluster ne 'existing') { |
if (!$domainDescription && $lonCluster ne 'existing') { |
open(IN,'<../'.$lonCluster.'_hosts.tab'); |
open(IN,'<../'.$lonCluster.'_domain.tab'); |
while(<IN>) { |
while(<IN>) { |
if (/^$perlvar{'lonHostID'}\:/) { |
if (/^$perlvar{'lonDefDomain'}\:/) { |
(undef,undef,undef,undef,undef,$domainDescription)=split(/:/,$_); |
(undef,$domainDescription,$domainTabExtras)=split(/:/,$_,3); |
chomp($domainDescription); |
chomp($domainDescription); |
|
chomp($domainTabExtras); |
last; |
last; |
} |
} |
} |
} |
close(IN); |
close(IN); |
} |
} |
if (!$domainDescription) { |
if (!$domainDescription) { |
open(IN,'</home/httpd/lonTabs/hosts.tab'); |
open(IN,'</home/httpd/lonTabs/domain.tab'); |
while(<IN>) { |
while(<IN>) { |
if (/^$perlvar{'lonHostID'}\:/) { |
if (/^$perlvar{'lonDefDomain'}\:/) { |
(undef,undef,undef,undef,undef,$domainDescription)=split(/:/,$_); |
(undef,$domainDescription,$domainTabExtras)=split(/:/,$_,3); |
chomp($domainDescription); |
chomp($domainDescription); |
|
chomp($domainTabExtras); |
last; |
last; |
} |
} |
} |
} |
Line 468 while (!$flag) {
|
Line 513 while (!$flag) {
|
|
|
=============================================================================== |
=============================================================================== |
This is now the current configuration of your machine. |
This is now the current configuration of your machine. |
1) Domain Name: $perlvar{'lonDefDomain'} |
1) Domain Name: $perlvar{'lonDefDomain'} |
2) Domain Description: $domainDescription |
2) Domain Description: $domainDescription |
3) Machine Name: $perlvar{'lonHostID'} |
3) Machine Name: $perlvar{'lonHostID'} |
4) System Administrator's E-mail Address: $perlvar{'lonAdmEMail'} |
4) System Administrator's E-mail Address: $perlvar{'lonAdmEMail'} |
5) Role: $perlvar{'lonRole'} |
5) Role: $perlvar{'lonRole'} |
6) Cache Expiration Time: $perlvar{'lonExpire'} |
6) Cache Expiration Time: $perlvar{'lonExpire'} |
7) Server Load: $perlvar{'lonLoadLim'} |
7) Server Load: $perlvar{'lonLoadLim'} |
8) Everything is correct up above |
8) User Load: $perlvar{'lonUserLoadLim'} |
|
9) Allow only secure connections: $securestatus |
|
10) Everything is correct up above |
END |
END |
my $hbug=-1; |
my $hbug=-1; |
my $dbug=-1; |
my $dbug=-1; |
Line 502 if ($dbug) {
|
Line 549 if ($dbug) {
|
} |
} |
|
|
print(<<END); |
print(<<END); |
ENTER A CHOICE OF 1-7 TO CHANGE, otherwise ENTER 8: |
ENTER A CHOICE OF 1-9 TO CHANGE, otherwise ENTER 10: |
END |
END |
my $choice=<>; |
my $choice=<>; |
chomp($choice); |
chomp($choice); |
Line 578 END
|
Line 625 END
|
$perlvar{'lonLoadLim'}=$choice2; |
$perlvar{'lonLoadLim'}=$choice2; |
} |
} |
elsif ($choice==8) { |
elsif ($choice==8) { |
|
print(<<END); |
|
8) User Load: $perlvar{'lonUserLoadLim'} |
|
Numer of users that can login before machine is 'overloaded' |
|
ENTER NEW VALUE (integer value, 0 means there is no limit): |
|
END |
|
my $choice2=<>; |
|
chomp($choice2); |
|
$perlvar{'lonUserLoadLim'}=$choice2; |
|
} |
|
elsif ($choice==9) { |
|
print(<<END); |
|
9) Allow only secure connections: $securestatus |
|
The Lon-CAPA communication daemons lonc and lond can be configured to |
|
allow only secure connections by default. |
|
|
|
POSSIBLE CHOICES: |
|
1) allow only secure connections and don't connect to machines that |
|
can not be connected to securely |
|
2) allow only secure connections but allow this machine to connect to |
|
machines that don't support secure connections |
|
3) allow insecure connections to this machine but only allow connections |
|
to machines that support secure connections |
|
4) allow insecure connections |
|
ENTER NEW VALUE (currenly $securenum): |
|
END |
|
my $choice2=<>; |
|
chomp($choice2); |
|
if ($choice2 eq '1') { |
|
$perlvar{'loncAllowInsecure'}=0;$perlvar{'londAllowInsecure'}=0; |
|
} elsif ($choice2 eq '2') { |
|
$perlvar{'loncAllowInsecure'}=0;$perlvar{'londAllowInsecure'}=1; |
|
} elsif ($choice2 eq '3') { |
|
$perlvar{'loncAllowInsecure'}=1;$perlvar{'londAllowInsecure'}=0; |
|
} elsif ($choice2 eq '4') { |
|
$perlvar{'loncAllowInsecure'}=1;$perlvar{'londAllowInsecure'}=1; |
|
} |
|
($securestatus,$securenum)=&securesetting(%perlvar); |
|
} |
|
elsif ($choice==10) { |
$flag=1; |
$flag=1; |
} |
} |
else { |
else { |
Line 608 unless (-l "<TARGET />") {
|
Line 694 unless (-l "<TARGET />") {
|
$lineexistflag=0; |
$lineexistflag=0; |
$hostidexistflag=0; |
$hostidexistflag=0; |
$line2insert=<<END; |
$line2insert=<<END; |
$perlvar{'lonHostID'}:$perlvar{'lonDefDomain'}:$perlvar{'lonRole'}:$hostname:$hostaddress:$domainDescription |
$perlvar{'lonHostID'}:$perlvar{'lonDefDomain'}:$perlvar{'lonRole'}:$hostname:$hostaddress |
END |
END |
|
$domaininsert="$perlvar{'lonDefDomain'}:$domainDescription:$domainTabExtras\n"; |
if ($lonCluster eq 'standalone') { |
if ($lonCluster eq 'standalone') { |
open(OUT,'>../'.$lonCluster.'_hosts.tab') or |
open(OUT,'>../'.$lonCluster.'_hosts.tab') or |
die('file generation error'); |
die('file generation error'); |
print(OUT $line2insert); |
print(OUT $line2insert); |
close(OUT); |
close(OUT); |
|
open(OUT,'>../'.$lonCluster.'_domain.tab') or |
|
die('file generation error'); |
|
print(OUT $domaininsert); |
|
close(OUT); |
} |
} |
if ($flag==1) { |
if ($flag==1) { |
`rm -f ../hosts.tab`; |
`rm -f ../hosts.tab`; |
Line 643 END
|
Line 734 END
|
close(OUT); |
close(OUT); |
`ln -s new_${lonCluster}_hosts.tab ../hosts.tab`; |
`ln -s new_${lonCluster}_hosts.tab ../hosts.tab`; |
# email appropriate message |
# email appropriate message |
system('ping -c 1 www.lon-capa.org > /dev/null || ping -c 1 www.msu.edu > /dev/null || ping -c 1 www.mit.edu > /dev/null'); |
system('ping -c 1 -W 5 www.lon-capa.org > /dev/null || ping -c 1 -W 5 www.msu.edu > /dev/null || ping -c 1 -W 5 www.mit.edu > /dev/null'); |
`echo "REPLACE:$lonCluster:$lonHostID:$date:$line2insert" | mail -s "REPLACE:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org` unless $?; |
`echo "REPLACE:$lonCluster:$lonHostID:$date:$line2insert" | mail -s "REPLACE:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org` unless $?; |
} |
} |
elsif ($hostidexistflag and $lineexistflag) { |
elsif ($hostidexistflag and $lineexistflag) { |
Line 668 END
|
Line 759 END
|
`echo "INSERT:$lonCluster:$lonHostID:$date:$line2insert" | mail -s "INSERT:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org`; |
`echo "INSERT:$lonCluster:$lonHostID:$date:$line2insert" | mail -s "INSERT:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org`; |
} |
} |
} |
} |
|
$lineexistflag=0; |
|
if ($flag==1) { |
|
`rm -f ../domain.tab`; |
|
open(IN,'<../'.$lonCluster.'_domain.tab'); |
|
while(<IN>) { |
|
if (/^$domaininsert$/) { |
|
$lineexistflag=1; |
|
} |
|
if (/^$perlvar{'lonDefDomain'}\:/) { |
|
$domainexistflag=1; |
|
} |
|
} |
|
close(IN); |
|
if ($domainexistflag and !$lineexistflag) { |
|
print <<END; |
|
WARNING: $perlvar{'lonDefDomain'} already exists inside |
|
loncapa/loncom/${lonCluster}_domain.tab. The entry inside |
|
${lonCluster}_domain.tab does not match your settings. |
|
The entry inside ${lonCluster}_domain.tab is being replaced |
|
with your new values. |
|
END |
|
`grep -v "$perlvar{'lonDefDomain'}:" ../${lonCluster}_domain.tab > ../new_${lonCluster}_domain.tab`; |
|
open(OUT,'>>../new_'.$lonCluster.'_domain.tab') or |
|
die("cannot open loncom/${lonCluster}_domain.tab for output\n"); |
|
print(OUT $domaininsert); |
|
close(OUT); |
|
`ln -s new_${lonCluster}_domain.tab ../domain.tab`; |
|
# email appropriate message |
|
system('ping -c 1 -W 5 www.lon-capa.org > /dev/null || ping -c 1 -W 5 www.msu.edu > /dev/null || ping -c 1 -W 5 www.mit.edu > /dev/null'); |
|
`echo "REPLACEdom:$lonCluster:$lonHostID:$date:$domaninsert" | mail -s "REPLACEdom:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org` unless $?; |
|
} |
|
elsif ($domainexistflag and $lineexistflag) { |
|
print <<END; |
|
Entry exists in ${lonCluster}_domain.tab. |
|
END |
|
`ln -s ${lonCluster}_domain.tab ../domain.tab`; |
|
# email appropriate message |
|
`echo "STABLEUPDATEdom:$lonCluster:$lonHostID:$date:$domaininsert" | mail -s "STABLEUPDATEdom:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org`; |
|
} |
|
elsif (!$domainexistflag and !$lineexistflag) { |
|
print <<END; |
|
New entry for $lonCluster. |
|
END |
|
`cat ../${lonCluster}_domain.tab > ../new_${lonCluster}_domain.tab`; |
|
open(OUT,'>>../new_'.$lonCluster.'_domain.tab') or |
|
die("cannot open loncom/new_${lonCluster}_domain.tab for output\n"); |
|
print(OUT $domaininsert); |
|
close(OUT); |
|
`ln -s new_${lonCluster}_domain.tab ../domain.tab`; |
|
# email appropriate message |
|
`echo "INSERTdom:$lonCluster:$lonHostID:$date:$domaininsert" | mail -s "INSERTdom:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org`; |
|
} |
|
} |
} |
} |
</perlscript> |
</perlscript> |
</file> |
</file> |