[LON-CAPA-cvs] cvs: loncom /build/system_dependencies sqltest.pl

harris41 lon-capa-cvs@mail.lon-capa.org
Fri, 10 May 2002 01:32:38 -0000


harris41		Thu May  9 21:32:38 2002 EDT

  Modified files:              
    /loncom/build/system_dependencies	sqltest.pl 
  Log:
  making output of test more intelligent when DBI:mysql:loncapa
  command doesn't work; BUG 428
  
  
Index: loncom/build/system_dependencies/sqltest.pl
diff -u loncom/build/system_dependencies/sqltest.pl:1.2 loncom/build/system_dependencies/sqltest.pl:1.3
--- loncom/build/system_dependencies/sqltest.pl:1.2	Sun Sep 30 17:00:43 2001
+++ loncom/build/system_dependencies/sqltest.pl	Thu May  9 21:32:38 2002
@@ -66,6 +66,60 @@
 				{ RaiseError =>0,PrintError=>0})
 	    ) { 
 	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;
     }
 }