When I moved over to Mac OS X 10.6 last week I found I had to fix my MAMP stack. My old MAMP install didn't work anymore as unfortunately Marc Liyanage's excellent PHP package fails in 10.6.
The following instructions are mostly the same as before – except it's not quite so easy now – if you want more than a base PHP install that is. (I even had another look at the commercial MAMP Pro offering. Nah.) For a simple MAMP stack you really only need to turn on Apple's PHP package and grab a copy of MySQL. If easy is good for you – jump to 1.5.
But I "like" to have phpMyAdmin and don't like being warned that I'm missing the mcrypt extension for PHP. If you want mcrypt too – start at #1.
If you've not got it already grab the wonderful and free editor TextWrangler. The config files that need editing are hidden from normal view – but easily reached by TextWrangler which even has a menu item for that: File / Open hidden… . It also handles authentication beautifully to allow saving without having to manually change permissions to and fro.
1.7 Start PHP by un-commenting the LoadModule php5_module line in your /etc/apache2/http.conf file.
1.8 Turn Web Sharing (in System Preferences/Sharing) off-and-on again.
Get yourself virtualhost.sh from Patrick Gibson. This little shell script will make the process of setting up proper virtual domains on your development server a cinch. I use ".dev" or ".live" as the TLD to prevent any conflict with the live sites. (Although now I've started using Git I may just drop the separation between live and development branch domains on my development box. I still put all my sites in my ~/Sites folder though.
3.2 Get a MySQL Community Server for the Mac and install it.
…if you like sniggle as a password that is.
Now you can administer your MySQL server with phpMyAdmin and the root user you've just defined. (There are other tools too – eg MySQL Administrator – but I'm used to phpMyAdmin from the hosting packages I use). You may want to virtualhost phpMyAdmin to, for example, "http://mysql/". Love virtualhost.sh.
Then for each [dynamic] site you'll probably want to add a user and then associate a DB with that user. Do this in phpMyAdmin in one step using the Privileges pane fill in "Add a new User"/then select "Create database with same name and grant all privileges". Job's a good 'un.
Done and not long-winded at-all at-all!