--- doc/install/linux/install.pl 2014/06/04 00:25:32 1.28 +++ doc/install/linux/install.pl 2014/12/19 14:34:36 1.33 @@ -72,7 +72,7 @@ if (!open(LOG,">>loncapa_install.log")) &mt('Stopping execution.')."\n"; exit; } else { - print LOG '$Id: install.pl,v 1.28 2014/06/04 00:25:32 raeburn Exp $'."\n"; + print LOG '$Id: install.pl,v 1.33 2014/12/19 14:34:36 raeburn Exp $'."\n"; } # @@ -330,6 +330,16 @@ sub check_locale { print &mt('Failed to open: [_1], default locale not checked.', '/etc/sysconfig/i18n'); } + } elsif ($distro =~ /^(?:rhes|centos|scientific)(\d+)/) { + if ($1 >= 7) { + if (!open($fh,"= 7) { + $mysqldaemon ='mariadb'; + $process = 'mysqld'; + $proc_owner = 'mysql'; + $use_systemctl = 1; + } + } if (open(PIPE,"ps -ef |grep $process |grep -v grep 2>&1 |")) { my $status = ; close(PIPE); @@ -530,6 +548,14 @@ sub chkconfig { $uses_systemctl{'mysql'} = 1; $uses_systemctl{'apache'} = 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; + $daemon{'mysql'} = 'mariadb'; + } } my $nocheck; if (! -x $checker_bin) { @@ -659,16 +685,26 @@ sub chkapache { if ($distro =~ /^(debian|ubuntu)(\d+)$/) { my $distname = $1; my $version = $2; - if (!-e "$instdir/debian-ubuntu/loncapa") { + 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; print &mt('Warning: No LON-CAPA Apache configuration file found for installation check.')."\n"; } else { - my $configfile = "/etc/apache2/sites-available/loncapa"; + my ($configfile,$sitefile); if (($distname eq 'ubuntu') && ($version > 12)) { + $sitefile = '/etc/apache2/sites-available/loncapa'; $configfile = "/etc/apache2/conf-available/loncapa"; + } else { + $configfile = "/etc/apache2/sites-available/loncapa"; } - if (-e $configfile) { - if (open(PIPE, "diff --brief $instdir/debian-ubuntu/loncapa /etc/apache2/sites-available/loncapa |")) { + if (($configfile ne '') && (-e $configfile) && (-e $stdconf)) { + if (open(PIPE, "diff --brief $stdconf $configfile |")) { my $diffres = ; close(PIPE); chomp($diffres); @@ -677,6 +713,18 @@ sub chkapache { } } } + if ((!$fixapache) && ($distname eq 'ubuntu') && ($version > 12)) { + if (($sitefile ne '') && (-e $sitefile) && (-e $stdsite)) { + if (open(PIPE, "diff --brief $stdsite $sitefile |")) { + my $diffres = ; + close(PIPE); + chomp($diffres); + unless ($diffres) { + $fixapache = 0; + } + } + } + } } if (!$fixapache) { foreach my $module ('headers.load','expires.load') { @@ -720,11 +768,15 @@ sub chkapache { } else { my $configfile = 'httpd.conf'; if ($distro =~ /^(?:centos|rhes|scientific)(\d+)$/) { - if ($1 > 5) { + if ($1 >= 7) { + $configfile = 'apache2.4/httpd.conf'; + } elsif ($1 > 5) { $configfile = 'new/httpd.conf'; } } elsif ($distro =~ /^fedora(\d+)$/) { - if ($1 > 10) { + if ($1 > 17) { + $configfile = 'apache2.4/httpd.conf'; + } elsif ($1 > 10) { $configfile = 'new/httpd.conf'; } } @@ -1767,11 +1819,15 @@ sub copy_httpd_conf { my ($instdir,$distro) = @_; my $configfile = 'httpd.conf'; if ($distro =~ /^(?:centos|rhes|scientific)(\d+)$/) { - if ($1 > 5) { + if ($1 >= 7) { + $configfile = 'apache2.4/httpd.conf'; + } elsif ($1 > 5) { $configfile = 'new/httpd.conf'; } } elsif ($distro =~ /^fedora(\d+)$/) { - if ($1 > 10) { + if ($1 > 17) { + $configfile = 'apache2.4/httpd.conf'; + } elsif ($1 > 10) { $configfile = 'new/httpd.conf'; } } @@ -1815,15 +1871,23 @@ sub copy_apache2_debconf { 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 symlink'")."\n"); + 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"); } - copy("$instdir/debian-ubuntu/loncapa","$apache2_conf_available_dir/loncapa"); + 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"); - symlink("$apache2_conf_available_dir/loncapa","$apache2_conf_enabled_dir/loncapa.conf"); + 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") {