version 1.25, 2013/02/27 19:48:53
|
version 1.35, 2015/01/02 13:34:08
|
Line 330 sub check_locale {
|
Line 330 sub check_locale {
|
print &mt('Failed to open: [_1], default locale not checked.', |
print &mt('Failed to open: [_1], default locale not checked.', |
'/etc/sysconfig/i18n'); |
'/etc/sysconfig/i18n'); |
} |
} |
|
} elsif ($distro =~ /^(?:rhes|centos|scientific)(\d+)/) { |
|
if ($1 >= 7) { |
|
if (!open($fh,"</etc/locale.conf")) { |
|
print &mt('Failed to open: [_1], default locale not checked.', |
|
'/etc/locale.conf'); |
|
} |
|
} elsif (!open($fh,"</etc/sysconfig/i18n")) { |
|
print &mt('Failed to open: [_1], default locale not checked.', |
|
'/etc/sysconfig/i18n'); |
|
} |
} else { |
} else { |
if (!open($fh,"</etc/sysconfig/i18n")) { |
if (!open($fh,"</etc/sysconfig/i18n")) { |
print &mt('Failed to open: [_1], default locale not checked.', |
print &mt('Failed to open: [_1], default locale not checked.', |
Line 375 sub check_required {
|
Line 385 sub check_required {
|
unless ($localecmd eq '') { |
unless ($localecmd eq '') { |
return ($distro,$gotprereqs,$localecmd); |
return ($distro,$gotprereqs,$localecmd); |
} |
} |
my ($mysqlon,$mysqlsetup,$dbh,$has_pass,$has_lcdb,%recommended,$downloadstatus, |
my ($mysqlon,$mysqlsetup,$mysqlrestart,$dbh,$has_pass,$has_lcdb,%recommended, |
$filetouse,$production,$testing,$apachefw,$tostop); |
$downloadstatus,$filetouse,$production,$testing,$apachefw,$tostop,$uses_systemctl); |
my $wwwuid = &uid_of_www(); |
my $wwwuid = &uid_of_www(); |
my $wwwgid = getgrnam('www'); |
my $wwwgid = getgrnam('www'); |
if (($wwwuid eq '') || ($wwwgid eq '')) { |
if (($wwwuid eq '') || ($wwwgid eq '')) { |
Line 388 sub check_required {
|
Line 398 sub check_required {
|
$mysqlon = &check_mysql_running($distro); |
$mysqlon = &check_mysql_running($distro); |
if ($mysqlon) { |
if ($mysqlon) { |
my $mysql_has_wwwuser = &check_mysql_wwwuser(); |
my $mysql_has_wwwuser = &check_mysql_wwwuser(); |
($mysqlsetup,$has_pass,$dbh) = |
($mysqlsetup,$has_pass,$dbh,$mysql_has_wwwuser) = |
&check_mysql_setup($instdir,$dsn); |
&check_mysql_setup($instdir,$dsn,$distro,$mysql_has_wwwuser); |
if ($mysqlsetup eq 'noroot') { |
if ($mysqlsetup eq 'needsrestart') { |
$recommended{'mysqlperms'} = 1; |
$mysqlrestart = ''; |
|
if ($distro eq 'ubuntu') { |
|
$mysqlrestart = 'sudo '; |
|
} |
|
$mysqlrestart .= 'service mysql restart'; |
|
return ($distro,$gotprereqs,$localecmd,$packagecmd,$updatecmd,$installnow,$mysqlrestart); |
} else { |
} else { |
unless ($mysql_has_wwwuser) { |
if ($mysqlsetup eq 'noroot') { |
$recommended{'mysqlperms'} = 1; |
$recommended{'mysqlperms'} = 1; |
|
} else { |
|
unless ($mysql_has_wwwuser) { |
|
$recommended{'mysqlperms'} = 1; |
|
} |
|
} |
|
if ($dbh) { |
|
$has_lcdb = &check_loncapa_mysqldb($dbh); |
|
} |
|
unless ($has_lcdb) { |
|
$recommended{'mysql'} = 1; |
} |
} |
} |
|
if ($dbh) { |
|
$has_lcdb = &check_loncapa_mysqldb($dbh); |
|
} |
|
unless ($has_lcdb) { |
|
$recommended{'mysql'} = 1; |
|
} |
} |
} |
} |
($recommended{'firewall'},$apachefw) = &chkfirewall($distro); |
($recommended{'firewall'},$apachefw) = &chkfirewall($distro); |
($recommended{'runlevels'},$tostop) = &chkconfig($distro,$instdir); |
($recommended{'runlevels'},$tostop,$uses_systemctl) = &chkconfig($distro,$instdir); |
$recommended{'apache'} = &chkapache($distro,$instdir); |
$recommended{'apache'} = &chkapache($distro,$instdir); |
$recommended{'stopsrvcs'} = &chksrvcs($distro,$tostop); |
$recommended{'stopsrvcs'} = &chksrvcs($distro,$tostop); |
($recommended{'download'},$downloadstatus,$filetouse,$production,$testing) |
($recommended{'download'},$downloadstatus,$filetouse,$production,$testing) |
= &need_download(); |
= &need_download(); |
return ($distro,$gotprereqs,$localecmd,$packagecmd,$updatecmd,$installnow, |
return ($distro,$gotprereqs,$localecmd,$packagecmd,$updatecmd,$installnow, |
\%recommended,$dbh,$has_pass,$has_lcdb,$downloadstatus, |
$mysqlrestart,\%recommended,$dbh,$has_pass,$has_lcdb,$downloadstatus, |
$filetouse,$production,$testing,$apachefw); |
$filetouse,$production,$testing,$apachefw,$uses_systemctl); |
} |
} |
|
|
sub check_mysql_running { |
sub check_mysql_running { |
Line 429 sub check_mysql_running {
|
Line 448 sub check_mysql_running {
|
$process = 'mysqld'; |
$process = 'mysqld'; |
$proc_owner = 'mysql'; |
$proc_owner = 'mysql'; |
} |
} |
} |
} elsif ($distro =~ /^fedora(\d+)/) { |
if ($distro =~ /^fedora(\d+)/) { |
|
if ($1 >= 16) { |
if ($1 >= 16) { |
$process = 'mysqld'; |
$process = 'mysqld'; |
$proc_owner = 'mysql'; |
$proc_owner = 'mysql'; |
$use_systemctl = 1; |
$use_systemctl = 1; |
} |
} |
|
} elsif ($distro =~ /^(?:centos|rhes|scientific)(\d+)/) { |
|
if ($1 >= 7) { |
|
$mysqldaemon ='mariadb'; |
|
$process = 'mysqld'; |
|
$proc_owner = 'mysql'; |
|
$use_systemctl = 1; |
|
} |
|
} elsif ($distro =~ /^sles(\d+)/) { |
|
if ($1 >= 12) { |
|
$use_systemctl = 1; |
|
} |
|
} elsif ($distro =~ /^suse(\d+)/) { |
|
if ($1 >= 13) { |
|
$use_systemctl = 1; |
|
} |
} |
} |
if (open(PIPE,"ps -ef |grep $process |grep -v grep 2>&1 |")) { |
if (open(PIPE,"ps -ef |grep $process |grep ^$proc_owner |grep -v grep 2>&1 |")) { |
my $status = <PIPE>; |
my $status = <PIPE>; |
close(PIPE); |
close(PIPE); |
chomp($status); |
chomp($status); |
Line 505 sub chkconfig {
|
Line 538 sub chkconfig {
|
if ($distro =~ /^(suse|sles)9/) { |
if ($distro =~ /^(suse|sles)9/) { |
$daemon{'apache'} = 'apache'; |
$daemon{'apache'} = 'apache'; |
} |
} |
|
if ($distro =~ /^(suse|sles)([\d\.]+)/) { |
|
my $name = $1; |
|
my $num = $2; |
|
if ($num > 11) { |
|
$uses_systemctl{'apache'} = 1; |
|
if (($name eq 'sles') || ($name eq 'suse' && $num >= 13.2)) { |
|
$uses_systemctl{'mysql'} = 1; |
|
$uses_systemctl{'ntp'} = 1; |
|
$uses_systemctl{'cups'} = 1; |
|
$uses_systemctl{'memcached'} = 1; |
|
$daemon{'ntp'} = 'ntpd'; |
|
} |
|
} |
|
} |
} elsif ($distro =~ /^(?:debian|ubuntu)(\d+)/) { |
} elsif ($distro =~ /^(?:debian|ubuntu)(\d+)/) { |
my $version = $1; |
my $version = $1; |
@runlevels = qw/2 3 4 5/; |
@runlevels = qw/2 3 4 5/; |
Line 516 sub chkconfig {
|
Line 563 sub chkconfig {
|
if (($distro =~ /^ubuntu/) && ($version <= 8)) { |
if (($distro =~ /^ubuntu/) && ($version <= 8)) { |
$daemon{'cups'} = 'cupsys'; |
$daemon{'cups'} = 'cupsys'; |
} |
} |
} elsif ($distro =~ /^(?:fedora)(\d+)/) { |
} elsif ($distro =~ /^fedora(\d+)/) { |
my $version = $1; |
my $version = $1; |
if ($version >= 15) { |
if ($version >= 15) { |
$uses_systemctl{'ntp'} = 1; |
$uses_systemctl{'ntp'} = 1; |
Line 524 sub chkconfig {
|
Line 571 sub chkconfig {
|
if ($version >= 16) { |
if ($version >= 16) { |
$uses_systemctl{'mysql'} = 1; |
$uses_systemctl{'mysql'} = 1; |
$uses_systemctl{'apache'} = 1; |
$uses_systemctl{'apache'} = 1; |
|
$uses_systemctl{'memcached'} = 1; |
|
$uses_systemctl{'cups'} = 1; |
|
} |
|
} elsif ($distro =~ /^(?:centos|rhes|scientific)(\d+)/) { |
|
my $version = $1; |
|
if ($version >= 7) { |
|
$uses_systemctl{'ntp'} = 1; |
|
$uses_systemctl{'mysql'} = 1; |
|
$uses_systemctl{'apache'} = 1; |
|
$uses_systemctl{'memcached'} = 1; |
|
$uses_systemctl{'cups'} = 1; |
|
$daemon{'mysql'} = 'mariadb'; |
} |
} |
} |
} |
my $nocheck; |
my $nocheck; |
Line 546 sub chkconfig {
|
Line 605 sub chkconfig {
|
foreach my $type ('apache','mysql','ntp','cups','memcached') { |
foreach my $type ('apache','mysql','ntp','cups','memcached') { |
my $service = $daemon{$type}; |
my $service = $daemon{$type}; |
if ($uses_systemctl{$type}) { |
if ($uses_systemctl{$type}) { |
if (!-l "/etc/systemd/system/multi-user.target.wants/$service.service") { |
if (($type eq 'memcached') || ($type eq 'cups')) { |
$needfix{$type} = "systemctl enable $service.service"; |
if (-l "/etc/systemd/system/multi-user.target.wants/$service.service") { |
|
$tostop{$type} = 1; |
|
} |
|
} else { |
|
if (!-l "/etc/systemd/system/multi-user.target.wants/$service.service") { |
|
$needfix{$type} = "systemctl enable $service.service"; |
|
} |
} |
} |
next; |
|
} else { |
} else { |
my $command = $checker_bin.' --list '.$service.' 2>/dev/null'; |
my $command = $checker_bin.' --list '.$service.' 2>/dev/null'; |
if ($type eq 'cups') { |
if ($type eq 'cups') { |
if ($distro =~ /^(?:debian|ubuntu)(\d+)/) { |
if ($distro =~ /^(?:debian|ubuntu)(\d+)/) { |
my $version = $1; |
my $version = $1; |
if (($distro =~ /^ubuntu/) && ($version <= 8)) { |
if (($distro =~ /^ubuntu/) && ($version <= 8)) { |
Line 609 sub chkconfig {
|
Line 673 sub chkconfig {
|
} |
} |
} |
} |
} |
} |
return (\%needfix,\%tostop); |
return (\%needfix,\%tostop,\%uses_systemctl); |
} |
} |
|
|
sub chkfirewall { |
sub chkfirewall { |
Line 651 sub chkfirewall {
|
Line 715 sub chkfirewall {
|
sub chkapache { |
sub chkapache { |
my ($distro,$instdir) = @_; |
my ($distro,$instdir) = @_; |
my $fixapache = 1; |
my $fixapache = 1; |
if ($distro =~ /^(debian|ubuntu)/) { |
if ($distro =~ /^(debian|ubuntu)(\d+)$/) { |
if (!-e "$instdir/debian-ubuntu/loncapa") { |
my $distname = $1; |
|
my $version = $2; |
|
my ($stdconf,$stdsite); |
|
if (($distname eq 'ubuntu') && ($version > 12)) { |
|
$stdconf = "$instdir/debian-ubuntu/ubuntu14/loncapa_conf"; |
|
$stdsite = "$instdir/debian-ubuntu/ubuntu14/loncapa_sites"; |
|
} else { |
|
$stdconf = "$instdir/debian-ubuntu/loncapa"; |
|
} |
|
if (!-e $stdconf) { |
$fixapache = 0; |
$fixapache = 0; |
print &mt('Warning: No LON-CAPA Apache configuration file found for installation check.')."\n"; |
print &mt('Warning: No LON-CAPA Apache configuration file found for installation check.')."\n"; |
} elsif ((-e "/etc/apache2/sites-available/loncapa") && (-e "$instdir/debian-ubuntu/loncapa")) { |
} else { |
if (open(PIPE, "diff --brief $instdir/debian-ubuntu/loncapa /etc/apache2/sites-available/loncapa |")) { |
my ($configfile,$sitefile); |
my $diffres = <PIPE>; |
if (($distname eq 'ubuntu') && ($version > 12)) { |
close(PIPE); |
$sitefile = '/etc/apache2/sites-available/loncapa'; |
chomp($diffres); |
$configfile = "/etc/apache2/conf-available/loncapa"; |
unless ($diffres) { |
} else { |
$fixapache = 0; |
$configfile = "/etc/apache2/sites-available/loncapa"; |
|
} |
|
if (($configfile ne '') && (-e $configfile) && (-e $stdconf)) { |
|
if (open(PIPE, "diff --brief $stdconf $configfile |")) { |
|
my $diffres = <PIPE>; |
|
close(PIPE); |
|
chomp($diffres); |
|
unless ($diffres) { |
|
$fixapache = 0; |
|
} |
|
} |
|
} |
|
if ((!$fixapache) && ($distname eq 'ubuntu') && ($version > 12)) { |
|
if (($sitefile ne '') && (-e $sitefile) && (-e $stdsite)) { |
|
if (open(PIPE, "diff --brief $stdsite $sitefile |")) { |
|
my $diffres = <PIPE>; |
|
close(PIPE); |
|
chomp($diffres); |
|
unless ($diffres) { |
|
$fixapache = 0; |
|
} |
|
} |
} |
} |
} |
} |
} |
} |
Line 707 sub chkapache {
|
Line 801 sub chkapache {
|
} else { |
} else { |
my $configfile = 'httpd.conf'; |
my $configfile = 'httpd.conf'; |
if ($distro =~ /^(?:centos|rhes|scientific)(\d+)$/) { |
if ($distro =~ /^(?:centos|rhes|scientific)(\d+)$/) { |
if ($1 > 5) { |
if ($1 >= 7) { |
|
$configfile = 'apache2.4/httpd.conf'; |
|
} elsif ($1 > 5) { |
$configfile = 'new/httpd.conf'; |
$configfile = 'new/httpd.conf'; |
} |
} |
} elsif ($distro =~ /^fedora(\d+)$/) { |
} elsif ($distro =~ /^fedora(\d+)$/) { |
if ($1 > 10) { |
if ($1 > 17) { |
|
$configfile = 'apache2.4/httpd.conf'; |
|
} elsif ($1 > 10) { |
$configfile = 'new/httpd.conf'; |
$configfile = 'new/httpd.conf'; |
} |
} |
} |
} |
Line 857 sub need_download {
|
Line 955 sub need_download {
|
} |
} |
|
|
sub check_mysql_setup { |
sub check_mysql_setup { |
my ($instdir,$dsn) = @_; |
my ($instdir,$dsn,$distro,$mysql_has_wwwuser) = @_; |
my ($mysqlsetup,$has_pass); |
my ($mysqlsetup,$has_pass); |
my $dbh = DBI->connect($dsn,'root','',{'PrintError'=>0}); |
my $dbh = DBI->connect($dsn,'root','',{'PrintError'=>0}); |
if ($dbh) { |
if ($dbh) { |
$mysqlsetup = 'noroot'; |
$mysqlsetup = 'noroot'; |
} elsif ($DBI::err =~ /1045/) { |
} elsif ($DBI::err =~ /1045/) { |
$has_pass = 1; |
$has_pass = 1; |
|
} elsif ($distro =~ /^ubuntu(\d+)$/) { |
|
my $version = $1; |
|
if ($1 > 12) { |
|
print_and_log(&mt('Restarting mysql, please be patient')."\n"); |
|
if (open (PIPE, "service mysql restart 2>&1 |")) { |
|
while (<PIPE>) { |
|
print $_; |
|
} |
|
close(PIPE); |
|
} |
|
unless ($mysql_has_wwwuser) { |
|
$mysql_has_wwwuser = &check_mysql_wwwuser(); |
|
} |
|
$dbh = DBI->connect($dsn,'root','',{'PrintError'=>0}); |
|
if ($dbh) { |
|
$mysqlsetup = 'noroot'; |
|
} elsif ($DBI::err =~ /1045/) { |
|
$has_pass = 1; |
|
} else { |
|
$mysqlsetup = 'needsrestart'; |
|
return ($mysqlsetup,$has_pass,$dbh,$mysql_has_wwwuser); |
|
} |
|
} |
} |
} |
if ($has_pass) { |
if ($has_pass) { |
print &mt('You have already set a root password for the MySQL database.')."\n"; |
print &mt('You have already set a root password for the MySQL database.')."\n"; |
Line 890 sub check_mysql_setup {
|
Line 1011 sub check_mysql_setup {
|
} |
} |
} |
} |
} |
} |
} elsif ($mysqlsetup ne 'noroot') { |
} elsif ($mysqlsetup ne 'noroot') { |
print_and_log(&mt('Problem accessing MySQL.')."\n"); |
print_and_log(&mt('Problem accessing MySQL.')."\n"); |
$mysqlsetup = 'rootfail'; |
$mysqlsetup = 'rootfail'; |
} |
} |
return ($mysqlsetup,$has_pass,$dbh); |
return ($mysqlsetup,$has_pass,$dbh,$mysql_has_wwwuser); |
} |
} |
|
|
sub check_mysql_wwwuser { |
sub check_mysql_wwwuser { |
Line 1150 my %prompts = &texthash(
|
Line 1271 my %prompts = &texthash(
|
print "\n".&mt('Checking system status ...')."\n"; |
print "\n".&mt('Checking system status ...')."\n"; |
|
|
my $dsn = "DBI:mysql:database=mysql"; |
my $dsn = "DBI:mysql:database=mysql"; |
my ($distro,$gotprereqs,$localecmd,$packagecmd,$updatecmd,$installnow,$recommended, |
my ($distro,$gotprereqs,$localecmd,$packagecmd,$updatecmd,$installnow,$mysqlrestart, |
$dbh,$has_pass,$has_lcdb,$downloadstatus,$filetouse,$production, |
$recommended,$dbh,$has_pass,$has_lcdb,$downloadstatus,$filetouse,$production, |
$testing,$apachefw) = &check_required($instdir,$dsn); |
$testing,$apachefw,$uses_systemctl) = &check_required($instdir,$dsn); |
if ($distro eq '') { |
if ($distro eq '') { |
print "\n".&mt('Linux distribution could not be verified as a supported distribution.')."\n". |
print "\n".&mt('Linux distribution could not be verified as a supported distribution.')."\n". |
&mt('The following are supported: [_1].', |
&mt('The following are supported: [_1].', |
Line 1161 if ($distro eq '') {
|
Line 1282 if ($distro eq '') {
|
&mt('Stopping execution.')."\n"; |
&mt('Stopping execution.')."\n"; |
exit; |
exit; |
} |
} |
|
if ($mysqlrestart) { |
|
print "\n".&mt('The mysql daemon needs to be restarted using the following command:')."\n". |
|
$mysqlrestart."\n\n". |
|
&mt('Stopping execution of install.pl script.')."\n". |
|
&mt('Please run the install.pl script again, once you have restarted mysql.')."\n"; |
|
exit; |
|
} |
if ($localecmd ne '') { |
if ($localecmd ne '') { |
print "\n".&mt('Although the LON-CAPA application itself is localized for a number of different languages, the default locale language for the Linux OS on which it runs should be US English.')."\n"; |
print "\n".&mt('Although the LON-CAPA application itself is localized for a number of different languages, the default locale language for the Linux OS on which it runs should be US English.')."\n"; |
print "\n".&mt('Run the following command from the command line to set the default language for your OS, and then run this LON-CAPA installation set-up script again.')."\n\n". |
print "\n".&mt('Run the following command from the command line to set the default language for your OS, and then run this LON-CAPA installation set-up script again.')."\n\n". |
Line 1188 if (!$gotprereqs) {
|
Line 1316 if (!$gotprereqs) {
|
exit; |
exit; |
} else { |
} else { |
($distro,$gotprereqs,$localecmd,$packagecmd,$updatecmd,$installnow, |
($distro,$gotprereqs,$localecmd,$packagecmd,$updatecmd,$installnow, |
$recommended,$dbh,$has_pass,$has_lcdb,$downloadstatus, |
$mysqlrestart,$recommended,$dbh,$has_pass,$has_lcdb,$downloadstatus, |
$filetouse,$production,$testing,$apachefw) = |
$filetouse,$production,$testing,$apachefw,$uses_systemctl) = |
&check_required($instdir,$dsn); |
&check_required($instdir,$dsn); |
} |
} |
} else { |
} else { |
Line 1315 if ($callsub{'apache'}) {
|
Line 1443 if ($callsub{'apache'}) {
|
if ($distro =~ /^(suse|sles)/) { |
if ($distro =~ /^(suse|sles)/) { |
©_apache2_suseconf($instdir); |
©_apache2_suseconf($instdir); |
} elsif ($distro =~ /^(debian|ubuntu)/) { |
} elsif ($distro =~ /^(debian|ubuntu)/) { |
©_apache2_debconf($instdir); |
©_apache2_debconf($instdir,$distro); |
} else { |
} else { |
©_httpd_conf($instdir,$distro); |
©_httpd_conf($instdir,$distro); |
} |
} |
Line 1604 sub kill_extra_services {
|
Line 1732 sub kill_extra_services {
|
if ($distro =~ /^(debian|ubuntu)/) { |
if ($distro =~ /^(debian|ubuntu)/) { |
&print_and_log(`update-rc.d -f $daemon remove`); |
&print_and_log(`update-rc.d -f $daemon remove`); |
} else { |
} else { |
&print_and_log(`/sbin/chkconfig --del $service`); |
if (ref($uses_systemctl) eq 'HASH') { |
|
if ($uses_systemctl->{$service}) { |
|
if (`systemctl is-enabled $service`) { |
|
&print_and_log(`systemctl disable $service`); |
|
} |
|
} else { |
|
&print_and_log(`/sbin/chkconfig --del $service`); |
|
} |
|
} else { |
|
&print_and_log(`/sbin/chkconfig --del $service`); |
|
} |
} |
} |
} |
} |
} |
} |
Line 1735 sub get_mysql_version {
|
Line 1873 sub get_mysql_version {
|
my $info = <PIPE>; |
my $info = <PIPE>; |
chomp($info); |
chomp($info); |
close(PIPE); |
close(PIPE); |
($version) = ($info =~ /(\d+\.\d+)\.\d+,/); |
($version) = ($info =~ /(\d+\.\d+)\.\d+[\-\w]*,/); |
} else { |
} else { |
print &mt('Could not determine which version of MySQL is installed.'). |
print &mt('Could not determine which version of MySQL is installed.'). |
"\n"; |
"\n"; |
Line 1754 sub copy_httpd_conf {
|
Line 1892 sub copy_httpd_conf {
|
my ($instdir,$distro) = @_; |
my ($instdir,$distro) = @_; |
my $configfile = 'httpd.conf'; |
my $configfile = 'httpd.conf'; |
if ($distro =~ /^(?:centos|rhes|scientific)(\d+)$/) { |
if ($distro =~ /^(?:centos|rhes|scientific)(\d+)$/) { |
if ($1 > 5) { |
if ($1 >= 7) { |
|
$configfile = 'apache2.4/httpd.conf'; |
|
} elsif ($1 > 5) { |
$configfile = 'new/httpd.conf'; |
$configfile = 'new/httpd.conf'; |
} |
} |
} elsif ($distro =~ /^fedora(\d+)$/) { |
} elsif ($distro =~ /^fedora(\d+)$/) { |
if ($1 > 10) { |
if ($1 > 17) { |
|
$configfile = 'apache2.4/httpd.conf'; |
|
} elsif ($1 > 10) { |
$configfile = 'new/httpd.conf'; |
$configfile = 'new/httpd.conf'; |
} |
} |
} |
} |
Line 1778 sub copy_httpd_conf {
|
Line 1920 sub copy_httpd_conf {
|
######################################################### |
######################################################### |
|
|
sub copy_apache2_debconf { |
sub copy_apache2_debconf { |
my ($instdir) = @_; |
my ($instdir,$distro) = @_; |
print_and_log(&mt('Copying loncapa [_1] config file to [_2] and pointing [_3] to it from sites-enabled.',"'apache2'","'/etc/apache2/sites-available'","'000-default symlink'")."\n"); |
|
my $apache2_sites_enabled_dir = '/etc/apache2/sites-enabled'; |
|
my $apache2_sites_available_dir = '/etc/apache2/sites-available'; |
|
if (-l "$apache2_sites_enabled_dir/000-default") { |
|
unlink("$apache2_sites_enabled_dir/000-default"); |
|
} |
|
if (-e "$apache2_sites_available_dir/loncapa") { |
|
copy("$apache2_sites_available_dir/loncapa","$apache2_sites_available_dir/loncapa.original"); |
|
} |
|
copy("$instdir/debian-ubuntu/loncapa","$apache2_sites_available_dir/loncapa"); |
|
chmod(0444,"$apache2_sites_available_dir/loncapa"); |
|
symlink("$apache2_sites_available_dir/loncapa","$apache2_sites_enabled_dir/000-default"); |
|
my $apache2_mods_enabled_dir = '/etc/apache2/mods-enabled'; |
my $apache2_mods_enabled_dir = '/etc/apache2/mods-enabled'; |
my $apache2_mods_available_dir = '/etc/apache2/mods-available'; |
my $apache2_mods_available_dir = '/etc/apache2/mods-available'; |
foreach my $module ('headers.load','expires.load') { |
foreach my $module ('headers.load','expires.load') { |
Line 1799 sub copy_apache2_debconf {
|
Line 1929 sub copy_apache2_debconf {
|
print_and_log(&mt('Enabling "[_1]" Apache module.',$module)."\n"); |
print_and_log(&mt('Enabling "[_1]" Apache module.',$module)."\n"); |
} |
} |
} |
} |
|
my $apache2_sites_enabled_dir = '/etc/apache2/sites-enabled'; |
|
my $apache2_sites_available_dir = '/etc/apache2/sites-available'; |
|
my $defaultconfig = "$apache2_sites_enabled_dir/000-default"; |
|
my ($distname,$version); |
|
if ($distro =~ /^(debian|ubuntu)(\d+)$/) { |
|
$distname = $1; |
|
$version = $2; |
|
} |
|
if (($distname eq 'ubuntu') && ($version > 12)) { |
|
$defaultconfig = "$apache2_sites_enabled_dir/000-default.conf"; |
|
} |
|
if (-l $defaultconfig) { |
|
unlink($defaultconfig); |
|
} |
|
if (($distname eq 'ubuntu') && ($version > 12)) { |
|
print_and_log(&mt('Copying loncapa [_1] config file to [_2] and pointing [_3] to it from conf-enabled.',"'apache2'","'/etc/apache2/conf-available'","'loncapa.conf symlink'")."\n"); |
|
my $apache2_conf_enabled_dir = '/etc/apache2/conf-enabled'; |
|
my $apache2_conf_available_dir = '/etc/apache2/conf-available'; |
|
if (-e "$apache2_conf_available_dir/loncapa") { |
|
copy("$apache2_conf_available_dir/loncapa","$apache2_conf_available_dir/loncapa.original"); |
|
} |
|
my $defaultconf = $apache2_conf_enabled_dir.'/loncapa.conf'; |
|
copy("$instdir/debian-ubuntu/ubuntu14/loncapa_conf","$apache2_conf_available_dir/loncapa"); |
|
chmod(0444,"$apache2_conf_available_dir/loncapa"); |
|
if (-l $defaultconf) { |
|
unlink($defaultconf); |
|
} |
|
symlink("$apache2_conf_available_dir/loncapa","$defaultconf"); |
|
print_and_log(&mt('Copying loncapa [_1] site file to [_2] and pointing [_3] to it from sites-enabled.',"'apache2'","'/etc/apache2/sites-available'","'000-default.conf symlink'")."\n"); |
|
copy("$instdir/debian-ubuntu/ubuntu14/loncapa_site","$apache2_sites_available_dir/loncapa"); |
|
chmod(0444,"$apache2_sites_available_dir/loncapa"); |
|
symlink("$apache2_sites_available_dir/loncapa","$defaultconfig"); |
|
} else { |
|
print_and_log(&mt('Copying loncapa [_1] config file to [_2] and pointing [_3] to it from sites-enabled.',"'apache2'","'/etc/apache2/sites-available'","'000-default symlink'")."\n"); |
|
if (-e "$apache2_sites_available_dir/loncapa") { |
|
copy("$apache2_sites_available_dir/loncapa","$apache2_sites_available_dir/loncapa.original"); |
|
} |
|
copy("$instdir/debian-ubuntu/loncapa","$apache2_sites_available_dir/loncapa"); |
|
chmod(0444,"$apache2_sites_available_dir/loncapa"); |
|
symlink("$apache2_sites_available_dir/loncapa","$apache2_sites_enabled_dir/000-default"); |
|
} |
print_and_log("\n"); |
print_and_log("\n"); |
} |
} |
|
|