[LON-CAPA-cvs] cvs: doc /install/redhat7.3 install.pl

matthew lon-capa-cvs@mail.lon-capa.org
Tue, 07 Jan 2003 20:46:19 -0000


This is a MIME encoded message

--matthew1041972379
Content-Type: text/plain

matthew		Tue Jan  7 15:46:19 2003 EDT

  Modified files:              
    /doc/install/redhat7.3	install.pl 
  Log:
  No longer do stupid --force --nodeps on rpm installs.  Call chkconfig to 
  ensure services are going to be started okay.  Added ntp (and libcap, which
  it requires) to the installation.  ntp is not configured and no mention
  is made of it during the install.
  
  
--matthew1041972379
Content-Type: text/plain
Content-Disposition: attachment; filename="matthew-20030107154619.txt"

Index: doc/install/redhat7.3/install.pl
diff -u doc/install/redhat7.3/install.pl:1.15 doc/install/redhat7.3/install.pl:1.16
--- doc/install/redhat7.3/install.pl:1.15	Wed Dec 18 11:34:09 2002
+++ doc/install/redhat7.3/install.pl	Tue Jan  7 15:46:19 2003
@@ -2,7 +2,7 @@
 # The LearningOnline Network 
 # Red Hat 7.3 installation script
 #
-# $Id: install.pl,v 1.15 2002/12/18 16:34:09 matthew Exp $
+# $Id: install.pl,v 1.16 2003/01/07 20:46:19 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -61,7 +61,7 @@
 #        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
+#        LON-CAPA-systemperl-3.5-rh7.i386.rpm
 #        mysql-3.23.49-3.i386.rpm
 #        mysqlclient9-3.23.22-6.i386.rpm
 #        mysql-server-3.23.49-3.i386.rpm
