version 1.12, 2002/05/22 20:52:27
|
version 1.16, 2002/06/12 17:07:55
|
Line 264 my %perlvar;
|
Line 264 my %perlvar;
|
$perlvar{'lonDefDomain'}=$lonDefDomain; |
$perlvar{'lonDefDomain'}=$lonDefDomain; |
$perlvar{'lonAdmEMail'}=$lonAdmEMail; |
$perlvar{'lonAdmEMail'}=$lonAdmEMail; |
$perlvar{'lonRole'}=$lonRole; |
$perlvar{'lonRole'}=$lonRole; |
unless ($perlvar{'lonSqlAccess'}) { |
unless ($perlvar{'lonLoadLim'} and $perlvar{'lonLoadLim'}!~/\{\[\[\[\[/) { |
$perlvar{'lonSqlAccess'}='localhostkey'; |
|
} |
|
unless ($perlvar{'lonLoadLim'}) { |
|
$perlvar{'lonLoadLim'}='2.00'; |
$perlvar{'lonLoadLim'}='2.00'; |
} |
} |
unless ($perlvar{'lonExpire'}) { |
unless ($perlvar{'lonExpire'} and $perlvar{'lonExpire'}!~/\{\[\[\[\[/) { |
$perlvar{'lonExpire'}='86400'; |
$perlvar{'lonExpire'}='86400'; |
} |
} |
unless ($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`); |
my @alnum=(0..9,a..z); |
my @alnum=(0..9,a..z); |
Line 299 END
|
Line 296 END
|
<perlscript mode='fg'> |
<perlscript mode='fg'> |
# read values from loncapa.conf |
# read values from loncapa.conf |
my $confdir='/etc/httpd/conf/'; |
my $confdir='/etc/httpd/conf/'; |
#my $confdir=''; |
|
my $filename='loncapa.conf'; |
my $filename='loncapa.conf'; |
my %perlvar; |
my %perlvar; |
if (-e "$confdir$filename") { |
if (-e "$confdir$filename") { |
Line 314 my %perlvar;
|
Line 310 my %perlvar;
|
} |
} |
close(CONFIG); |
close(CONFIG); |
} |
} |
|
unless ($perlvar{'lonLoadLim'} and $perlvar{'lonLoadLim'}!~/\{\[\[\[\[/) { |
|
$perlvar{'lonLoadLim'}='2.00'; |
|
} |
|
unless ($perlvar{'lonExpire'} and $perlvar{'lonExpire'}!~/\{\[\[\[\[/) { |
|
$perlvar{'lonExpire'}='86400'; |
|
} |
|
unless ($perlvar{'lonReceipt'} and $perlvar{'lonReceipt'}!~/\{\[\[\[\[/) { |
|
my $lonReceipt=''; |
|
srand(time ^ $$ ^ unpack "%L*", `ps axww | gzip`); |
|
my @alnum=(0..9,a..z); |
|
foreach my $i (1..20) { |
|
$lonReceipt.=$alnum[int(rand(36))]; |
|
} |
|
$perlvar{'lonReceipt'}=$lonReceipt; |
|
} |
my %perlvarstatic; |
my %perlvarstatic; |
if (-e "${confdir}loncapa_apache.conf") { |
if (-e "${confdir}loncapa_apache.conf") { |
open(CONFIG,'<'.$confdir.'loncapa_apache.conf') or |
open(CONFIG,'<'.$confdir.'loncapa_apache.conf') or |
Line 351 my $choice=<>;
|
Line 362 my $choice=<>;
|
chomp($choice); |
chomp($choice); |
if ($choice==1) { |
if ($choice==1) { |
print(<<END); |
print(<<END); |
2) Domain Name: $perlvar{'lonDefDomain'} |
1) Domain Name: $perlvar{'lonDefDomain'} |
ENTER NEW VALUE: |
ENTER NEW VALUE: |
END |
END |
my $choice2=<>; |
my $choice2=<>; |
Line 360 END
|
Line 371 END
|
} |
} |
elsif ($choice==2) { |
elsif ($choice==2) { |
print(<<END); |
print(<<END); |
1) Machine Name: $perlvar{'lonHostID'} |
2) Machine Name: $perlvar{'lonHostID'} |
ENTER NEW VALUE: |
ENTER NEW VALUE: |
END |
END |
my $choice2=<>; |
my $choice2=<>; |
Line 454 while (!$flag) {
|
Line 465 while (!$flag) {
|
print "ENTER 1, 2, 3, or 4:\n"; |
print "ENTER 1, 2, 3, or 4:\n"; |
my $choice=<>; |
my $choice=<>; |
chomp($choice); |
chomp($choice); |
|
$line2insert=<<END; |
|
$perlvar{'lonHostID'}:$perlvar{'lonDefDomain'}:$perlvar{'lonRole'}:$hostname:$hostaddress |
|
END |
|
$date=`date -I`; chomp($date); |
|
$lonHostID=$perlvar{'lonHostID'}; |
|
$lonHostID=~s/\W//g; |
|
$lineexistflag=0; |
|
$hostidexistflag=0; |
if ($choice==1) { |
if ($choice==1) { |
$lonCluster='production'; |
$lonCluster='production'; $flag=1; |
`rm -f ../hosts.tab`; |
|
`ln -s production_hosts.tab ../hosts.tab`; |
|
$flag=1; |
|
} |
} |
elsif ($choice==2) { |
elsif ($choice==2) { |
$lonCluster='standalone'; |
$lonCluster='standalone'; $flag=1; |
open(OUT,'>../standalone_hosts.tab') or |
open(OUT,'>../'.$lonCluster.'_hosts.tab') or |
die("cannot open loncom/standalone_hosts.tab for output\n"); |
die('file generation error'); |
print(OUT <<END); |
print(OUT $line2insert); |
$perlvar{'lonHostID'}:$perlvar{'lonDefDomain'}:$perlvar{'lonRole'}:$hostname:$hostaddress |
|
END |
|
close(OUT); |
close(OUT); |
`rm -f ../hosts.tab`; |
|
`ln -s standalone_hosts.tab ../hosts.tab`; |
|
$flag=1; |
|
} |
} |
elsif ($choice==3) { |
elsif ($choice==3) { |
$lonCluster='development'; |
$lonCluster='development'; $flag=1; |
`rm -f loncom/hosts.tab`; |
|
`ln -s development_hosts.tab ../hosts.tab`; |
|
$flag=1; |
|
} |
} |
elsif ($choice==4) { |
elsif ($choice==4) { |
$lonCluster='existing'; |
$lonCluster='existing'; $flag=1; |
`rm -f ../hosts.tab`; |
|
`touch existing_hosts.tab`; |
|
if (-e '/home/httpd/lonTabs/hosts.tab') { |
if (-e '/home/httpd/lonTabs/hosts.tab') { |
`cp /home/httpd/lonTabs/hosts.tab ../existing_hosts.tab`; |
`cp /home/httpd/lonTabs/hosts.tab ../existing_hosts.tab`; |
} |
} |
`ln -s existing_hosts.tab ../hosts.tab`; |
else { |
$flag=1; |
print <<END; |
|
There is no existing /home/httpd/lonTabs/hosts.tab |
|
END |
|
die(''); |
|
} |
} |
} |
elsif ($choice==26) { |
elsif ($choice==26) { |
$lonCluster='rawhide'; |
$lonCluster='rawhide'; $flag=1; |
`rm -f ../hosts.tab`; |
|
`ln -s rawhide_hosts.tab ../hosts.tab`; |
|
$flag=1; |
|
} |
} |
else { |
if ($flag==1) { |
|
`rm -f ../hosts.tab`; |
|
open(IN,'<../'.$lonCluster.'_hosts.tab'); |
|
while(<IN>) { |
|
if (/^$line2insert$/) { |
|
$lineexistflag=1; |
|
} |
|
if (/^$lonHostID\:/) { |
|
$hostidexistflag=1; |
|
} |
|
} |
|
close(IN); |
|
if ($hostidexistflag and !$lineexistflag) { |
|
print <<END; |
|
WARNING: $lonHostID already exists inside |
|
loncapa/loncom/${lonCluster}_hosts.tab. The entry inside |
|
${lonCluster}_hosts.tab does not match your settings. |
|
The entry inside ${lonCluster}_hosts.tab is being replaced |
|
with your new values. |
|
END |
|
`grep -v "$lonHostID:" ../${lonCluster}_hosts.tab > ../new_${lonCluster}_hosts.tab`; |
|
open(OUT,'>>../new_'.$lonCluster.'_hosts.tab') or |
|
die("cannot open loncom/${lonCluster}_hosts.tab for output\n"); |
|
print(OUT $line2insert); |
|
close(OUT); |
|
`ln -s new_${lonCluster}_hosts.tab ../hosts.tab`; |
|
# email appropriate message |
|
`echo "REPLACE:$lonCluster:$lonHostID:$date:$line2insert" | mail -s "REPLACE:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org`; |
|
} |
|
elsif ($hostidexistflag and $lineexistflag) { |
|
print <<END; |
|
Entry exists in ${lonCluster}_hosts.tab. |
|
END |
|
`ln -s ${lonCluster}_hosts.tab ../hosts.tab`; |
|
# email appropriate message |
|
`echo "STABLEUPDATE:$lonCluster:$lonHostID:$date:$line2insert" | mail -s "STABLEUPDATE:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org`; |
|
} |
|
elsif (!$hostidexistflag and !$lineexistflag) { |
|
print <<END; |
|
New entry for $lonCluster. |
|
END |
|
`cat ../${lonCluster}_hosts.tab > ../new_${lonCluster}_hosts.tab`; |
|
open(OUT,'>../new_'.$lonCluster.'_hosts.tab') or |
|
die("cannot open loncom/${lonCluster}_hosts.tab for output\n"); |
|
print(OUT $line2insert); |
|
close(OUT); |
|
`ln -s new_${lonCluster}_hosts.tab ../hosts.tab`; |
|
# email appropriate message |
|
`echo "INSERT:$lonCluster:$lonHostID:$date:$line2insert" | mail -s "INSERT:$lonCluster:$lonHostID:$date" installrecord\@mail.lon-capa.org`; |
|
} |
} |
} |
} |
} |
|
|