--- doc/install/fedora/install.pl 2003/12/11 21:56:42 1.2 +++ doc/install/fedora/install.pl 2005/06/29 04:16:54 1.8 @@ -1,8 +1,8 @@ #!/usr/bin/perl -w # The LearningOnline Network -# Red Hat 7.3 installation script +# Fedora installation script # -# $Id: install.pl,v 1.2 2003/12/11 21:56:42 matthew Exp $ +# $Id: install.pl,v 1.8 2005/06/29 04:16:54 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -35,7 +35,7 @@ my $test; # note: The filehandle LOG is global. open LOG,">>loncapa_install.log" || die "Unable to open log file.\n"; -print LOG '$Id: install.pl,v 1.2 2003/12/11 21:56:42 matthew Exp $'."\n"; +print LOG '$Id: install.pl,v 1.8 2005/06/29 04:16:54 raeburn Exp $'."\n"; # Some friendly subroutines sub die_if_nonempty { @@ -180,7 +180,7 @@ if ($install_httpd_conf) { } #my $lctarball = 'loncapa-current.tar.gz'; -my $lctarball = 'loncapa-fedora-1.0.99.1.tar.gz'; +my $lctarball = 'loncapa-fedora-current.tar.gz'; if ($download_loncapa) { &download_loncapa($lctarball); } else { @@ -218,14 +218,7 @@ sub setup_www { ############################################### ############################################### sub uid_of_www { - my $num = `grep ^www /etc/passwd | cut -d':' -f3`; - chomp $num; - if (int($num) == $num) { - writelog ("uid of www = $num\n"); - } else { - die "Unable to determine UID of user www\n Halting.\n"; - } - print_and_log("\n"); + my ($num) = (getpwnam('www'))[2]; return $num; } @@ -319,6 +312,14 @@ sub setup_mysql { } print_and_log("\n"); # + + my ($mysqlinfo,$mysql_ver); + open(PIPE,"/usr/bin/mysql -V |"); + $mysqlinfo = ; + close(PIPE); + if ($mysqlinfo =~ /Distrib\s+([\d]+)\./) { + $mysql_ver = $1; + } my $mysql_commands = "CREATE DATABASE loncapa;\n"; if ($setup_mysql_permissions) { ## @@ -331,11 +332,20 @@ to remember it. END my $rootpass = <>; chomp $rootpass; - $mysql_commands .= <<"END"; + $mysql_commands .= <<"BLOCKONE"; INSERT INTO user (Host, User, Password) VALUES ('localhost','www',password('localhostkey')); -INSERT INTO db VALUES ('localhost','loncapa','www', -'Y','Y','Y','Y','Y','Y','N','Y','Y','Y'); +BLOCKONE + if ($mysql_ver < 4) { + $mysql_commands .=<<"BLOCKTWO"; +INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Grant_priv,References_priv,Index_priv,Alter_priv) VALUES ('localhost','loncapa','www','Y','Y','Y','Y','Y','Y','N','Y','Y','Y'); +BLOCKTWO + } else { + $mysql_commands .=<<"BLOCKTHREE"; +INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Create_tmp_table_priv,Lock_tables_priv) VALUES ('localhost','loncapa','www','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y'); +BLOCKTHREE + } + $mysql_commands .=<<"END"; SET PASSWORD FOR root\@localhost=PASSWORD('$rootpass'); DELETE FROM user WHERE host<>'localhost'; FLUSH PRIVILEGES; @@ -400,7 +410,7 @@ You seem to have a version of loncapa-cu This copy will be used and a new version will NOT be downloaded. If you wish, you may download a new version by executing: -wget http://install.loncapa.org/versions/loncapa-current.tar.gz +wget http://install.loncapa.org/versions/loncapa-fedora-current.tar.gz ------------------------------------------------------------------------ END @@ -410,7 +420,7 @@ END ## untar loncapa.tar.gz ## print_and_log("Extracting LON-CAPA source files\n"); - writelog(`cd ~root; tar zxf $instdir/loncapa-current.tar.gz`); + writelog(`cd ~root; tar zxf $instdir/$lctarball`); print_and_log("\n"); print <<"ENDMSG"; All of the extra files seem to have been installed correctly. It remains for