version 1.46, 2006/01/28 10:35:02
|
version 1.51, 2006/12/10 23:38:35
|
Line 143 The following 4 values are needed to con
|
Line 143 The following 4 values are needed to con
|
* Machine Role |
* Machine Role |
* LON-CAPA Domain Name |
* LON-CAPA Domain Name |
* LON-CAPA Machine ID Name, and |
* LON-CAPA Machine ID Name, and |
* System Administration E-mail Address. |
* Server Administration E-mail Address. |
=============================================================================== |
=============================================================================== |
|
|
In addition, a Support E-mail Address can also be included. If |
In addition, a Support E-mail Address can also be included. If |
Line 260 END
|
Line 260 END
|
close(OUT); |
close(OUT); |
$lonDefDomain=$choice; |
$lonDefDomain=$choice; |
$flag=1; |
$flag=1; |
} elsif (length($choice)>12) { |
} elsif (length($choice)>35) { |
print "Name too long\n"; |
print "Name too long\n"; |
} elsif (length($choice)<2) { |
} elsif (length($choice)<2) { |
print "Name too short\n"; |
print "Name too short\n"; |
} elsif ($bad_domain_flag) { |
} elsif ($bad_domain_flag) { |
print "Invalid input ('$choice' conflicts with LON-CAPA namespace).\n"; |
print "Invalid input ('$choice' conflicts with LON-CAPA namespace).\n"; |
print "Please try something different than '$choice'\n"; |
print "Please try something different than '$choice'\n"; |
} elsif ($choice!~/\_/ and $choice=~/^\w+$/) { |
} elsif ($choice!~/\_/ and $choice=~/^[\w\-.]+$/) { |
open(OUT,'>>/tmp/loncapa_updatequery.out'); |
open(OUT,'>>/tmp/loncapa_updatequery.out'); |
print(OUT 'lonDefDomain'."\t".$choice."\n"); |
print(OUT 'lonDefDomain'."\t".$choice."\n"); |
close(OUT); |
close(OUT); |
Line 275 END
|
Line 275 END
|
$r='l'; |
$r='l'; |
$flag=1; |
$flag=1; |
} else { |
} else { |
print "Invalid input (only alphanumeric characters supported).\n"; |
print "Invalid input (only alphanumeric characters, '-', and '.' supported).\n"; |
} |
} |
} |
} |
|
|
Line 348 END
|
Line 348 END
|
close(OUT); |
close(OUT); |
$lonHostID=$choice; |
$lonHostID=$choice; |
$flag=1; |
$flag=1; |
} elsif (length($choice)>15) { |
} elsif (length($choice)>45) { |
print "Name too long\n"; |
print "Name too long\n"; |
} elsif (length($choice)<4) { |
} elsif (length($choice)<4) { |
print "Name too short\n"; |
print "Name too short\n"; |
} elsif ($choice!~/\_/ and $choice=~/^\w+$/) { |
} elsif ($choice!~/\_/ and $choice=~/^[\w\-.]+$/) { |
open(OUT,'>>/tmp/loncapa_updatequery.out'); |
open(OUT,'>>/tmp/loncapa_updatequery.out'); |
print(OUT 'lonHostID'."\t".$choice."\n"); |
print(OUT 'lonHostID'."\t".$choice."\n"); |
close(OUT); |
close(OUT); |
$lonHostID=$choice; |
$lonHostID=$choice; |
$flag=1; |
$flag=1; |
} else { |
} else { |
print "Invalid input (only alphanumeric characters supported).\n"; |
print "Invalid input (only alphanumeric characters, '-', and '.' supported).\n"; |
} |
} |
} |
} |
|
|
Line 404 END
|
Line 404 END
|
print(OUT 'primaryLibServer'."\t".$choice."\n"); |
print(OUT 'primaryLibServer'."\t".$choice."\n"); |
close(OUT); |
close(OUT); |
$flag=1; |
$flag=1; |
} elsif (length($choice)>15) { |
} elsif (length($choice)>35) { |
print "Name too long\n"; |
print "Name too long\n"; |
} elsif (length($choice)<4) { |
} elsif (length($choice)<4) { |
print "Name too short\n"; |
print "Name too short\n"; |
} elsif ($choice!~/\_/ and $choice=~/^\w+$/) { |
} elsif ($choice!~/\_/ and $choice=~/^[\w\-.]+$/) { |
open(OUT,'>>/tmp/loncapa_updatequery.out'); |
open(OUT,'>>/tmp/loncapa_updatequery.out'); |
print(OUT 'primaryLibServer'."\t".$choice."\n"); |
print(OUT 'primaryLibServer'."\t".$choice."\n"); |
close(OUT); |
close(OUT); |
$primaryLibServer=$choice; |
$primaryLibServer=$choice; |
$flag=1; |
$flag=1; |
} else { |
} else { |
print "Invalid input (only alphanumeric characters supported).\n"; |
print "Invalid input (only alphanumeric characters, '-', and '.' supported).\n"; |
} |
} |
} |
} |
|
|
Line 427 my $lonAdmEMail;
|
Line 427 my $lonAdmEMail;
|
while (!$flag) { |
while (!$flag) { |
print(<<END); |
print(<<END); |
|
|
**** System Administrator's E-mail **** |
**** Server Administrator's E-mail **** |
E-mail address of the person who will manage this machine |
E-mail address of the person who will manage this machine |
[should be in the form somebody\@somewhere] |
[should be in the form somebody\@somewhere] |
ENTER ADMIN E-MAIL ADDRESS: |
ENTER ADMIN E-MAIL ADDRESS: |
Line 482 END
|
Line 482 END
|
|
|
|
|
# update loncapa.conf |
# update loncapa.conf |
my $confdir='/etc/httpd/conf/'; |
my $confdir = '/etc/httpd/conf/'; |
#my $confdir=''; |
if ('<DIST />' eq 'sles10' || '<DIST />' eq 'suse10.1') { |
|
$confdir = '/etc/apache2/'; |
|
} |
my $filename='loncapa.conf'; |
my $filename='loncapa.conf'; |
my %perlvar; |
my %perlvar; |
if (-e "$confdir$filename") { |
if (-e "$confdir$filename") { |
Line 524 my %perlvar;
|
Line 526 my %perlvar;
|
die("Cannot output to $confdir$filename\n"); |
die("Cannot output to $confdir$filename\n"); |
foreach my $key (keys %perlvar) { |
foreach my $key (keys %perlvar) { |
my $value=$perlvar{$key}; |
my $value=$perlvar{$key}; |
|
my $line = "PerlSetVar $key $value"; |
|
if ($value eq '') { |
|
$line = '#'.$line; |
|
} |
print(OUT <<END); |
print(OUT <<END); |
PerlSetVar $key $value |
$line |
END |
END |
} |
} |
close(OUT); |
close(OUT); |
Line 533 END
|
Line 539 END
|
</perlscript> |
</perlscript> |
</file> |
</file> |
<file> |
<file> |
<target dist='default'>/</target> |
<target dist='default'>/etc/httpd/conf/</target> |
|
<target dist='sles10 suse10.1'>/etc/apache2/</target> |
<perlscript mode='fg'> |
<perlscript mode='fg'> |
sub securesetting { |
sub securesetting { |
my (%perlvar)=@_; |
my (%perlvar)=@_; |
Line 551 sub securesetting {
|
Line 558 sub securesetting {
|
return ($securestatus,$securenum); |
return ($securestatus,$securenum); |
} |
} |
# read values from loncapa.conf |
# read values from loncapa.conf |
my $confdir='/etc/httpd/conf/'; |
my $confdir = "<TARGET />"; |
my $filename='loncapa.conf'; |
my $filename='loncapa.conf'; |
my %perlvar; |
my %perlvar; |
my ($securestatus,$securenum); |
my ($securestatus,$securenum); |
Line 627 my %perlvarstatic;
|
Line 634 my %perlvarstatic;
|
chomp($domainDescription); |
chomp($domainDescription); |
chomp($domainTabExtras); |
chomp($domainTabExtras); |
# the remianing field (primary lib server) is handled later |
# the remianing field (primary lib server) is handled later |
$domainTabExtras = join(':',(split(/:/,$domainTabExtras))[0-5]); |
$domainTabExtras = join(':',(split(/:/,$domainTabExtras))[0..5]); |
last; |
last; |
} |
} |
} |
} |
Line 694 This is now the current configuration of
|
Line 701 This is now the current configuration of
|
2) Domain Description: $domainDescription |
2) Domain Description: $domainDescription |
3) Machine Name: $perlvar{'lonHostID'} |
3) Machine Name: $perlvar{'lonHostID'} |
4) ID of primary library server for domain: $primaryLibServer |
4) ID of primary library server for domain: $primaryLibServer |
5) System Administrator's E-mail Address: $perlvar{'lonAdmEMail'} |
5) Server Administrator's E-mail Address: $perlvar{'lonAdmEMail'} |
6) Support E-mail Address: $perlvar{'lonSupportEMail'} |
6) Support E-mail Address: $perlvar{'lonSupportEMail'} |
7) Role: $perlvar{'lonRole'} |
7) Role: $perlvar{'lonRole'} |
8) Cache Expiration Time: $perlvar{'lonExpire'} |
8) Cache Expiration Time: $perlvar{'lonExpire'} |
Line 706 END
|
Line 713 END
|
|
|
my $error=''; |
my $error=''; |
foreach my $v ($perlvar{'lonDefDomain'},$perlvar{'lonHostID'}) { |
foreach my $v ($perlvar{'lonDefDomain'},$perlvar{'lonHostID'}) { |
if (length($v)>16) { $error.="\nName $v too long"; } |
if (length($v)>35) { $error.="\nName $v too long"; } |
if (length($v)<2) { $error.="\nName $v too short"; } |
if (length($v)<2) { $error.="\nName $v too short"; } |
if ($v=~/capa/i) { |
if ($v=~/capa/i) { |
if ($v!~/^oucapa\d+$/ && |
if ($v!~/^oucapa\d+$/ && |
Line 718 foreach my $v ($perlvar{'lonDefDomain'},
|
Line 725 foreach my $v ($perlvar{'lonDefDomain'},
|
'editupload') { |
'editupload') { |
$error.="\nName $v reserved." if $v eq $bad; |
$error.="\nName $v reserved." if $v eq $bad; |
} |
} |
if ($v=~/\W/) { $error.="\nName $v contains special characters"; } |
if ($v=~/[^\w\-.]/) { $error.="\nName $v contains special characters"; } |
} |
} |
if ($domainDescription!~/^[\(\)\-\w\s,]+$/) { |
if ($domainDescription!~/^[\(\)\-\w\s,]+$/) { |
$error.="\nDomain Description contains special characters"; |
$error.="\nDomain Description contains special characters"; |
Line 737 if (!defined($primaryLibServer)) {
|
Line 744 if (!defined($primaryLibServer)) {
|
$error .= "No library servers in this domain (including current server)"; |
$error .= "No library servers in this domain (including current server)"; |
} |
} |
} else { |
} else { |
if (length($primaryLibServer)>16) { $error.="\nPrimary Library Server ID: $primaryLibServer too long"; } |
if (length($primaryLibServer)>35) { $error.="\nPrimary Library Server ID: $primaryLibServer too long"; } |
if (length($primaryLibServer)<2) { $error.="\nPrimary Library Server ID: $primaryLibServer too short"; } |
if (length($primaryLibServer)<2) { $error.="\nPrimary Library Server ID: $primaryLibServer too short"; } |
if ($primaryLibServer =~/capa/i) { |
if ($primaryLibServer =~/capa/i) { |
if ($primaryLibServer!~/^oucapa\d+$/ && |
if ($primaryLibServer!~/^oucapa\d+$/ && |
Line 749 if (!defined($primaryLibServer)) {
|
Line 756 if (!defined($primaryLibServer)) {
|
'editupload') { |
'editupload') { |
$error.="\nPrimary library server ID $primaryLibServer reserved." if $primaryLibServer eq $bad; |
$error.="\nPrimary library server ID $primaryLibServer reserved." if $primaryLibServer eq $bad; |
} |
} |
if ($primaryLibServer=~/\W/) { $error.="\nPrimary library server ID $primaryLibServer contains special characters"; } |
if ($primaryLibServer=~/[^\w\-.]/) { $error.="\nPrimary library server ID $primaryLibServer contains special characters"; } |
} |
} |
|
|
|
|
Line 809 END
|
Line 816 END
|
} |
} |
elsif ($choice==5) { |
elsif ($choice==5) { |
print(<<END); |
print(<<END); |
5) System Administrator's E-mail Address: $perlvar{'lonAdmEMail'} |
5) Server Administrator's E-mail Address: $perlvar{'lonAdmEMail'} |
ENTER NEW VALUE: |
ENTER NEW VALUE: |
END |
END |
my $choice2=<>; |
my $choice2=<>; |
Line 903 END
|
Line 910 END
|
die("Cannot output to $confdir$filename\n"); |
die("Cannot output to $confdir$filename\n"); |
foreach my $key (keys %perlvar) { |
foreach my $key (keys %perlvar) { |
my $value=$perlvar{$key}; |
my $value=$perlvar{$key}; |
|
my $line = "PerlSetVar $key $value"; |
|
if ($value eq '') { |
|
$line = '#'.$line; |
|
} |
print(OUT <<END) unless $perlvarstatic{$key}; |
print(OUT <<END) unless $perlvarstatic{$key}; |
PerlSetVar $key $value |
$line |
END |
END |
} |
} |
close(OUT); |
close(OUT); |
Line 917 unless (-l "<TARGET />") {
|
Line 928 unless (-l "<TARGET />") {
|
my $hostname=`hostname -f`;chomp($hostname); |
my $hostname=`hostname -f`;chomp($hostname); |
$date=`date -I`; chomp($date); |
$date=`date -I`; chomp($date); |
$lonHostID=$perlvar{'lonHostID'}; |
$lonHostID=$perlvar{'lonHostID'}; |
$lonHostID=~s/\W//g; |
$lonHostID=~s/[^\w\-.]//g; |
$lineexistflag=0; |
$lineexistflag=0; |
$hostidexistflag=0; |
$hostidexistflag=0; |
$line2insert=<<END; |
$line2insert=<<END; |