Posted by mattmm on February 19, 2009 at 9:36pm
I'm looking to configure:
- 1 Drupal Base core
- 1 Core of set modules
- Under the core install many websites that have their own DB and possibly their own modules. I don't need them to share users or content.
My assumption of what the directory tree might look like:
Drupal_Base/
-Sites/
--all/
---modules/
----views/
----cck/
---themes/
--abcxyz.com/
---modules/
---themes/
--xyzabc.com/
---modules/
---themes/
I want to be able to update 1 core of base Drupal and my collection of "core" modules. Is multisite or multiple site the answer to this? Or should I just be looking to symlinks? Still seems a bit confusing reading around.

Comments
This is exactly how
This is exactly how multi-site Drupal installations work. You've got the idea.
Just two things to note: Besides their own modules and themes directory (each is optional, actually), each site directory will have its own settings.php file with database settings for that particular site. Also, though you only have to update the files for Drupal or modules in the sites/all/modules directory once, you will still have to hit update.php once for each site in order to update the databases for each site. (So abcxyz.com/update.php, xyzabc.com/update.php, etc). Unfortunately (and surprisingly) there aren't really any good ways around this at this point.
The Boise Drupal Guy!
Multisite all the way
Post above is correct, you will still need to make symbolic links IF you use sites on the same domain name (site1.com/mysite and site1.com/yoursite would both need to point to your drupal directory symbolically in order to work). If you're using different domains then what you've described + the comment above should get you there w/o issue.
The update issue is very annoying, I'm hoping someone takes that into account in the future that you can bulk run update scripts.
"Plaguing the world with Drupal; One Plone, Moodle, Wordpress, Joomla user at a time since 2005." ~ btopro
http://elearning.psu.edu/
http://elearning.psu.edu/projects/
http://elearning.psu.edu/drupalineducation/
Ex Uno Plures
http://elmsln.org/
http://btopro.com/
http://drupal.psu.edu/
Filed an issue?
The update issue is very annoying, I'm hoping someone takes that into account in the future that you can bulk run update scripts.
Have you searched and/or filed an issue for this?
I believe you can build a script using drush that does this, but I'm imagining you want a GUI. Which is going to be really hard to do, and is kind of more like what Aegir is trying to do. So, short answer -- this is non trivial.
Have you searched and/or
Here's one from the 4.6 days. This problem has been around for a while…
The issue has come up before and I know that people smarter than me have tried to solve it. Aside from seriously refactoring what update.php does, there don't seem to be any good solutions.
I'm keeping half an eye on Aegir's progress, but in many ways it seems to actually do too much… maybe just the part that handles multi-site update.php-ing can be refactored into a lighter module?
The Boise Drupal Guy!
I created a watir script to
I created a watir script to take care of this for me. It logs into the sites then runs update.php and then logs out of the sites. At this time I'm running in interactive mode, which is a little slower, and it updates 66 sites in about 20 minutes. Slowly I'm adding to the class so I can do other features, for example rebuild my themes. It is definitely lacking on the error checking, but I haven't had issues yet. If enough people are interested I'll put in the work to clean it up and attach it here.
Also I'm thinking about
Also I'm thinking about demoing this and my automated site creation script during the Education or multisite bof at Drupalcon DC so if someone is interested you can feel free to come find me and ask me any questions.
I'm going to be showing off
I'm going to be showing off a module in a bit more detail (hopefully I'll have it released before drupalcon) at the BoF that's automated site creation and gives out permissions to create a site. Right now it's called Course Manager but I don't want it to be specific to education (cause it's not) but it's also based on the idea of automation and massive site infrastructures.
Here's a write up on it if your interested, I'd love to work in some kind of bulk update and bulk cron running if possible for people who can't figure out / don't have access to hooking into their crontab.
https://elearning.psu.edu/projects/node/129 -- screencast of the module running inhouse at the moment
https://elearning.psu.edu/projects/node/131 --explanation
Unfortunately I know that this project overlaps with multisite manager (http://drupal.org/project/multisite_manager ) in several ways so maybe I can work with schuyler1d to merge the projects. Mine's more focused on replication of 1 drupal site off of another where-as his is about giving permission to create new drupal sites from scratch (at least last I checked).
"Plaguing the world with Drupal; One Plone, Moodle, Wordpress, Joomla user at a time since 2005." ~ btopro
http://elearning.psu.edu/
http://elearning.psu.edu/projects/
http://elearning.psu.edu/drupalineducation/
Ex Uno Plures
http://elmsln.org/
http://btopro.com/
http://drupal.psu.edu/
hmm, interesting project.
hmm, interesting project. That seems to be going a step above what I'm looking to integrate but I'll have to check it out. Haven't searched for an issue on it but then again I've always found multisite to be rather open-ended and that core was setup to allow it but that it wasn't a major focus. Guess I'll look through and post one if it doesn't exist.
"Plaguing the world with Drupal; One Plone, Moodle, Wordpress, Joomla user at a time since 2005." ~ btopro
http://elearning.psu.edu/
http://elearning.psu.edu/projects/
http://elearning.psu.edu/drupalineducation/
Ex Uno Plures
http://elmsln.org/
http://btopro.com/
http://drupal.psu.edu/
Have you searched and/or
(oops, quoting problem)
The Boise Drupal Guy!
RE: Symlink Multisite
We've been using the symlink method and (as long as you have a script to create the symlinks) finding it very helpful - particularly in updating core! Here is our complex structure below:
/home
/clients // This holds information accessible directly by individual clients
/site1.com
/files // client's image and data files live here
/logs
/site2.com~
/usr/local/web/ //our web partition
/www //location of live copy
/drupal
/5
/core
/drupal-5 ~ //this is the default location for each site -a symlink to the updated version
/drupal-5.15 //the actual location of current core files
/contrib
/modules/
/custom
/themes/
/custom
/6
/core
/drupal-6.5 core files
/drupal-6~ symlink for core
/domains
mysite-com ->../webroot/mysite-com/ -> these are the symlinks that the webserver points to
dev-mysite-com -> ../../dev/webroot/mysite-com
yoursite-com ->../webroot/yoursite-com/
dev-yoursite-com - >../../dev/webroot/yoursite-com
/webroots
/site1/
// simlink to current Drupal install path
DRUPALVERSION ->../../drupal/5/core/drupal-5/ //or choose specifc version to use
// simlinks to files and directories in DRUPALVERSION
robots.txt -> DRUPALVERSION/robots.txt
scripts -> DRUPALVERSION/scripts
misc -> DRUPALVERSION/misc
profiles -> DRUPALVERSION/profiles
cron.php -> DRUPALVERSION/cron.php
themes-> DRUPALVERSION/themes
modules-> DRUPALVERSION/modules
misc-> DRUPALVERSION/misc
includes -> DRUPALVERSION/includes
update.php -> DRUPALVERSION/update.php
index.php -> DRUPALVERSION/index.php
// simlink to contributed modules + actual config files and custom themes and modules
sites/
all ->../../drupal/5/contrib/
default/ (or cn be site1.com/ if coming from an existing site to preserve path integrity)
files/ -> /home/clients/site1/files/
// image files, etc, are kept in client's home directory
modules/
themes/
/site2-com/~
/dev ///mirror image of www
--
Bram Moreinis, Principal
Game Face Web Design, LLC
http://www.gamefacewebdesign.com
(w) 845-750-6554
http://gamefacewebdesign.com