Setting Up Mac OS X Tiger for Web Development
Setting up a new Mac as a web development workstation takes a little bit more work than just installing Textmate. These are my notes of the process (mainly for myself to make future installations faster).
The Basics
-
Install TextMate
- Configure Finder to open ALL possible coding-related documents with TM
-
Install also the terminal extention. Test by running
mate foo.txtin terminal -
Install or sync (with other machines) all necassary bundles. They are located in
~/Library/Application Support/Textmate
-
Install Transmit
-
Copy settings from other machines
~/Library/Preferences/com.panic.Transmit3.plist - Sync bookmarks
-
Copy settings from other machines
-
Install SSHKeychain
- The Universal binary is there. Just not very well in sight.
-
Install Subversion
- There are several pre-built packages available
-
Install MySQL
- 5.x versions have nice .dmg + installer packages, installation is very easy
-
Add
/usr/local/mysql/binto PATH - After installation, secure the initial installation
-
Set password for root with
SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘myelitepasswd’); -
phpMyAdmin is a must-have. Best installed under
~/Sitesor/Sites
-
PostgreSQL, if needed
- Marc Liyanages package + docs seem to be the easiest.
- See also ADC document PostgreSQL on Mac OS X
-
Install PHP for bundled Apache 1.3
- Again, Marc Liyanages package is propably the easiest to set up
Setting Up Python
-
Install Python 2.4+
- There are great pre-built binaries for Python 2.4 and 2.5
- Install some of the batteries that were forgotten in the “batteries included” philosophy:
-
Install IPython
- Download the source and install. This is very easy for Python 2.4+
-
Add
/Library/Frameworks/Python.framework/Versions/Current/binto PATH and everything Just Works :)
Setting Up Django
I like to live dangerously. So:
svn co http://code.djangoproject.com/svn/django/trunk/ django_src ln -s /path/to/installation_directory/django_src/django /Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/django
That’s it. Django works. Now add export PYTHONPATH=/where/you/develop to your .bash_profile and finally copy django_src/django/bin/django-admin.py to somewhere in your path (for example in /usr/local/bin).
Localization issues
- Configure Terminal.app for Finnish chars
Are We There Yet?
Unfortunately that’s just the nerdy part of the setup-process. Next up is installing browsers, browser plugins (did I hear Firebug?) and all that jazz. I’m not going to get into those in this post, though.
I recenty listed all my favourite apps in iusethis.com (you can log in via OpenID). Please share your comments, suggestions or own favourite apps in the comments.













3 comments
I mostly gave up on doing server-side development natively on the Mac when I got an Intel machine and many of the pre-compiled packages I had got used to weren't available (the Mac Python stuff was particularly bad here). Instead I use Parallels and run a virtual Ubuntu server - that way I can apt-get pretty much anything I might want. I still use TextMate though - I mount the virtual server over Samba so I can edit the files locally.
I've had some pretty bad experiences with Python and an old PowerBook that I have. Fortunately setting up the new Intel iMac was a breeze -- everything Just Worked.
Once I have the basic stuff (the ones listed above) set up, there's seldom need for additional packages so it's not a big thing, for me anyway. Sure, pretty much everything is easier on a Linux box (especially when the deployment is done almost entirely on Linux boxes) but then again, it's nice to be able to work on just one machine.
Parallels is still something that I need to invest to. I have a copy of Virtual PC 2004 on my PB and it has been a Great tool. The Samba-trick sounds especially good! :)
OMG, I’m linked, thanks Ville.
I’m very sad to inform that my localization page has not been updated in ages and that is not really the configuration I’m using myself... Hopefully it still is somewhat current.
I must check those Django tips later myself.