some q's;
1)
I've seen some posts that suggest a 4.7 > 5.0 intermediate step before
going 5.0->5.1. Is that still the best way ?
2)
Do I have to upgrade all the modules I call for in 4.7 to 5.0 compatible versions,
before upgrading __those to 5.1, or will the database (that i've backed up) survive
not having the extra modules while I go 5.0-> 5.1
3)
right now I have drupal installed to the public_html directory right under the main
eg mywebsite.com/public_hmtl
that's not ideal.
I'd prefer a way to have two distinct drupal installs
mywebsite.com/drupal47/public_hmtl
mywebsite.com/drupal51/public_hmtl
and even two distinct databases called out in
mywebsite.com/public_hmtl/sites/default/settings.php
I know this is the multisite "gimmee/newbie" question, but if someone
can cite the explanation for how to setup a default "root"
settings.php file independent of various drupal installs on the same
site, I'd really appreciate that tip.
Thanks,
DK
Comments
1. No, go straight 4.7 ->
1. No, go straight 4.7 -> 5.1
Drupal 5.1 is in the same branch as 5.0 but is more updated with bug fixes etc, so it is safer to let that one make the upgrade.
There has been a change to the naming of the *main branches*
4.6 (minor releases 4.6.1, 4.6.2....)
4.7 (minor releases 4.7.1, 4.7.2.... 4.7.6)
5 (minor releases 5.0, 5.1...)
6 (under development)
When within a main branch, just use the latest release.
2. You have to replace all 4.7 modules with their 5.x counterparts, otherwise they just won't work. There is no "5.0" or "5.1" for modules. All modules are designed for the Drupal 5 branch and you should get their latest 5.x official release or their latest 5.x-dev version if there is no official release. Each module has its own minor release numbers, which don't matter.
Take your site off line to be safe, and run update.php only after you have replaced all the modules and Drupal files. If you still have 4.7 modules left when you run update.php they will be ignored, but I am not sure what will happen to the database (dependencies...)
Expect some error messages from some modules, so if you can, make a test upgrade in a subdomain first, with a different database loaded with your backup, to see if there are any serious errors.
3. Using two databases for that is right. But usually with a single account you get a single public_html and installing Drupal there is the simplest way. You can probably do something like what you describe with subdomains (site1.example.com and site2.example.com) or even with full domains -- depending on your hosting plan. With what kind of URLs do you intend to access your different sites?
-----
Edited to add: You are talking about two different Drupal versions, 4.7 and 5. That is not a multisite -- each one has to be configured separately in the usual way.
We call it a multisite when you run many sites, each one with its own domain or subdomain URL, from only one Drupal installation.
since I'm backing everything up,I'll try 4.7 -> 5.1 on my dummy
site (another url) and see how it goes.
our goal is to try another estore instead of ec, and we can't do that at 4.7.
so if the SSL certificate will allow.
ourstore.oursite.com
instead of just
oursite.com
we'd be happy with that to just use a more robust estore.
since I am talking about two distinct drupal installs and two distinct databases,
a) what do they call that ?
and
b) is that config'd by a single settings.php
or distinct settings.php in separate
public_html/site_name/settings.php
directories,
where site_name is a separate domain for each possibility. ?
Thanks,
DK
Use Separate settings.php
In answer to b)
Use two separate /sites/default/settings.php, but make absolutely sure you've changed the lines:
$db_url =
$base_url =
to the development sandbox before running upgrade.
It's also good practice to make a third copy of your database that has no drupal instance (e.g. files) pointing at it. In a worst case senerio, you can then dump a trashed production database and be able to immediately reload from the known clean backup.
And, if you have the file space, doing a copy of all production files to a non-webbed tmp/backup area can be useful as well.
Regards,
M.J. Taylor
Publisher
from Reason to Freedom
Wekly libertarian magazine promoting thinking for oneself, thus helping to create a free, benevolent society.
Oh, you are going to use
Oh, you are going to use subdomains (ourstore.oursite.com). This is easy.
For each subdomain you create in your cpanel, you get a corresponding subdirectory under public_html, to use as the new site's web root (where you can install Drupal)
- you create ourstore.oursite.com in your cpanel
- you get a public_html/ourstore directory automatically
With some hosts, cpanel allows you to change that to whatever subdirectory you want, so you can use public_html/drupal5 instead. If you can't, there are others ways to make your ourstore.oursite.com subdomain to use a public_html/drupal5 subdorectory (for example using symlinks), but lets not get into this for now.
On question a: What they call it when you have Drupal installations in public_html/drupal47 and in public_html/drupal5? Heh, "two Drupal installations" is the best I can think.
On question b: When you use different Drupal installations (for example when you need Drupal 5 *and* Drupal 4.7) then each one is set up as if it was the only one.
Where it becomes interesting is when you run many completely different sites (each one with its own database) from a single Drupal installation. Then you have, for example
site1.oursite.com --> its web root is public_html/drupal5
site2.oursite.com --> its web root is public_html/drupal5
site3.oursite.com --> its web root is public_html/drupal5
Everything leads to that single Drupal installation. As I said, you can achieve this either from cpanel by changing your subdomains' directory (if this option is available) or with symlinks.
Now, Drupal is supposed to receive all requests for all sites, and each time serve the right one. To make this possible, Drupal needs you to create some subdirectories inside Drupal's installation directory like this.
drupal5/sites/site1.oursite.com/ -- contains a settings.php file
drupal5/sites/site2.oursite.com/ -- contains a settings.php file
drupal5/sites/site3.oursite.com/ -- contains a settings.php file
drupal5/sites/default/ -- also contains a settings.php file. A "catch-all", to serve any domains which you have not specified,
Each site's settings.php file specifies its own database ($db_url)
Also, you can install all the contributed modules and themes in
drupal5/sites/all/modules
drupal5/sites/all/themes
and then *any* site can enable them and use them separately.
That's what multisite is. A single drupal installation, a single place for modules and themes, to serve different sites.
Upgrade to 5.0 before going to 5.1
First of all work on a backup copy of your website. You will always be able to delete it and start again with a new copy if things go mad.
Secondly, you absolutely need to upgrade to 5.0 before upgrading to 5.1. See: http://drupal.org/drupal-5.1 at the Upgrading heading. I've just upgraded a site from 4.7.6 to 5.1 and when trying to go directly at 5.1, the upgrade.php screen was sending error messages and was refusing to do the upgrade.
Finally, once your 5.1 web site is running, it's now time to upgrade your modules. I would suggest to upgrade them one at a time. First thing to do is to delete all 4.7.x modules, though.
Good luck.
/*_*/
http://www.xmacinfo.com
About the last point,
About the last point, updating the 5.x modules one by one, xmacinfo is right, it is perfectly ok, just watch the dependencies mentioned in their .info file for the right order.
But not once the site it is running. Don't rush to bring it back online before you finish with all the important ones (imagine a site full of CCK fields, panels, views etc with these modules still missing).
No
I took 4 sites from 4.7.4 straight to 5.1 with no problems. I don't know if you can even get 5.0 any more.
Nancy W.
Drupal Cookbook (for New Drupallers)
Adding Hidden Design or How To notes in your database
NancyDru
You still can get 5.0
Yes, you still can get 5.0, there is a link to it somewhere in the upgrade instructions in the handbook, in the same post it is also recommended to upgrade first to 5.0 and then to 5.1 - but as you I also went straight from Drupal 4.7.x to Drupal 5.1 without any major problems.
I went with a complete fresh install of Drupal 5.1, got all modules for Drupal 5, put them in sites/all/modules, put my custom theme in sites/all/themes, got my Drupal 4.7 database export and imported it in the a new database (I not only went from Drupal 4.7.x but also changed my host provider at the same time). Then you'll have to run update.php where first the system module was updated, and after that I had to run it again to update all the modules. If I can remember correctly, I didn't have a problem with doing it in this way.
Also, make sure you know how you have to change your template to work with Drupal 5, there have been a few changes, e.g. with primary links, see http://drupal.org/node/64292
Drupal 5.2 has been released
Interesting. Drupal 5.2 and 4.7.7 have been released, and the announcement now says:
http://drupal.org/drupal-5.2
"For the most trouble-free transition from an existing installation, it is recommended that you first upgrade to Drupal 4.7.6 or Drupal 5.1."
So, something which was not suggested before is suggested now. Apparently the policy for upgrades is "One release before the latest, just in case we missed something important".
Note that choosing to follow this policy is no problem at all. Going 5.1->5.2 afterwards is as easy us uploading the new files and running update.php. No worries about modules, since we are on the same major version.
Very useful video podcast
http://www.lullabot.com/node/160/play is a great video on how to go through the upgrade process in case this is your first time.
--Paul Johnson