Diff for /loncom/build/system_dependencies/sqltest.pl between versions 1.1 and 1.4

version 1.1, 2001/09/30 20:57:58 version 1.4, 2002/05/11 21:33:30
Line 6 Line 6
 #  #
 # YEAR=2001  # YEAR=2001
 # 9/25,9/30 Scott Harrison  # 9/25,9/30 Scott Harrison
 #  # YEAR=2002
   # 5/10,5/11 Scott Harrison
   
 ###############################################################################  ###############################################################################
 ##                                                                           ##  ##                                                                           ##
Line 38  use DBI; Line 39  use DBI;
   
 # ---------------------------- Print MIME Content-type and other initialization  # ---------------------------- Print MIME Content-type and other initialization
 $|=1;  $|=1;
 print 'Content-type: text/plain'."\n\n";  print 'Probing for SQL metadata database'."\n\n";
   
 # --- Make sure that database can be accessed and that this is a library server  # --- Make sure that database can be accessed and that this is a library server
 # library server test  # library server test
Line 46  my %perlvar; Line 47  my %perlvar;
 open (CONFIG,"/etc/httpd/conf/access.conf") ||   open (CONFIG,"/etc/httpd/conf/access.conf") || 
     (print "Can't read access.conf\n" && exit);      (print "Can't read access.conf\n" && exit);
 while (my $configline=<CONFIG>) {  while (my $configline=<CONFIG>) {
     if ($configline =~ /PerlSetVar/) {      if ($configline =~ /^[^\#]*PerlSetVar/) {
    my ($dummy,$varname,$varvalue)=split(/\s+/,$configline);
           chomp($varvalue);
           $perlvar{$varname}=$varvalue;
       }
   }
   close(CONFIG);
   open (CONFIG,"/etc/httpd/conf/loncapa.conf") || 
       (print "Can't read loncapa.conf\n" && exit);
   while (my $configline=<CONFIG>) {
       if ($configline =~ /^[^\#]*PerlSetVar/) {
  my ($dummy,$varname,$varvalue)=split(/\s+/,$configline);   my ($dummy,$varname,$varvalue)=split(/\s+/,$configline);
         chomp($varvalue);          chomp($varvalue);
         $perlvar{$varname}=$varvalue;          $perlvar{$varname}=$varvalue;
Line 66  my $dbh; Line 77  my $dbh;
  { RaiseError =>0,PrintError=>0})   { RaiseError =>0,PrintError=>0})
     ) {       ) { 
  print "Cannot connect to database!\n";   print "Cannot connect to database!\n";
    my $checkDBImodule=`perl pmvers DBI 2>/dev/null`;
    my $checkMYSQLmodule=`perl pmvers Mysql 2>/dev/null`;
    my $checkprocess=`/etc/rc.d/init.d/mysqld status`;
    if (!$checkDBImodule) {
       print "**** ERROR **** SYSTEM IS MISSING THE DBI PERL ".
    "MODULE (DBI.pm)\n";
    }
    elsif (!$checkMYSQLmodule) {
       print "**** ERROR **** SYSTEM IS MISSING THE MYSQL PERL ".
    "MODULE (Mysql.pm)\n";
    }
    elsif (!-e '/etc/rc.d/init.d/mysqld') {
       print "**** ERROR **** IT APPEARS THAT THE MYSQL SERVER HAS NOT ".
    "BEEN INSTALLED\n";
    }
    elsif ($checkprocess=~/is stopped/) {
       print "**** ERROR **** IT APPEARS THAT THE MYSQL SERVER IS NOT ".
    "RUNNING\n";
       print(<<END);
   To fix temporarily, run the command:
      /etc/rc.d/init.d/mysqld start
   
   You may also want to check and see that mysqld is started on boot time.
   
      /sbin/chkconfig --list mysqld
   
   This is bad output:
   mysqld         0:off  1:off  2:off  3:off  4:off  5:off  6:off
   
   This is good output:
   mysqld         0:off  1:off  2:off  3:on   4:on   5:on   6:off
   
   To configure mysqld to launch correctly upon system startup, type the command:
      /sbin/chkconfig --level 345 mysqld on
   END
    }
    else {
       print "**** ERROR **** IT APPEARS THAT WWW\@LOCALHOST AND/OR ".
    "PASSWORD ARE NOT CORRECTLY ENABLED\n";
       print(<<END);
   To diagnose, try logging in from the command line with
          mysql -u www -p mysql
   and use the lonSqlAccess password
   listed in loncapa.conf (PerlSetVar lonSqlAccess ....).
   If this does not work, you may need to REMOVE the www\@localhost MySQL user.
   mysql -u root -p mysql
   mysql> delete from user where user='www'
   And then, you will need to repeat the MySQL configuration steps described at:
          http://install.lon-capa.org/.
   
   **** NOTE **** ANOTHER possibility is that you are not running
   a compatible set of DBI, Mysql perl modules and MySQL server software.
   END
    }
  exit 1;   exit 1;
     }      }
 }  }
 %perlvar=(); # undefine it  %perlvar=(); # undefine it
   
   print "SQL metadata database is found and is accessible\n";
   
 # --------------------------------------------------- Close database connection  # --------------------------------------------------- Close database connection
 $dbh->disconnect();  $dbh->disconnect();

Removed from v.1.1  
changed lines
  Added in v.1.4


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