Diff for /doc/install/redhat7.3/install.pl between versions 1.1 and 1.15

version 1.1, 2002/06/19 19:16:54 version 1.15, 2002/12/18 16:34:09
Line 24 Line 24
 #  #
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
   
 ##  ##
 ## Obvious flaws of this program:   ## Obvious flaws of this program: 
 ##   Dieing on every error may be a little extreme.  On the other hand,   ##   Dieing on every error may be a little extreme.  On the other hand, 
Line 35 Line 36
 ##       what nonsense we can put up with.  Of course, we will have to   ##       what nonsense we can put up with.  Of course, we will have to 
 ##       explain that to people at some point...  ##       explain that to people at some point...
 ##   There is probably an overuse of elipses (...) in the comments.  ##   There is probably an overuse of elipses (...) in the comments.
   ##   It might be nice to check that all the files we need are here.
   ##   Appletalk is installed but does not work and gives errors on
   ##       boot up.  I have not been able to find a clean way to get the
   ##       appletalk support working but the powers that be insist on it.
 ##  ##
   
   #
   # Needed files:
   #
   #    The following files are assumed to be present in the current
   #    directory:
   #      RPMS:
   #        ImageMagick-5.4.3.11-1.i386.rpm
   #        ImageMagick-devel-5.4.3.11-1.i386.rpm
   #        ImageMagick-perl-5.4.3.11-1.i386.rpm
   #        gnuplot-3.7.1-5.i386.rpm
   #        libgd-1.3-4.i386.rpm
   #        libungif-progs-4.1.0-9.i386.rpm
   #        ncurses4-5.0-5.i386.rpm
   #        readline-2.2.1-6.i386.rpm
   #        readline-4.2a-4.i386.rpm
   #        perl-DBD-MySQL-1.2216-4.i386.rpm
   #        perl-DBI-1.21-1.i386.rpm
   #        mod_perl-1.26-5.i386.rpm
   #        perl-suidperl-5.6.1-34.99.6.i386.rpm
   #        LONCAPA-0.6.0-1.i386.rpm
   #        mysql-3.23.49-3.i386.rpm
   #        mysqlclient9-3.23.22-6.i386.rpm
   #        mysql-server-3.23.49-3.i386.rpm
   #        hwcrypto-1.0-3.i386.rpm
   #        m2crypto-0.05_snap4-2.i386.rpm
   #        netpbm-9.24-3.i386.rpm
   #        netpbm-progs-9.24-3.i386.rpm
   #        krb5-libs-1.2.4-3.i386.rpm
   #      Other files:
   #        httpd.conf
   #        mod_auth_external-2.1.13.tar.gz
   #
   #    The contingency plan for a 7.2 install tells the user to install these
   #    from the current directory.
   #        perl-5.6.1-34.99.6.i386.rpm
   #        perl-CGI-2.752-34.99.6.i386.rpm
   #
   
 use strict;  use strict;
 use File::Copy;  use File::Copy;
   
