I'm doing this in a unixie way rather than looking for Mac specific packages.
0. sudo -H -u root /bin/bash
1. Get Mysql and install. Put this in /usr/local/msyql. The mysql manual is pretty good, so I won't duplicate. Make a db user ("drupaloompa") and db as drupal tells you.
2. Get Apache 2 and install. You'll need DSO support, so ./configure --enable-so. I wonder why they don't make this a default. Anyway, Apache 2.2 gave an error:
configure: error: Cannot use an external APR-util with the bundled APR
I decided to punt and go back to Apache 2.0. This worked fine. Probably I have another apache server pre-installed by Steve Jobs. Looks so, so be be careful that your paths point to /usr/local/apache2.
3. Get PHP 5. Configure/make/make install had one variation: ./configure failed unless I gave the full path to mysql, so I ran (in /usr/local/php-X.Y)
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql
Noticed an unusual problem with PHP's "make install": it looked for libs in
but my libs were in
I rectified this straighforwardly (it's late) but probably this is some ./configure issue.
Checked php by creating a little file (phptest.php) with the line <? phpinfo() ?> in htdocs. This worked/
4. Copied drupal directory (after gnutarring) into htdocs. Note you want to do this:
cp -r /path/to/drupal-5.1/* /usr/local/apache/htdocs
You don't want the directory /usr/local/apache/htdocs/drupal-5.1. For some reason, my PHP files did not get parsed in this directory, but everything worked fine when I moved things to the top level htdocs directory.
5. Start apache and point to http://localhost/index.php. You will see a complaint about write access to settings.php. Do this:
chmod a+w sites/default/settings.php
Run this, use your Mysql user account and password, and you are good. Remove write permissions on settings.php.
chmod a-w sites/default/settings.php
Point your browser to http://localhost/index.php again and get going. Note that you will need to clear your browser cache if you loaded any Apache pages. Use shift-reload or just quit the browser and start a new one. In any case, http://localhost/ should show the index.php pages, not "It works" or any Apache feathers.