Bill Moseley wrote:
> 
> This is a revisit of a question last September where I asked about
> upgrading mod_perl and Perl on a busy machine.
> 
> IIRC, Greg, Stas, and Perrin offered suggestions such as installing from
> RPMs or tarballs, and using symlinks.  The RPM/tarball option worries me a
> bit, since if I do forget a file, then I'll be down for a while, plus I
> don't have another machine of the same type where I can create the tarball.
>  Sym-linking works great for moving my test application into live action,
> but it seems trickier to do this with the entire Perl tree.
> 
> Here's the problem: this client only has this one machine, yet I need to
> setup a test copy of the application on the same machine running on a
> different port for the client and myself to test.  And I'd like to know
> that when the test code gets moved live, that all the exact same code is
> running (modules and all).
> 
> What to do in this situation?
> 
> a) not worry about it, and just make install mod_perl and restart the server
> and hope all goes well?

Hum .... ignoring problem means that will bite you ! 

> 
> b) cp -rp /usr/local/lib/perl5 and use symlinks to move between the two?
> When ready to move, kill httpd, change the perl symlinks for the binary,
> perl lib, and httpd, and restart?

This is what I would do.

depending on present set up I would install all the above in a "new"
location - and then symlink to it.  Yup this does mean a few more disk
stat's, but means I can roll back most installs very quickly if
required.

Having said that I have not done it too often on an alien box.  Also is
the present perl easily simlinkable (i.e the binary and the lib tree).

I just play with the --prefix and usually do --prefix=package_version
(eg apache_perl_1.3.14 would be a mod_perl apache version 1.3.14).

Also you could script the change over if required to be xtra quick ....
(although this is getting silly)

I've used this without any issues on Linux boxes for 18 months, but I am
very conservative about my perl (i.e I'm still on 5.005_03 and waiting
for 5.6.1 ;-)

> 
> c) setup a new set of perl, httpd, and my application and when ready to go
> live just change the port number?
> 
> Or simply put - how would you do this:
> 
> With one machine I want to upgrade perl to 5.6.0, upgrade your application
> code, new version of mod_perl, and allow for testing of the new setup for a
> few weeks, yet only require a few seconds of downtime to switch live (and
> back again if needed)?
> 
> Then I wonder which CPAN module I'll forget to install...

do a CPAN snapshot bundle of a known good install, and install that -
easy no ?

Just my 2 euro worth.

Greg

> 
> Bill Moseley
> mailto:[EMAIL PROTECTED]

Reply via email to