You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Keith Kwiatek <kk...@Nist.gov> on 2000/07/19 19:16:35 UTC

Help! Need strategy for upgrading production system!

Hello,

I have a production system (solaris 7) with apache 1.3.6 system with
mod_perl.1.19 and mod_ssl.2.3.1

I would like to somehow install the latest apache + mod_perl + mod_ssl +
DBI/DBD versions on the production system, BUT without interrupting the
current production system. And then, after I have moved over and tested the
production web application in the new server, cleanly switch over.....

In other words, is it possible to install new versions of apache + mod_perl
+ mod_ssl + DBI/DBD (and all the dependant modules) into a separate
directory on the production system -- WITHOUT affecting the older apache
production server?

How in the world do I cleanly upgrade apache + mod_perl + mod_ssl + DBI/DBD?

Thanks,
Keith


Re: Help! Need strategy for upgrading production system!

Posted by Greg Cope <gj...@rubberplant.freeserve.co.uk>.
Doug Luce wrote:
> 
> For this sort of thing, I assign a second IP address to the machine, then
> configure everything to bind to that IP address (making sure the original
> implementation binds to the first IP address only).

Or you could use a different set of ports ... less to configure then.

> 
<snippage>
 
> The trick is to start using versioned target directories for your
> stuff.  Instead of just cramming it all in /usr/local/bin, set up
> /usr/local/apache1.3.12/bin etc.

Agreed - when ever I set up boxes I always use a prefix of
/usr/local/package+version so the install goes there.

I then use symlinks so that the current version is symlinked from
/usr/local/package.

I then change any start up scripts to use /usr/local/package.

So when an upgrade is required I just install, and test (on a different
port) and when I am happy  I change the symlink and do a stop start -
the upgrade is hence nearly transparent.

One issue with this is things like DBD modules that are closly tied to
the version of perl and the DB client libs - if you upgrade either then
you may have a problem.  In this case I usually rebuild the DBD libs
between the stop and the start (it takes less than a minute.).  As yet
I've not moved to perl 5.6.

Greg Cope

> 
> doug
> 
> On Wed, 19 Jul 2000, Keith Kwiatek wrote:
> 
> > Hello,
> >
> > I have a production system (solaris 7) with apache 1.3.6 system with
> > mod_perl.1.19 and mod_ssl.2.3.1
> >
> > I would like to somehow install the latest apache + mod_perl + mod_ssl +
> > DBI/DBD versions on the production system, BUT without interrupting the
> > current production system. And then, after I have moved over and tested the
> > production web application in the new server, cleanly switch over.....
> >
> > In other words, is it possible to install new versions of apache + mod_perl
> > + mod_ssl + DBI/DBD (and all the dependant modules) into a separate
> > directory on the production system -- WITHOUT affecting the older apache
> > production server?
> >
> > How in the world do I cleanly upgrade apache + mod_perl + mod_ssl + DBI/DBD?




> >
> > Thanks,
> > Keith
> >
> >



Re: Help! Need strategy for upgrading production system!

Posted by Doug Luce <do...@modperl.con.com>.
For this sort of thing, I assign a second IP address to the machine, then
configure everything to bind to that IP address (making sure the original
implementation binds to the first IP address only).

For apache and the modules, you can just create separate source
directories, and designate a unique target for installation.  You might
want to make the target match up with the version of Apache. I.e. make the
target for the new one "/usr/local/apache1.3.12".  As long as the source
is also separate from the production source, the modules should slide in
without touching anything else.

Change the configuration to point at your production document dir and
script dirs, or create new document and script dirs if you're ultra
paranoid.  

Test out on the second IP address all you want.  While the server will be
running on the same machine (and that presents a little bit of risk
exposure), it'll be a separate instance with separate files and
everything.

When it comes time to move to production, shut down the test
server.  Change the conf file to bind to the primary address.  Then, in
quick succession, stop the production server and start the new
server.  Change over (hopefully).

The trick is to start using versioned target directories for your
stuff.  Instead of just cramming it all in /usr/local/bin, set up
/usr/local/apache1.3.12/bin etc.

doug




On Wed, 19 Jul 2000, Keith Kwiatek wrote:

> Hello,
> 
> I have a production system (solaris 7) with apache 1.3.6 system with
> mod_perl.1.19 and mod_ssl.2.3.1
> 
> I would like to somehow install the latest apache + mod_perl + mod_ssl +
> DBI/DBD versions on the production system, BUT without interrupting the
> current production system. And then, after I have moved over and tested the
> production web application in the new server, cleanly switch over.....
> 
> In other words, is it possible to install new versions of apache + mod_perl
> + mod_ssl + DBI/DBD (and all the dependant modules) into a separate
> directory on the production system -- WITHOUT affecting the older apache
> production server?
> 
> How in the world do I cleanly upgrade apache + mod_perl + mod_ssl + DBI/DBD?
> 
> Thanks,
> Keith
> 
>