Diff for /doc/install/linux/install.pl between versions 1.24 and 1.31

version 1.24, 2013/01/06 23:04:07 version 1.31, 2014/06/30 14:55:40
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 339  sub check_locale { Line 349  sub check_locale {
     my @data = <$fh>;      my @data = <$fh>;
     chomp(@data);      chomp(@data);
     foreach my $item (@data) {      foreach my $item (@data) {
         if ($item =~ /^\Q$langvar\E=\"([^\"]*)\"/) {          if ($item =~ /^\Q$langvar\E=\"?([^\"]*)\"?/) {
             my $default = $1;              my $default = $1;
             if ($default ne 'en_US.UTF-8') {              if ($default ne 'en_US.UTF-8') {
                 if ($distro =~ /^debian/) {                  if ($distro =~ /^debian/) {
                     $command = 'dpkg-reconfigure locales';                      $command = 'locale-gen en_US.UTF-8'."\n".
                                  'update-locale LANG=en_US.UTF-8';
                 } elsif ($distro =~ /^ubuntu/) {                  } elsif ($distro =~ /^ubuntu/) {
                     $command = 'sudo set-language-env -E';                       $command = 'sudo locale-gen en_US.UTF-8'."\n".
                                  'sudo update-locale LANG=en_US.UTF-8';
                 } elsif ($distro =~ /^(suse|sles)/) {                  } elsif ($distro =~ /^(suse|sles)/) {
                     $command = 'yast language';                       $command = 'yast language'; 
                 } else {                  } else {
Line 435  sub check_mysql_running { Line 447  sub check_mysql_running {
             $use_systemctl = 1;              $use_systemctl = 1;
         }          }
     }      }
       if ($distro =~ /^(?:centos|rhes|scientific)(\d+)/) {
           if ($1 >= 7) {
               $mysqldaemon ='mariadb';
               $process = 'mysqld';
               $proc_owner = 'mysql';
               $use_systemctl = 1;
           }
       }
     if (open(PIPE,"ps -ef |grep $process |grep -v grep 2>&1 |")) {      if (open(PIPE,"ps -ef |grep $process |grep -v grep 2>&1 |")) {
         my $status = <PIPE>;          my $status = <PIPE>;
         close(PIPE);          close(PIPE);
Line 503  sub chkconfig { Line 523  sub chkconfig {
         if ($distro =~ /^(suse|sles)9/) {          if ($distro =~ /^(suse|sles)9/) {
             $daemon{'apache'} = 'apache';              $daemon{'apache'} = 'apache';
         }          }
           if ($distro =~ /^suse(\d+)/) {
               if ($1 > 11) {
                   $uses_systemctl{'apache'} = 1;
               }
           }
     } 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 514  sub chkconfig { Line 539  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 523  sub chkconfig { Line 548  sub chkconfig {
             $uses_systemctl{'mysql'} = 1;              $uses_systemctl{'mysql'} = 1;
             $uses_systemctl{'apache'} = 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;      my $nocheck;
     if (! -x $checker_bin) {      if (! -x $checker_bin) {
Line 649  sub chkfirewall { Line 682  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+)$/) {
           my $distname = $1;
           my $version = $2;
         if (!-e "$instdir/debian-ubuntu/loncapa") {          if (!-e "$instdir/debian-ubuntu/loncapa") {
             $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 = "/etc/apache2/sites-available/loncapa";
                 my $diffres = <PIPE>;              if (($distname eq 'ubuntu') && ($version > 12)) {
                 close(PIPE);                  $configfile = "/etc/apache2/conf-available/loncapa";
                 chomp($diffres);              }
                 unless ($diffres) {              if (-e $configfile) {
                     $fixapache = 0;                  if (open(PIPE, "diff --brief $instdir/debian-ubuntu/loncapa $configfile |")) {
                       my $diffres = <PIPE>;
                       close(PIPE);
                       chomp($diffres);
                       unless ($diffres) {
                           $fixapache = 0;
                       }
                 }                  }
             }              }
         }          }
Line 705  sub chkapache { Line 746  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 1313  if ($callsub{'apache'}) { Line 1358  if ($callsub{'apache'}) {
     if ($distro =~ /^(suse|sles)/) {      if ($distro =~ /^(suse|sles)/) {
         &copy_apache2_suseconf($instdir);          &copy_apache2_suseconf($instdir);
     } elsif ($distro =~ /^(debian|ubuntu)/) {      } elsif ($distro =~ /^(debian|ubuntu)/) {
         &copy_apache2_debconf($instdir);          &copy_apache2_debconf($instdir,$distro);
     } else {      } else {
         &copy_httpd_conf($instdir,$distro);          &copy_httpd_conf($instdir,$distro);
     }      }
Line 1752  sub copy_httpd_conf { Line 1797  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 1776  sub copy_httpd_conf { Line 1825  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 1797  sub copy_apache2_debconf { Line 1834  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 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");
           chmod(0444,"$apache2_conf_available_dir/loncapa");
           symlink("$apache2_conf_available_dir/loncapa","$apache2_conf_enabled_dir/loncapa.conf");
       } 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");
 }  }
   

Removed from v.1.24  
changed lines
  Added in v.1.31


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>