@@ -165,7 +165,7 @@
 #
 
 my @apache_rpms = (
-             "$instdir/apache-1.3.23-14.i386.rpm"
+             "$instdir/apache-1.3.23-14.i386.rpm",
                    );
 
 my @openssh_rpms = (
@@ -174,73 +174,105 @@
              "$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 = (
+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 = (
-             "$instdir/gnuplot-3.7.1-5.i386.rpm",
-             "$instdir/libgd-1.3-4.i386.rpm",
-             "$instdir/libungif-progs-4.1.0-9.i386.rpm",
-             "$instdir/ncurses4-5.0-5.i386.rpm",
-             "$instdir/readline-2.2.1-6.i386.rpm",
-             "$instdir/readline-4.2a-4.i386.rpm"
-                    );
+my @mysql_rpms = (
+             "$instdir/mysql-3.23.49-3.i386.rpm",
+             "$instdir/mysqlclient9-3.23.22-6.i386.rpm",
+             "$instdir/mysql-server-3.23.49-3.i386.rpm",
+                  );
+
 my @perl_rpms = ( 
              "$instdir/perl-DBD-MySQL-1.2216-4.i386.rpm",
              "$instdir/perl-DBI-1.21-1.i386.rpm",
-             "$instdir/mod_perl-1.26-5.i386.rpm",
              "$instdir/perl-suidperl-5.6.1-34.99.6.i386.rpm",
                  );
+
+my @old_readline_rpms = (
+             "$instdir/readline-2.2.1-6.i386.rpm", # requires -i --oldpackage, 
+                                                   # not -Uvh
+                         );
+my @gnuplot_rpms = ( # must be done after readline-2.2.1-6
+             "$instdir/libgd-1.3-4.i386.rpm", 
+             "$instdir/libungif-progs-4.1.0-9.i386.rpm",
+             "$instdir/ncurses4-5.0-5.i386.rpm",
+             "$instdir/gnuplot-3.7.1-5.i386.rpm",
+                    );
+
 my @loncapa_perl_rpms = (
-             "$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 = (
-             "$instdir/mysql-3.23.49-3.i386.rpm",          # okay w/o f,nd
-             "$instdir/mysqlclient9-3.23.22-6.i386.rpm",   # okay w/o f,nd
-             "$instdir/mysql-server-3.23.49-3.i386.rpm",   # okay w/o f,nd
-                  );
 my @misc_rpms = (
-             "$instdir/hwcrypto-1.0-3.i386.rpm",           # already installed
-             "$instdir/m2crypto-0.05_snap4-2.i386.rpm",    # okay w/o f,nd
-             "$instdir/tetex-dvips-1.0.7-47.i386.rpm"      
+             "$instdir/m2crypto-0.05_snap4-2.i386.rpm",
+             "$instdir/tetex-dvips-1.0.7-47.i386.rpm",
+             "$instdir/ntp-4.1.1-1.i386.rpm",
+             "$instdir/libcap-1.10-8.i386.rpm",
              );
+
+my $systemperl = "$instdir/LON-CAPA-systemperl-3.5-rh7.i386.rpm";
+
 ##
-## 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
-## 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");
-writelog (`rpm -ivh --force --nodeps @mysql_rpms`);
-print_and_log("Installing gnuplot packages.\n");
-writelog (`rpm -ivh --force --nodeps @gnuplot_rpms`);
-print_and_log("Installing LON-CAPA Perl packages.\n");
-writelog (`rpm -ivh --force --nodeps @loncapa_perl_rpms`);
-print_and_log("Installing Perl packages.\n");
-writelog (`rpm -ivh --force --nodeps @perl_rpms`);
-print_and_log("Installing misc packages.\n");
-writelog (`rpm -ivh --force --nodeps @misc_rpms`);
-print_and_log("\n");
+## Some of these rpm commands require being obnoxious (--force --nodeps)
+## this is not a nice thing to do and we should be careful about it.
+##
+
+&print_and_log("Installing Apache packages.\n");
+&writelog (`rpm -Uvh @apache_rpms`);
+&print_and_log("Installing openssh packages.\n");
+&writelog (`rpm -Uvh @openssh_rpms`);
+&writelog(`/etc/init.d/sshd start`);
+&print_and_log("Installing ImageMagick packages.\n");
+&writelog (`rpm -Uvh @ImageMagick_rpms`);
+&print_and_log("Installing mysql packages.\n");
+&writelog (`rpm -Uvh @mysql_rpms`);
+&print_and_log("Installing Perl packages.\n");
+&writelog (`rpm -Uvh @perl_rpms`);
+&print_and_log("Installing legacy readline package (required for gnuplot).");
+&writelog(`rpm -i --oldpackage @old_readline_rpms`);
+&print_and_log("Installing gnuplot packages.\n");
+&writelog (`rpm -ivh --force --nodeps @gnuplot_rpms`);
+&print_and_log("Installing LON-CAPA Perl packages.\n");
+&writelog (`rpm -Uvh @loncapa_perl_rpms`);
+&print_and_log("Installing misc packages.\n");
+&writelog (`rpm -Uvh @misc_rpms`);
+&print_and_log("Installing LON-CAPA systemperl rpm");
+&writelog(`rpm -ivh --force --nodeps $systemperl`);
+&print_and_log("\n");
+
+
+##
+## Remove conflicting packages
+##
+my @php_rpms = ("php-imap-4.1.2-7",
+                "asp2php-0.76.2-1",
+                "php-ldap-4.1.2-7",
+                "php-devel-4.1.2-7",
+                "php-4.1.2-7");
+
+&print_and_log("Removing php packages");
+foreach my $php_rpm (@php_rpms) {
+    my $remove_error = system("rpm -e --nodeps ".$php_rpm);
+    if ($remove_error) {
+        &print_and_log("Unable to remove ".$php_rpm.".  ".
+                       "Assuming it is not present.\n");
+    } else {
+        &writelog("Successfully removed ".$php_rpm);
+    }
+}
 
 ##
 ## Fix that stupid little sendmail bug
@@ -329,14 +361,9 @@
 ## Set up mysql
 ##
 print_and_log("Setting mysqld to start on boot up.\n");
-
-make_link_or_die("/etc/rc.d/init.d/mysqld","/etc/rc.d/rc0.d/K90mysqld");
-make_link_or_die("/etc/rc.d/init.d/mysqld","/etc/rc.d/rc1.d/K90mysqld");
-make_link_or_die("/etc/rc.d/init.d/mysqld","/etc/rc.d/rc2.d/S90mysqld");
-make_link_or_die("/etc/rc.d/init.d/mysqld","/etc/rc.d/rc3.d/S90mysqld");
-make_link_or_die("/etc/rc.d/init.d/mysqld","/etc/rc.d/rc4.d/S90mysqld");
-make_link_or_die("/etc/rc.d/init.d/mysqld","/etc/rc.d/rc5.d/S90mysqld");
-make_link_or_die("/etc/rc.d/init.d/mysqld","/etc/rc.d/rc6.d/K90mysqld");
+system("chkconfig --add mysqld");
+system("chkconfig mysqld on");
+&writelog(`chkconfig --list mysqld`);
 
 writelog("mysql links created successfully\n");
 writelog(`/etc/rc.d/init.d/mysqld start`);
@@ -385,42 +412,22 @@
 print_and_log("\n");
 
 ##
-## Kill the firewall, if it exists
+## Modify the firewall, if it exists
 ##
-#
-# A better method would be to modify the firewall rules to make
-# the lond port open.  Someday.
-#
-if (-e "/etc/init.d/iptables" || -e "/etc/init.d/ipchans") {
-    print_and_log("Stopping and removing your firewall\n");
-    my @tokill = ("/etc/rc.d/rc2.d/S08ipchains",
-                  "/etc/rc.d/rc2.d/S08iptables",
-                  "/etc/rc.d/rc3.d/S08ipchains",
-                  "/etc/rc.d/rc3.d/S08iptables",
-                  "/etc/rc.d/rc4.d/S08ipchains",
-                  "/etc/rc.d/rc4.d/S08iptables",
-                  "/etc/rc.d/rc5.d/S08ipchains",
-                  "/etc/rc.d/rc5.d/S08iptables" );
-    foreach (@tokill) {
-        unlink $_ if (-e $_ );
-    }
-    writelog(`/etc/init.d/ipchains stop`);
-    writelog(`/etc/init.d/ipchains stop`);
-    print_and_log("\n");
-}
+#system("chkconfig ipchains off");
+#system("/etc/init.d/ipchains stop");
+#system("chkconfig iptables on");
+#system("/etc/init.d/iptables start");
+
+#"-A input -s 0/0 -d 0/0 8080 -p tcp -y -j ACCEPT",
+#"-A input -s 0/0 -d 0/0 5663 -p tcp -y -j ACCEPT"
+
 
 ##
 ## Set up httpd 
 ##
 print_and_log("Setting httpd to start on boot up.\n");
-
-make_link_or_die("/etc/rc.d/init.d/httpd","/etc/rc.d/rc0.d/K15httpd");
-make_link_or_die("/etc/rc.d/init.d/httpd","/etc/rc.d/rc1.d/K15httpd");
-make_link_or_die("/etc/rc.d/init.d/httpd","/etc/rc.d/rc2.d/K15httpd");
-make_link_or_die("/etc/rc.d/init.d/httpd","/etc/rc.d/rc3.d/S85httpd");
-make_link_or_die("/etc/rc.d/init.d/httpd","/etc/rc.d/rc4.d/K15httpd");
-make_link_or_die("/etc/rc.d/init.d/httpd","/etc/rc.d/rc5.d/K15httpd");
-make_link_or_die("/etc/rc.d/init.d/httpd","/etc/rc.d/rc6.d/K15httpd");
+system("chkconfig httpd on");
 
 ##
 ## Copy our (probably lousy) httpd.conf to its rightful place
@@ -437,8 +444,7 @@
 if (! -e "$instdir/$lctarball") {
     print_and_log("Retrieving LON-CAPA source files from install.loncapa.org\n")
 ;
-    system("wget http://install.loncapa.org/versions/$lctarball 2>/dev/null 1>/d
-ev/null");
+    system("wget http://install.loncapa.org/versions/$lctarball 2>/dev/null 1>/dev/null");
     if (! -e "./$lctarball") {
         die("Unable to retrieve LON-CAPA source files from\n".
             "http://install.loncapa.org/versions/$lctarball\n");

--matthew1041972379--