You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs-cvs@perl.apache.org by ra...@apache.org on 2003/05/31 05:04:55 UTC
cvs commit: modperl-docs/src/docs/2.0/os/win32 mpinstall
randyk 2003/05/30 20:04:55
Modified: src/docs/1.0/os/win32 mpinstall
src/docs/2.0/os/win32 mpinstall
Log:
- adjust indentation style
- attempt to handle stupid Win32 long filenames
Revision Changes Path
1.4 +164 -149 modperl-docs/src/docs/1.0/os/win32/mpinstall
Index: mpinstall
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/1.0/os/win32/mpinstall,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- mpinstall 31 Dec 2002 23:25:01 -0000 1.3
+++ mpinstall 31 May 2003 03:04:55 -0000 1.4
@@ -1,3 +1,4 @@
+#!C:/Perl/bin
#####################################################################
# A Perl script to fetch and install via ppm mod_perl on Win32
# Copyright 2002, by Randy Kobes.
@@ -16,6 +17,7 @@
use Safe;
use Digest::MD5;
use IO::File;
+require Win32;
die "This only works for Win32" unless $^O =~ /Win32/i;
die "No mod_perl ppm package available for this Perl" if ($] < 5.006001);
@@ -24,124 +26,125 @@
# find a possible Apache2 directory
APACHE2: {
- for my $drive ('C'..'G') {
- for my $p ('Apache2', 'Program files/Apache2',
- 'Program Files/Apache Group/Apache2') {
- if (-d "$drive:/$p") {
- $apache2 = "$drive:/$p";
- last APACHE2;
- }
+ for my $drive ('C'..'G') {
+ for my $p ('Apache2', 'Program files/Apache2',
+ 'Program Files/Apache Group/Apache2') {
+ if (-d "$drive:/$p") {
+ $apache2 = "$drive:/$p";
+ last APACHE2;
+ }
+ }
}
- }
}
if ($apache2) {
- my $ans = prompt(qq{Install mod_perl-2 for "$apache2"?}, 'yes');
- $apache2 = undef unless ($ans =~ /^y/i);
+ $apache2 = fix_path($apache2);
+ my $ans = prompt(qq{Install mod_perl-2 for "$apache2"?}, 'yes');
+ $apache2 = undef unless ($ans =~ /^y/i);
}
# if no Apache2, try to find Apache1
unless ($apache2) {
- APACHE: {
- for my $drive ('C'..'G') {
- for my $p ('Apache', 'Program Files/Apache',
- 'Program Files/Apache Group/Apache') {
- if (-d "$drive:/$p") {
- $apache = "$drive:/$p";
- last APACHE;
- }
- }
+ APACHE: {
+ for my $drive ('C'..'G') {
+ for my $p ('Apache', 'Program Files/Apache',
+ 'Program Files/Apache Group/Apache') {
+ if (-d "$drive:/$p") {
+ $apache = "$drive:/$p";
+ last APACHE;
+ }
+ }
+ }
}
- }
}
if ($apache) {
- my $ans = prompt(qq{Install mod_perl-1 for "$apache"?}, 'yes');
- $apache = undef unless ($ans =~ /^y/i);
+ $apache = fix_path($apache);
+ my $ans = prompt(qq{Install mod_perl-1 for "$apache"?}, 'yes');
+ $apache = undef unless ($ans =~ /^y/i);
}
# check Apache versions
if ($apache or $apache2) {
- my $vers;
- if ($apache) {
- $vers = qx{"$apache\\apache.exe" -v};
- die qq{"$apache" does not appear to be version 1.3}
- unless $vers =~ m!Apache/1.3!;
- }
- else {
- $vers = qx{"$apache2\\bin\\apache.exe" -v};
- die qq{"$apache2" does not appear to be version 2.0}
- unless $vers =~ m!Apache/2.0!;
- }
+ my $vers;
+ if ($apache) {
+ $vers = qx{"$apache/apache.exe" -v};
+ die qq{"$apache" does not appear to be version 1.3}
+ unless $vers =~ m!Apache/1.3!;
+ }
+ else {
+ $vers = qx{"$apache2/bin/apache.exe" -v};
+ die qq{"$apache2" does not appear to be version 2.0}
+ unless $vers =~ m!Apache/2.0!;
+ }
}
-
# prompt to get an Apache installation directory
else {
- my $dir = prompt("Where is your apache installation directory?", '');
- die 'Need to specify the Apache installation directory' unless $dir;
- die qq{"$dir" does not exist} unless (-d $dir);
- if ($dir =~ /Apache2/) {
- my $ans = prompt(qq{Install mod_perl-2 for "$dir"?}, 'yes');
- $apache2 = $dir if ($ans =~ /^y/i);
- }
- else {
- my $ans = prompt(qq{Install mod_perl-1 for "$dir"?}, 'yes');
- $apache = $dir if ($ans =~ /^y/i);
- }
- unless ($apache or $apache2) {
- my $mpv = prompt('Which mod_perl version would you like [1 or 2]?', 2);
- if ($mpv == 1) {
- $apache = $dir;
- }
- elsif ($mpv == 2) {
- $apache2 = $dir;
+ my $dir = prompt("Where is your apache installation directory?", '');
+ die 'Need to specify the Apache installation directory' unless $dir;
+ $dir = fix_path($dir);
+ die qq{"$dir" does not exist} unless (-d $dir);
+ if ($dir =~ /Apache2/) {
+ my $ans = prompt(qq{Install mod_perl-2 for "$dir"?}, 'yes');
+ $apache2 = $dir if ($ans =~ /^y/i);
}
else {
- die 'Please specify either "1" or "2"';
+ my $ans = prompt(qq{Install mod_perl-1 for "$dir"?}, 'yes');
+ $apache = $dir if ($ans =~ /^y/i);
+ }
+ unless ($apache or $apache2) {
+ my $mpv = prompt('Which mod_perl version would you like [1 or 2]?', 2);
+ if ($mpv == 1) {
+ $apache = $dir;
+ }
+ elsif ($mpv == 2) {
+ $apache2 = $dir;
+ }
+ else {
+ die 'Please specify either "1" or "2"';
+ }
}
- }
}
die 'Please specify an Apache directory' unless ($apache or $apache2);
-
my $theoryx5 = 'http://theoryx5.uwinnipeg.ca';
my ($ppd, $tgz, $ppdfile, $tgzfile, $checksums);
my $cs = 'CHECKSUMS';
# set appropriate ppd and tar.gz files
if ($] < 5.008) {
- $checksums = $theoryx5 . '/ppmpackages/x86/' . $cs;
- if ($apache2) {
- $ppdfile = 'mod_perl-2.ppd';
- $tgzfile = 'mod_perl-2.tar.gz';
- $ppd = $theoryx5 . '/ppmpackages/' . $ppdfile;
- $tgz = $theoryx5 . '/ppmpackages/x86/' . $tgzfile;
- }
- else {
- my $ans = prompt('Do you need EAPI support for mod_ssl?', 'no');
- if ($ans =~ /^n/i) {
- $ppdfile = 'mod_perl.ppd';
- $tgzfile = 'mod_perl.tar.gz';
- $ppd = $theoryx5 . '/ppmpackages/' . $ppdfile;
- $tgz = $theoryx5 . '/ppmpackages/x86/' . $tgzfile;
+ $checksums = $theoryx5 . '/ppmpackages/x86/' . $cs;
+ if ($apache2) {
+ $ppdfile = 'mod_perl-2.ppd';
+ $tgzfile = 'mod_perl-2.tar.gz';
+ $ppd = $theoryx5 . '/ppmpackages/' . $ppdfile;
+ $tgz = $theoryx5 . '/ppmpackages/x86/' . $tgzfile;
}
else {
- $ppdfile = 'mod_perl-eapi.ppd';
- $tgzfile = 'mod_perl-eapi.tar.gz';
- $ppd = $theoryx5 . '/ppmpackages/' . $ppdfile;
- $tgz = $theoryx5 . '/ppmpackages/x86/' . $tgzfile;
+ my $ans = prompt('Do you need EAPI support for mod_ssl?', 'no');
+ if ($ans =~ /^n/i) {
+ $ppdfile = 'mod_perl.ppd';
+ $tgzfile = 'mod_perl.tar.gz';
+ $ppd = $theoryx5 . '/ppmpackages/' . $ppdfile;
+ $tgz = $theoryx5 . '/ppmpackages/x86/' . $tgzfile;
+ }
+ else {
+ $ppdfile = 'mod_perl-eapi.ppd';
+ $tgzfile = 'mod_perl-eapi.tar.gz';
+ $ppd = $theoryx5 . '/ppmpackages/' . $ppdfile;
+ $tgz = $theoryx5 . '/ppmpackages/x86/' . $tgzfile;
+ }
}
- }
}
else {
- $checksums = $theoryx5 . '/ppms/x86/' . $cs;
- if ($apache2) {
- $ppdfile = 'mod_perl.ppd';
- $tgzfile = 'mod_perl.tar.gz';
- $ppd = $theoryx5 . '/ppms/' . $ppdfile;
- $tgz = $theoryx5 . '/ppms/x86/' . $tgzfile;
- }
- else {
- die 'No mod_perl-1 package available for this perl version';
- }
+ $checksums = $theoryx5 . '/ppms/x86/' . $cs;
+ if ($apache2) {
+ $ppdfile = 'mod_perl.ppd';
+ $tgzfile = 'mod_perl.tar.gz';
+ $ppd = $theoryx5 . '/ppms/' . $ppdfile;
+ $tgz = $theoryx5 . '/ppms/x86/' . $tgzfile;
+ }
+ else {
+ die 'No mod_perl-1 package available for this perl version';
+ }
}
my $tmp = $ENV{TEMP} || $ENV{TMP} || '.';
@@ -162,24 +165,24 @@
# check CHECKSUMS for the tar.gz file
if (-e $cs) {
- unless (verifyMD5($tgzfile)) {
- die qq{CHECKSUM check for "$tgzfile" failed.\n};
- }
+ unless (verifyMD5($tgzfile)) {
+ die qq{CHECKSUM check for "$tgzfile" failed.\n};
+ }
}
else {
- die "Failed to fetch $checksums - cannot verify CHECKSUMS.";
+ die "Failed to fetch $checksums - cannot verify CHECKSUMS.";
}
# edit the ppd file to reflect a local installation
-my $old = $ppdfile . 'old';
+my $old = $ppdfile . '.old';
rename $ppdfile, $old
- or die "renaming $ppdfile to $old failed: $!";
+ or die "renaming $ppdfile to $old failed: $!";
open(OLD, $old) or die "Cannot open $old: $!";
open(NEW, ">$ppdfile") or die "Cannot open $ppdfile: $!";
while (<OLD>) {
- next if /<INSTALL/;
- s/$tgz/$tgzfile/;
- print NEW $_;
+ next if /<INSTALL/;
+ s/$tgz/$tgzfile/;
+ print NEW $_;
}
close OLD;
close NEW;
@@ -201,31 +204,35 @@
# figure out where to place mod_perl.so
my $modules = $apache ? "$apache/modules" : "$apache2/modules";
$modules = prompt("Where should $so be placed?", $modules);
+die "Please install $so to your Apache modules directory manually"
+ unless $modules;
+$modules = fix_path($modules);
+
unless (-d $modules) {
- my $ans = prompt(qq{"$modules" does not exist. Create it?}, 'yes');
- if ($ans =~ /^y/i) {
- mkdir $modules or die "Cannot create $modules: $!";
- }
- else {
- $modules = undef;
- }
+ my $ans = prompt(qq{"$modules" does not exist. Create it?}, 'yes');
+ if ($ans =~ /^y/i) {
+ mkdir $modules or die "Cannot create $modules: $!";
+ }
+ else {
+ $modules = undef;
+ }
}
# move mod_perl.so to the Apache modules directory
if ($modules) {
- print "\nMoving $so to $modules ...";
- move($so, qq{$modules})
- or die "Moving $so to $modules failed: $!";
- print " done!\n";
+ print "\nMoving $so to $modules ...";
+ move($so, qq{$modules})
+ or die "Moving $so to $modules failed: $!";
+ print " done!\n";
}
else {
- die "Please install $so to your Apache modules directory manually";
+ die "Please install $so to your Apache modules directory manually"
}
# clean up, if desired
my $ans = prompt("Remove temporary installation files from $tmp?", 'yes');
if ($ans =~ /^y/i) {
- unlink ($ppdfile, $old, $tgzfile, $cs)
- or warn "Cannot unlink files from $tmp: $!";
+ unlink ($ppdfile, $old, $tgzfile, $cs)
+ or warn "Cannot unlink files from $tmp: $!";
}
# get the name and location of the perlxx.dll
@@ -240,14 +247,14 @@
mod_perl was successfully installed.
To try it out, put the following directives in your
Apache httpd.conf file (under $ap/conf):
-
- LoadFile "$dll"
- LoadModule perl_module modules/$so
+
+LoadFile "$dll"
+LoadModule perl_module modules/$so
in the section where other apache modules are loaded,
and then fire up the server. You may also have to add
$Config{bin} to your PATH environment variable.
-
+
For more information, visit http://perl.apache.org/.
END
@@ -255,43 +262,51 @@
# routine to verify the CHECKSUMS for a file
# adapted from the MD5 check of CPAN.pm
sub verifyMD5 {
- my $file = shift;
- my $fh = IO::File->new;
- my $cksum;
- unless (open $fh, $cs) {
- warn "Could not open $cs: $!";
- return;
- }
- local($/);
- my $eval = <$fh>;
- $eval =~ s/\015?\012/\n/g;
- close $fh;
- my $comp = Safe->new();
- $cksum = $comp->reval($eval);
- if ($@) {
- warn $@;
- return;
- }
- my ($is, $should);
- unless (open(FILE, $file)) {
- warn "Cannot open $file: $!";
- return;
- }
- binmode(FILE);
- unless ($is = Digest::MD5->new->addfile(*FILE)->hexdigest) {
- warn "Could not compute checksum for $file: $!";
+ my $file = shift;
+ my $fh = IO::File->new;
+ my $cksum;
+ unless (open $fh, $cs) {
+ warn "Could not open $cs: $!";
+ return;
+ }
+ local($/);
+ my $eval = <$fh>;
+ $eval =~ s/\015?\012/\n/g;
+ close $fh;
+ my $comp = Safe->new();
+ $cksum = $comp->reval($eval);
+ if ($@) {
+ warn $@;
+ return;
+ }
+ my ($is, $should);
+ unless (open(FILE, $file)) {
+ warn "Cannot open $file: $!";
+ return;
+ }
+ binmode(FILE);
+ unless ($is = Digest::MD5->new->addfile(*FILE)->hexdigest) {
+ warn "Could not compute checksum for $file: $!";
+ close(FILE);
+ return;
+ }
close(FILE);
- return;
- }
- close(FILE);
- if ($should = $cksum->{$file}->{md5}) {
- my $test = $is eq $should ? 1 : 0;
- printf qq{Checksum for "$file" is %s\n},
- ($test == 1) ? 'OK.' : 'NOT OK.';
- return $test;
- }
- else {
- warn "Checksum data for $file not present in CHECKSUMS.\n";
- return;
- }
+ if ($should = $cksum->{$file}->{md5}) {
+ my $test = $is eq $should ? 1 : 0;
+ printf qq{Checksum for "$file" is %s\n},
+ ($test == 1) ? 'OK.' : 'NOT OK.';
+ return $test;
+ }
+ else {
+ warn "Checksum data for $file not present in CHECKSUMS.\n";
+ return;
+ }
}
+
+sub fix_path {
+ my $file = shift;
+ $file = Win32::GetShortPathName($file);
+ $file =~ s!\\!/!g;
+ return $file;
+}
+
1.4 +164 -149 modperl-docs/src/docs/2.0/os/win32/mpinstall
Index: mpinstall
===================================================================
RCS file: /home/cvs/modperl-docs/src/docs/2.0/os/win32/mpinstall,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- mpinstall 31 Dec 2002 23:25:01 -0000 1.3
+++ mpinstall 31 May 2003 03:04:55 -0000 1.4
@@ -1,3 +1,4 @@
+#!C:/Perl/bin
#####################################################################
# A Perl script to fetch and install via ppm mod_perl on Win32
# Copyright 2002, by Randy Kobes.
@@ -16,6 +17,7 @@
use Safe;
use Digest::MD5;
use IO::File;
+require Win32;
die "This only works for Win32" unless $^O =~ /Win32/i;
die "No mod_perl ppm package available for this Perl" if ($] < 5.006001);
@@ -24,124 +26,125 @@
# find a possible Apache2 directory
APACHE2: {
- for my $drive ('C'..'G') {
- for my $p ('Apache2', 'Program files/Apache2',
- 'Program Files/Apache Group/Apache2') {
- if (-d "$drive:/$p") {
- $apache2 = "$drive:/$p";
- last APACHE2;
- }
+ for my $drive ('C'..'G') {
+ for my $p ('Apache2', 'Program files/Apache2',
+ 'Program Files/Apache Group/Apache2') {
+ if (-d "$drive:/$p") {
+ $apache2 = "$drive:/$p";
+ last APACHE2;
+ }
+ }
}
- }
}
if ($apache2) {
- my $ans = prompt(qq{Install mod_perl-2 for "$apache2"?}, 'yes');
- $apache2 = undef unless ($ans =~ /^y/i);
+ $apache2 = fix_path($apache2);
+ my $ans = prompt(qq{Install mod_perl-2 for "$apache2"?}, 'yes');
+ $apache2 = undef unless ($ans =~ /^y/i);
}
# if no Apache2, try to find Apache1
unless ($apache2) {
- APACHE: {
- for my $drive ('C'..'G') {
- for my $p ('Apache', 'Program Files/Apache',
- 'Program Files/Apache Group/Apache') {
- if (-d "$drive:/$p") {
- $apache = "$drive:/$p";
- last APACHE;
- }
- }
+ APACHE: {
+ for my $drive ('C'..'G') {
+ for my $p ('Apache', 'Program Files/Apache',
+ 'Program Files/Apache Group/Apache') {
+ if (-d "$drive:/$p") {
+ $apache = "$drive:/$p";
+ last APACHE;
+ }
+ }
+ }
}
- }
}
if ($apache) {
- my $ans = prompt(qq{Install mod_perl-1 for "$apache"?}, 'yes');
- $apache = undef unless ($ans =~ /^y/i);
+ $apache = fix_path($apache);
+ my $ans = prompt(qq{Install mod_perl-1 for "$apache"?}, 'yes');
+ $apache = undef unless ($ans =~ /^y/i);
}
# check Apache versions
if ($apache or $apache2) {
- my $vers;
- if ($apache) {
- $vers = qx{"$apache\\apache.exe" -v};
- die qq{"$apache" does not appear to be version 1.3}
- unless $vers =~ m!Apache/1.3!;
- }
- else {
- $vers = qx{"$apache2\\bin\\apache.exe" -v};
- die qq{"$apache2" does not appear to be version 2.0}
- unless $vers =~ m!Apache/2.0!;
- }
+ my $vers;
+ if ($apache) {
+ $vers = qx{"$apache/apache.exe" -v};
+ die qq{"$apache" does not appear to be version 1.3}
+ unless $vers =~ m!Apache/1.3!;
+ }
+ else {
+ $vers = qx{"$apache2/bin/apache.exe" -v};
+ die qq{"$apache2" does not appear to be version 2.0}
+ unless $vers =~ m!Apache/2.0!;
+ }
}
-
# prompt to get an Apache installation directory
else {
- my $dir = prompt("Where is your apache installation directory?", '');
- die 'Need to specify the Apache installation directory' unless $dir;
- die qq{"$dir" does not exist} unless (-d $dir);
- if ($dir =~ /Apache2/) {
- my $ans = prompt(qq{Install mod_perl-2 for "$dir"?}, 'yes');
- $apache2 = $dir if ($ans =~ /^y/i);
- }
- else {
- my $ans = prompt(qq{Install mod_perl-1 for "$dir"?}, 'yes');
- $apache = $dir if ($ans =~ /^y/i);
- }
- unless ($apache or $apache2) {
- my $mpv = prompt('Which mod_perl version would you like [1 or 2]?', 2);
- if ($mpv == 1) {
- $apache = $dir;
- }
- elsif ($mpv == 2) {
- $apache2 = $dir;
+ my $dir = prompt("Where is your apache installation directory?", '');
+ die 'Need to specify the Apache installation directory' unless $dir;
+ $dir = fix_path($dir);
+ die qq{"$dir" does not exist} unless (-d $dir);
+ if ($dir =~ /Apache2/) {
+ my $ans = prompt(qq{Install mod_perl-2 for "$dir"?}, 'yes');
+ $apache2 = $dir if ($ans =~ /^y/i);
}
else {
- die 'Please specify either "1" or "2"';
+ my $ans = prompt(qq{Install mod_perl-1 for "$dir"?}, 'yes');
+ $apache = $dir if ($ans =~ /^y/i);
+ }
+ unless ($apache or $apache2) {
+ my $mpv = prompt('Which mod_perl version would you like [1 or 2]?', 2);
+ if ($mpv == 1) {
+ $apache = $dir;
+ }
+ elsif ($mpv == 2) {
+ $apache2 = $dir;
+ }
+ else {
+ die 'Please specify either "1" or "2"';
+ }
}
- }
}
die 'Please specify an Apache directory' unless ($apache or $apache2);
-
my $theoryx5 = 'http://theoryx5.uwinnipeg.ca';
my ($ppd, $tgz, $ppdfile, $tgzfile, $checksums);
my $cs = 'CHECKSUMS';
# set appropriate ppd and tar.gz files
if ($] < 5.008) {
- $checksums = $theoryx5 . '/ppmpackages/x86/' . $cs;
- if ($apache2) {
- $ppdfile = 'mod_perl-2.ppd';
- $tgzfile = 'mod_perl-2.tar.gz';
- $ppd = $theoryx5 . '/ppmpackages/' . $ppdfile;
- $tgz = $theoryx5 . '/ppmpackages/x86/' . $tgzfile;
- }
- else {
- my $ans = prompt('Do you need EAPI support for mod_ssl?', 'no');
- if ($ans =~ /^n/i) {
- $ppdfile = 'mod_perl.ppd';
- $tgzfile = 'mod_perl.tar.gz';
- $ppd = $theoryx5 . '/ppmpackages/' . $ppdfile;
- $tgz = $theoryx5 . '/ppmpackages/x86/' . $tgzfile;
+ $checksums = $theoryx5 . '/ppmpackages/x86/' . $cs;
+ if ($apache2) {
+ $ppdfile = 'mod_perl-2.ppd';
+ $tgzfile = 'mod_perl-2.tar.gz';
+ $ppd = $theoryx5 . '/ppmpackages/' . $ppdfile;
+ $tgz = $theoryx5 . '/ppmpackages/x86/' . $tgzfile;
}
else {
- $ppdfile = 'mod_perl-eapi.ppd';
- $tgzfile = 'mod_perl-eapi.tar.gz';
- $ppd = $theoryx5 . '/ppmpackages/' . $ppdfile;
- $tgz = $theoryx5 . '/ppmpackages/x86/' . $tgzfile;
+ my $ans = prompt('Do you need EAPI support for mod_ssl?', 'no');
+ if ($ans =~ /^n/i) {
+ $ppdfile = 'mod_perl.ppd';
+ $tgzfile = 'mod_perl.tar.gz';
+ $ppd = $theoryx5 . '/ppmpackages/' . $ppdfile;
+ $tgz = $theoryx5 . '/ppmpackages/x86/' . $tgzfile;
+ }
+ else {
+ $ppdfile = 'mod_perl-eapi.ppd';
+ $tgzfile = 'mod_perl-eapi.tar.gz';
+ $ppd = $theoryx5 . '/ppmpackages/' . $ppdfile;
+ $tgz = $theoryx5 . '/ppmpackages/x86/' . $tgzfile;
+ }
}
- }
}
else {
- $checksums = $theoryx5 . '/ppms/x86/' . $cs;
- if ($apache2) {
- $ppdfile = 'mod_perl.ppd';
- $tgzfile = 'mod_perl.tar.gz';
- $ppd = $theoryx5 . '/ppms/' . $ppdfile;
- $tgz = $theoryx5 . '/ppms/x86/' . $tgzfile;
- }
- else {
- die 'No mod_perl-1 package available for this perl version';
- }
+ $checksums = $theoryx5 . '/ppms/x86/' . $cs;
+ if ($apache2) {
+ $ppdfile = 'mod_perl.ppd';
+ $tgzfile = 'mod_perl.tar.gz';
+ $ppd = $theoryx5 . '/ppms/' . $ppdfile;
+ $tgz = $theoryx5 . '/ppms/x86/' . $tgzfile;
+ }
+ else {
+ die 'No mod_perl-1 package available for this perl version';
+ }
}
my $tmp = $ENV{TEMP} || $ENV{TMP} || '.';
@@ -162,24 +165,24 @@
# check CHECKSUMS for the tar.gz file
if (-e $cs) {
- unless (verifyMD5($tgzfile)) {
- die qq{CHECKSUM check for "$tgzfile" failed.\n};
- }
+ unless (verifyMD5($tgzfile)) {
+ die qq{CHECKSUM check for "$tgzfile" failed.\n};
+ }
}
else {
- die "Failed to fetch $checksums - cannot verify CHECKSUMS.";
+ die "Failed to fetch $checksums - cannot verify CHECKSUMS.";
}
# edit the ppd file to reflect a local installation
-my $old = $ppdfile . 'old';
+my $old = $ppdfile . '.old';
rename $ppdfile, $old
- or die "renaming $ppdfile to $old failed: $!";
+ or die "renaming $ppdfile to $old failed: $!";
open(OLD, $old) or die "Cannot open $old: $!";
open(NEW, ">$ppdfile") or die "Cannot open $ppdfile: $!";
while (<OLD>) {
- next if /<INSTALL/;
- s/$tgz/$tgzfile/;
- print NEW $_;
+ next if /<INSTALL/;
+ s/$tgz/$tgzfile/;
+ print NEW $_;
}
close OLD;
close NEW;
@@ -201,31 +204,35 @@
# figure out where to place mod_perl.so
my $modules = $apache ? "$apache/modules" : "$apache2/modules";
$modules = prompt("Where should $so be placed?", $modules);
+die "Please install $so to your Apache modules directory manually"
+ unless $modules;
+$modules = fix_path($modules);
+
unless (-d $modules) {
- my $ans = prompt(qq{"$modules" does not exist. Create it?}, 'yes');
- if ($ans =~ /^y/i) {
- mkdir $modules or die "Cannot create $modules: $!";
- }
- else {
- $modules = undef;
- }
+ my $ans = prompt(qq{"$modules" does not exist. Create it?}, 'yes');
+ if ($ans =~ /^y/i) {
+ mkdir $modules or die "Cannot create $modules: $!";
+ }
+ else {
+ $modules = undef;
+ }
}
# move mod_perl.so to the Apache modules directory
if ($modules) {
- print "\nMoving $so to $modules ...";
- move($so, qq{$modules})
- or die "Moving $so to $modules failed: $!";
- print " done!\n";
+ print "\nMoving $so to $modules ...";
+ move($so, qq{$modules})
+ or die "Moving $so to $modules failed: $!";
+ print " done!\n";
}
else {
- die "Please install $so to your Apache modules directory manually";
+ die "Please install $so to your Apache modules directory manually"
}
# clean up, if desired
my $ans = prompt("Remove temporary installation files from $tmp?", 'yes');
if ($ans =~ /^y/i) {
- unlink ($ppdfile, $old, $tgzfile, $cs)
- or warn "Cannot unlink files from $tmp: $!";
+ unlink ($ppdfile, $old, $tgzfile, $cs)
+ or warn "Cannot unlink files from $tmp: $!";
}
# get the name and location of the perlxx.dll
@@ -240,14 +247,14 @@
mod_perl was successfully installed.
To try it out, put the following directives in your
Apache httpd.conf file (under $ap/conf):
-
- LoadFile "$dll"
- LoadModule perl_module modules/$so
+
+LoadFile "$dll"
+LoadModule perl_module modules/$so
in the section where other apache modules are loaded,
and then fire up the server. You may also have to add
$Config{bin} to your PATH environment variable.
-
+
For more information, visit http://perl.apache.org/.
END
@@ -255,43 +262,51 @@
# routine to verify the CHECKSUMS for a file
# adapted from the MD5 check of CPAN.pm
sub verifyMD5 {
- my $file = shift;
- my $fh = IO::File->new;
- my $cksum;
- unless (open $fh, $cs) {
- warn "Could not open $cs: $!";
- return;
- }
- local($/);
- my $eval = <$fh>;
- $eval =~ s/\015?\012/\n/g;
- close $fh;
- my $comp = Safe->new();
- $cksum = $comp->reval($eval);
- if ($@) {
- warn $@;
- return;
- }
- my ($is, $should);
- unless (open(FILE, $file)) {
- warn "Cannot open $file: $!";
- return;
- }
- binmode(FILE);
- unless ($is = Digest::MD5->new->addfile(*FILE)->hexdigest) {
- warn "Could not compute checksum for $file: $!";
+ my $file = shift;
+ my $fh = IO::File->new;
+ my $cksum;
+ unless (open $fh, $cs) {
+ warn "Could not open $cs: $!";
+ return;
+ }
+ local($/);
+ my $eval = <$fh>;
+ $eval =~ s/\015?\012/\n/g;
+ close $fh;
+ my $comp = Safe->new();
+ $cksum = $comp->reval($eval);
+ if ($@) {
+ warn $@;
+ return;
+ }
+ my ($is, $should);
+ unless (open(FILE, $file)) {
+ warn "Cannot open $file: $!";
+ return;
+ }
+ binmode(FILE);
+ unless ($is = Digest::MD5->new->addfile(*FILE)->hexdigest) {
+ warn "Could not compute checksum for $file: $!";
+ close(FILE);
+ return;
+ }
close(FILE);
- return;
- }
- close(FILE);
- if ($should = $cksum->{$file}->{md5}) {
- my $test = $is eq $should ? 1 : 0;
- printf qq{Checksum for "$file" is %s\n},
- ($test == 1) ? 'OK.' : 'NOT OK.';
- return $test;
- }
- else {
- warn "Checksum data for $file not present in CHECKSUMS.\n";
- return;
- }
+ if ($should = $cksum->{$file}->{md5}) {
+ my $test = $is eq $should ? 1 : 0;
+ printf qq{Checksum for "$file" is %s\n},
+ ($test == 1) ? 'OK.' : 'NOT OK.';
+ return $test;
+ }
+ else {
+ warn "Checksum data for $file not present in CHECKSUMS.\n";
+ return;
+ }
}
+
+sub fix_path {
+ my $file = shift;
+ $file = Win32::GetShortPathName($file);
+ $file =~ s!\\!/!g;
+ return $file;
+}
+
---------------------------------------------------------------------
To unsubscribe, e-mail: docs-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: docs-cvs-help@perl.apache.org