She's Geeky – Install Drupal on your Mac

In this session we talked about Drupal in general, and a few people, including Margaret Rosas from Santa Cruz Geeks and CrystalMarie, got it installed and running. I have to apologize for being a bit incoherent; I was tired and unprepared. It was worth the session anyway to introduce the idea that you *can* run drupal on your laptop and use your laptop for development and testing! Margaret and others saved the day by having plenty to say about Drupal, Drupal 6 modules like Original Groups, what will be new in Drupal 7, and how interesting the process has been for re-organizing the Drupal web site.

If I had do-overs, here’s how I’d run this session:

– First of all, have already rewritten Installing Drupal on a local MAMP setup to improve its instructions.

– Quick description of what Drupal is. Show site.
– Quick introductions around the room.
– Pass around a few USB drives with zipped MAMP and Drupal files, with versions 5 and 6, for people to install and copy over to their laptops.
– Pass out a printout of Installing Drupal on a local MAMP setup.
– Ask people to team up in pairs.
– Give an overview of the install process, but without doing it.
– Then everyone is free to do the install.
– People who get it installed should then go around the room and help other people get it done.
– Mention IRC, #drupal-support, drupalchix, and documentation as good resources.

We ran into various difficulties. Some people had file permissions problems; it worked to make the entire drupal directory and all its files and directories readable and writeable, though that seems less than ideal. Also, we had some difficulty doing the first login, which I’m still going through with Laura from Indie Craft Gossip.

Thanks to everyone who participated! I didn’t take down your names, but if you want to comment and link back to your blog or Twitter or your company, I’d love it. Also, if you’re in the Bay Area and want to hang out messing around with Drupal, ping me and let’s have a Drupalchix meetup sometime in February.

Upgrading Drupal 4.7 to 5.14

I have been working on upgrading a site from Drupal 4.7, which is unsupported, to Drupal 5.14. I am somewhat familiar with Drupal as a blogger, user, and administrator, but wasn’t sure what it would take to upgrade a large and complicated site that’s been around for several years (and several former admins and programmers).

I decided to copy the entire site over to my computer so that I could run and upgrade it on a machine I completely control. I had already installed MAMP. If you develop on a Mac I advise you not to be snobby, MAMP is awesome.

The instructions at looked pretty good. And Angela Byron from Lullabot has a good screencast on upgrading from Drupal 4.7 to 5.1x. If you are about do an upgrade, I recommend you watch this — it helped me get all the steps clear in my mind and it was also kind of reassuring.

One of the first things I did was to list out all the modules used in the old site. Later, I dumped them into a shared document so I could ask other people which modules they know are used or might be useful to bring to the upgraded site. I also started a plain text log file of what I was doing for the upgrade, to record things that worked and didn’t, links that were useful, commands, and so on. This sort of “work in progress” file gets messy very fast, so it’s good to go back over it before you stop working for the day to sum up what actually did, or does, work!

I started off here, Copying a site to a local MAMP installation on a Mac. I ran into a few problems and when I figured them out, I logged in to so I could add to the documentation.

Then I ran into problems, because I wanted to run several instances of Drupal at once, and there were hard-coded bits of urls in several blocks of the 4.7 site. So I had a copy of the complete 4.7 site in a directory called “drupal”. Its .htaccess file was set up as in the “Copying a site to a local installation” instructions suggested. But half the links were broken – the ones that were hand-coded into blocks rather than pulling from the database. What I ended up with was another .htaccess file in the root MAMP/htdocs directory:

RewriteEngine on

RewriteRule ^$ /drupal/index.php?q=/ [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /drupal/index.php?q=$1 [L,QSA]

This worked. Now I have several folders with different versions of Drupal and several sites in my MAMP/htdocs folder, and to get them fully operational with all the links working, I change the path in the RewriteRule in .htaccess in htdocs.

Other people, in dealing with this problem, turn to virtual hosts, which is what we use in our production server. I haven’t tried setting that up yet, though it seems like once it was working, it would be more elegant.

Onward to the upgrade itself. I tried it a few times, and kept getting various bits wrong, ending up with a blank white screen and no information in the MAMP/conf/apache_error_log and nothing at all in “view source”. HEre’s some of the things I did wrong the first few times:

– ran upgrade.php from the old site’s directory. oops! Drop that database and start over!

– put the old site into maintenance mode, then couldn’t get to a login screen for turning maintenance mode off again, despite advice from the Drupal forums on “Site off-line under maintenance mode” to go to


. I ended up turning off maintenance mode from the command line,

/Applications/MAMP/Library/bin/mysql -u root -p databasename
>> update drupal.variable set site_offline=1

That worked great.

Turning things on and off from the mysql command line turned out to be very helpful for a bunch of my problems. It was useful for manipulating themes. When I enabled the site’s old 4.7 custom theme — not even selecting it as the default theme, just enabling it — my entire new install gave me a blank white screen. Oblomovka suggested switching the directories around, which seemed like a great idea! So,

mv oldcustomtheme screwedupoldcustomtheme
cp bluemarine oldcustomtheme

We both thought this was clever and would trick Drupal 5.14 into going right back to the default bluemarine theme. No! It didn’t work! The white screen persisted.

This was helpful: Unusable theme – How To reset your theme via the database.

In retrospect, I should not have tried enabling the old custom theme before I turned on some more modules; when I actually bothered to look at the old theme, I could see it used jstools and all sorts of other stuff that I’d deactivated.

I’m off to try that now. So far this has been pretty interesting, though sometimes frustrating! The documentation on is extremely helpful.