version 1.3, 2002/06/27 20:45:36
|
version 1.14, 2002/12/18 16:11:09
|
Line 61
|
Line 61
|
# perl-DBI-1.21-1.i386.rpm |
# perl-DBI-1.21-1.i386.rpm |
# mod_perl-1.26-5.i386.rpm |
# mod_perl-1.26-5.i386.rpm |
# perl-suidperl-5.6.1-34.99.6.i386.rpm |
# perl-suidperl-5.6.1-34.99.6.i386.rpm |
# LON-CAPA-systemperl-3.4-rh72.i386.rpm |
# LONCAPA-0.6.0-1.i386.rpm |
# mysql-3.23.49-3.i386.rpm |
# mysql-3.23.49-3.i386.rpm |
# mysqlclient9-3.23.22-6.i386.rpm |
# mysqlclient9-3.23.22-6.i386.rpm |
# mysql-server-3.23.49-3.i386.rpm |
# mysql-server-3.23.49-3.i386.rpm |
# hwcrypto-1.0-3.i386.rpm |
# hwcrypto-1.0-3.i386.rpm |
# m2crypto-0.05_snap4-2.i386.rpm |
# m2crypto-0.05_snap4-2.i386.rpm |
# netatalk-1.5pre6-1rh7.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: |
# Other files: |
# httpd.conf |
# httpd.conf |
# mod_auth_external-2.1.13.tar.gz |
# mod_auth_external-2.1.13.tar.gz |
Line 85 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 145 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 162 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 = ( |
my @ImageMagick_rpms = ( |
"$instdir/ImageMagick-5.4.3.11-1.i386.rpm", |
"$instdir/ImageMagick-5.4.3.11-1.i386.rpm", |
"$instdir/ImageMagick-devel-5.4.3.11-1.i386.rpm", |
"$instdir/ImageMagick-devel-5.4.3.11-1.i386.rpm", |
Line 183 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 193 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"); |
print_and_log("Installing ImageMagick packages.\n"); |
writelog (`rpm -ivh --force --nodeps @ImageMagick_rpms`); |
writelog (`rpm -ivh --force --nodeps @ImageMagick_rpms`); |
print_and_log("Installing mysql packages.\n"); |
print_and_log("Installing mysql packages.\n"); |
Line 212 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 315 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 341 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 402 print_and_log("\n");
|
Line 433 print_and_log("\n");
|
## |
## |
## Retrieve loncapa.tar.gz |
## Retrieve loncapa.tar.gz |
## |
## |
if (! -e "$instdir/loncapa.tar.gz") { |
if (! -e "$instdir/loncapa-current.tar.gz") { |
print_and_log("Retrieving LON-CAPA source files from install.loncapa.org\n"); |
print_and_log("Retrieving LON-CAPA source files from install.loncapa.org\n"); |
system("wget http://install.loncapa.org/versions/current/loncapa.tar.gz 2>/dev/null 1>/dev/null"); |
system("wget http://install.loncapa.org/versions/loncapa-current.tar.gz 2>/dev/null 1>/dev/null"); |
if (! -e "./loncapa.tar.gz") { |
if (! -e "./loncapa-current.tar.gz") { |
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/loncapa-current.tar.gz\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 428 END
|
Line 459 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 439 commands now:
|
Line 470 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 451 END
|
Line 482 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; |
|
|