Skip to Content.
Sympa Menu

sm-discuss - [SM-Discuss] Drupal (and other) install setup

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Eric Sandall <eric AT sandall.us>
  • To: SM-Discuss <sm-discuss AT lists.ibiblio.org>
  • Cc: Ben Ford <bford AT eecs.wsu.edu>
  • Subject: [SM-Discuss] Drupal (and other) install setup
  • Date: Thu, 31 May 2007 22:44:50 -0700

Fellow web app users,

In looking to update Drupal to 5.1 (I'm trying out Drupal for my wedding
to SweetPotato website ;)) and talking to a friend who uses Drupal
(binford2k), it seems that our current setup is dangerous.

Let me briefly explain. Our current setup, by default, installs to
/usr/share/www/drupal/. When installing the same version as already
installed, this causes no problem, but when we do an update, Drupal has
a few steps[0] which must be taken before the site goes live. When our
spell updates, it will be replacing the currently installed Drupal
version with one that is, most likely, incompatible with installed
themes and modules and, possibly, which will break (or break with) the
current database.

My proposal:
Install Drupal to versioned directories (e.g.
/usr/share/www/drupal/5.1.0/) and leave the old directories alone (a la
kernel modules via the excluded filter). This will allow for updates to
Drupal to be installed, but the prior version still running from
httpd.conf's DocumentRoot still set to the old version (e.g.
/usr/share/www/drupal/4.7.6/). The admin may then at his/her leisure,
copy the sites/* files to the new directory, dump the database for
safekeeping, disable all non-core themes/modules, set DocumentRoot to
the new location, run the upgrade script, and copy modules/themes over
to test and update them for the new version.

This will allow for future upgrades of Drupal to be installed *without*
wiping the current install of Drupal. The admin may upgrade at any time
afterwards.

I believe this should be done for *all* spells which install to
/usr/share/www (which should be all web-based apps, IMO), but that's for
another day. We can say Drupal is the proof of concept for this. ;)

My quandary:
How do I setup this new method (assuming no one finds significant
problems with it ;)) without breaking the old? Possible solutions are:
1. Use another directory for the new Drupal setup (e.g.
/usr/share/www/drupal_roots/)
2. Continue to use the current directory (/usr/share/www/drupal/) and
somehow migrate the old files to the new layout (probably just use 'old'
as the mentioned version folder). This would break the current
httpd.conf, which I don't like.
3. Continue to use the current directory (/usr/share/www/drupal/) and
just put the versioned directory under it (e.g. drupal/5.1.0) and let
the admin clean out the old Drupal files when done. This does not break
the current Drupal install (I asked) and also doesn't have two Drupal
directories. The worst this one does is, possibly, confusing the admin
if they are not aware, but it should be obvious.

I prefer option #3, with #1 a fallback if there are too many problems.
Option #2 is there for completeness and I most likely will not use it.

Thoughts? Complaints?

-sandalle

[0] http://drupal.org/node/53798

--
Eric Sandall | Source Mage GNU/Linux Developer
eric AT sandall.us PGP: 0xA8EFDD61 | http://www.sourcemage.org/
http://eric.sandall.us/ | http://counter.li.org/ #196285

Attachment: signature.asc
Description: OpenPGP digital signature




Archive powered by MHonArc 2.6.24.

Top of Page