Line 43  my $result; Line 87  my $result;
 my $test;  my $test;
   
 # note: The filehandle LOG is global.  # note: The filehandle LOG is global.
 open LOG,">/tmp/loncapa_install.log" || die "Unable to open log file.\n";  open LOG,">loncapa_install.log" || die "Unable to open log file.\n";
   
 # Some friendly subroutines  # Some friendly subroutines
 sub die_if_nonempty {  sub die_if_nonempty {
Line 103  END Line 147  END
 print <<"END";  print <<"END";
 ********************************************************************  ********************************************************************
   
                         Welcome to LON-CAPA                      Welcome to LON-CAPA 0.6.0
   
 This script will install the base software that LON-CAPA needs to  This script will install the base software that LON-CAPA needs to
 run properly.   run properly. 
Line 120  chomp($instdir); Line 164  chomp($instdir);
 # This list of rpms needs to be pared down to some extent.  # This list of rpms needs to be pared down to some extent.
 #  #
   
   my @apache_rpms = (
                "$instdir/apache-1.3.23-14.i386.rpm"
                      );
   
   my @openssh_rpms = (
                "$instdir/openssh-3.1p1-6.i386.rpm",
                "$instdir/openssh-askpass-3.1p1-6.i386.rpm",
                "$instdir/openssh-clients-3.1p1-6.i386.rpm",
                "$instdir/openssh-server-3.1p1-6.i386.rpm"
                   );
   # Check for gnome-askpass installation.
   if (-e "/etc/profile.d/gnome-ssh-askpass.sh") {
       push @openssh_rpms,"$instdir/openssh-askpass-gnome-3.1p1-6.i386.rpm";
   }
   
   my @ImageMagick_rpms = (
                "$instdir/ImageMagick-5.4.3.11-1.i386.rpm",
                "$instdir/ImageMagick-devel-5.4.3.11-1.i386.rpm",
                "$instdir/ImageMagick-perl-5.4.3.11-1.i386.rpm",
                          );
   
 my @gnuplot_rpms = (  my @gnuplot_rpms = (
              "$instdir/gnuplot-3.7.1-5.i386.rpm",               "$instdir/gnuplot-3.7.1-5.i386.rpm",
              "$instdir/libgd-1.3-4.i386.rpm",               "$instdir/libgd-1.3-4.i386.rpm",
Line 135  my @perl_rpms = ( Line 200  my @perl_rpms = (
              "$instdir/perl-suidperl-5.6.1-34.99.6.i386.rpm",               "$instdir/perl-suidperl-5.6.1-34.99.6.i386.rpm",
                  );                   );
 my @loncapa_perl_rpms = (  my @loncapa_perl_rpms = (
              "$instdir/LON-CAPA-systemperl-3.4-rh72.i386.rpm"               "$instdir/LONCAPA-0.6.0-1.i386.rpm",
                "$instdir/netpbm-9.24-3.i386.rpm",
                "$instdir/netpbm-progs-9.24-3.i386.rpm",
                "$instdir/krb5-libs-1.2.4-3.i386.rpm",
                "$instdir/krb5-devel-1.2.4-3.i386.rpm",
                "$instdir/LON-CAPA-krb4-3.1-1.i386.rpm",
                     );                      );
 my @mysql_rpms = (  my @mysql_rpms = (
              "$instdir/mysql-3.23.49-3.i386.rpm",          # okay w/o f,nd               "$instdir/mysql-3.23.49-3.i386.rpm",          # okay w/o f,nd
Line 145  my @mysql_rpms = ( Line 215  my @mysql_rpms = (
 my @misc_rpms = (  my @misc_rpms = (
              "$instdir/hwcrypto-1.0-3.i386.rpm",           # already installed               "$instdir/hwcrypto-1.0-3.i386.rpm",           # already installed
              "$instdir/m2crypto-0.05_snap4-2.i386.rpm",    # okay w/o f,nd               "$instdir/m2crypto-0.05_snap4-2.i386.rpm",    # okay w/o f,nd
              "$instdir/netatalk-1.5pre6-1rh7.i386.rpm"     # hmmmm               "$instdir/tetex-dvips-1.0.7-47.i386.rpm"      
              );               );
 ##  ##
 ## Okay, I have tried being nice about this and not doing '--force --nodeps',  ## Okay, I have tried being nice about this and not doing '--force --nodeps',
 ## but it is an exercise in frustration.  It would be nice to be kind, but  ## but it is an exercise in frustration.  It would be nice to be kind, but
 ## frankly I do not want to spend the time to figure this out.  ## frankly I do not want to spend the time to figure this out.
 ##  ##
   
   print_and_log("Installing Apache packages.\n");
   writelog (`rpm -Uvh @apache_rpms`);
   print_and_log("Installing openssh packages.\n");
   writelog (`rpm -Uvh @openssh_rpms`);
   system("/etc/init.d/sshd start");
   print_and_log("Installing ImageMagick packages.\n");
   writelog (`rpm -ivh --force --nodeps @ImageMagick_rpms`);
 print_and_log("Installing mysql packages.\n");  print_and_log("Installing mysql packages.\n");
 writelog (`rpm -ivh --force --nodeps @mysql_rpms`);  writelog (`rpm -ivh --force --nodeps @mysql_rpms`);
 print_and_log("Installing gnuplot packages.\n");  print_and_log("Installing gnuplot packages.\n");
Line 162  print_and_log("Installing Perl packages. Line 240  print_and_log("Installing Perl packages.
 writelog (`rpm -ivh --force --nodeps @perl_rpms`);  writelog (`rpm -ivh --force --nodeps @perl_rpms`);
 print_and_log("Installing misc packages.\n");  print_and_log("Installing misc packages.\n");
 writelog (`rpm -ivh --force --nodeps @misc_rpms`);  writelog (`rpm -ivh --force --nodeps @misc_rpms`);
 system("/etc/init.d/sshd start");  
 print_and_log("\n");  print_and_log("\n");
   
 ##  ##
Line 265  writelog("mysql links created successful Line 342  writelog("mysql links created successful
 writelog(`/etc/rc.d/init.d/mysqld start`);  writelog(`/etc/rc.d/init.d/mysqld start`);
 print_and_log("Waiting for mysql daemon to start.\n");  print_and_log("Waiting for mysql daemon to start.\n");
 sleep 5;  sleep 5;
 if (`/etc/rc.d/init.d/mysqld status` !~ / is running/) {  my $status = system("/etc/rc.d/init.d/mysqld status");
   if ($status != 0) {
     die "Unable to start mysql daemon\nHalting\n";      die "Unable to start mysql daemon\nHalting\n";
   } else {
       print_and_log("Mysql daemon is running.\n");
 }  }
 print_and_log("\n");  print_and_log("\n");
   
Line 291  print MYSQL <<"ENDMYSQL"; Line 371  print MYSQL <<"ENDMYSQL";
 CREATE DATABASE loncapa;  CREATE DATABASE loncapa;
 INSERT INTO user (Host, User, Password)  INSERT INTO user (Host, User, Password)
 VALUES ('localhost','www',password('localhostkey'));  VALUES ('localhost','www',password('localhostkey'));
 GRANT ALL PRIVILEGES ON *.* TO www\@localhost;  INSERT INTO db VALUES ('localhost','loncapa','www',
   'Y','Y','Y','Y','Y','Y','N','Y','Y','Y');
 SET PASSWORD FOR root\@localhost=PASSWORD('$rootpass');  SET PASSWORD FOR root\@localhost=PASSWORD('$rootpass');
 DELETE FROM user WHERE host<>'localhost';  DELETE FROM user WHERE host<>'localhost';
 FLUSH PRIVILEGES;  FLUSH PRIVILEGES;
Line 352  print_and_log("\n"); Line 433  print_and_log("\n");
 ##  ##
 ## Retrieve loncapa.tar.gz  ## Retrieve loncapa.tar.gz
 ##  ##
 if (! -e "$instdir/loncapa.tar.gz") {  my $lctarball = 'loncapa-current.tar.gz';
     print_and_log("Retrieving LON-CAPA source files from install.loncapa.org\n");  if (! -e "$instdir/$lctarball") {
     system("wget http://install.loncapa.org/versions/current/loncapa.tar.gz 2>/dev/null 1>/dev/null");      print_and_log("Retrieving LON-CAPA source files from install.loncapa.org\n")
     if (! -e "./loncapa.tar.gz") {  ;
       system("wget http://install.loncapa.org/versions/$lctarball 2>/dev/null 1>/d
   ev/null");
       if (! -e "./$lctarball") {
         die("Unable to retrieve LON-CAPA source files from\n".          die("Unable to retrieve LON-CAPA source files from\n".
             "http://install.loncapa.org/versions/current/loncapa.tar.gz\n");              "http://install.loncapa.org/versions/$lctarball\n");
     }      }
     print_and_log("\n");      print_and_log("\n");
 } else {  } else {
     print_and_log(<<"END");      print_and_log(<<"END");
 ------------------------------------------------------------------------  ------------------------------------------------------------------------
   
 You seem to have a version of loncapa.tar.gz in $instdir.    You seem to have a version of loncapa-current.tar.gz in $instdir.  
 This copy will be used and a new version will NOT be downloaded.    This copy will be used and a new version will NOT be downloaded.  
 If you wish, you may download a new version by executing:  If you wish, you may download a new version by executing:
   
 wget http://install.loncapa.org/versions/current/loncapa.tar.gz  wget http://install.loncapa.org/versions/loncapa-current.tar.gz
   
 ------------------------------------------------------------------------  ------------------------------------------------------------------------
 END  END
Line 378  END Line 462  END
 ## untar loncapa.tar.gz  ## untar loncapa.tar.gz
 ##  ##
 print_and_log("Extracting LON-CAPA source files\n");  print_and_log("Extracting LON-CAPA source files\n");
 writelog(`cd ~root; tar zxf $instdir/loncapa.tar.gz`);  writelog(`cd ~root; tar zxf $instdir/loncapa-current.tar.gz`);
 print_and_log("\n");  print_and_log("\n");
   
 my $version = `cat /etc/redhat-release`;  my $version = `cat /etc/redhat-release`;
Line 389  commands now: Line 473  commands now:
 rpm -Uvh perl-5.6.1-34.99.6.i386.rpm  rpm -Uvh perl-5.6.1-34.99.6.i386.rpm
 rpm -Uvh perl-CGI-2.752-34.99.6.i386.rpm  rpm -Uvh perl-CGI-2.752-34.99.6.i386.rpm
   
 cd /root/loncapa  cd /root/loncapa-N.N     (N.N should correspond to a version number like '0.4')
 ./UPDATE  ./UPDATE
   
 END  END
Line 401  END Line 485  END
 All of the extra files seem to have been installed correctly.  It remains for   All of the extra files seem to have been installed correctly.  It remains for 
 you to execute the following commands:  you to execute the following commands:
   
 cd /root/loncapa;  cd /root/loncapa-N.N     (N.N should correspond to a version number like '0.4')
 ./UPDATE  ./UPDATE
   
 If you have any trouble, please see http://install.loncapa.org and   If you have any trouble, please see http://install.loncapa.org/ and 
 http://help.loncapa.org.    http://help.loncapa.org/.  
 ENDMSG  ENDMSG
 }  }
   
 close LOG;  close LOG;
   

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


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