“But Pete! You’re a .NET developer! What the hell do you want one of those for?!”

Heh. My home computer is a Mac. I do some freelance work every now and then. I’m in the middle of moving hosting from jaguarpc.com (who up until the last couple of weeks have been exemplary, but since then the box I’m on has been up and down with hardware problems, and to add insult to injury someone inside their farm has been spamming, which means their IP range has been getting a progressively worse reputation on spam blacklists) to webfaction.com. Tangent: Webfaction are a UK company (a pro; I’m in the UK too) that use a datacenter in Texas. They’re Python-friendly. They provide svn. They have their own custom control panel which decouples domains from web-apps from web-sites, making management a mite easier than on typical cPanel hosting. They run closer to the bleeding-wrist of software versions (which isn’t for some, but is for me).

Anyway. I already keep my life in a subversion repository, but since I got the Mac, I haven’t replicated the local web development environment that I had on my PC (via the great WAMP package from Devside; actually, its community edition). What do I want out of this? I want it all:

  • PHP (since I’d quite like to be able to run Wordpress locally so I can at some point write my own theme for this blog)
  • Python/Django
  • MySQL
  • Apache 2.2.x
  • Apache config in source-control (been bitten by hacking it faaar too often to not do that!)
  • Source-control’d sites, so that deployment is as simple as ssh to the host and “svn up” (I already use svn, but deployment has always been a manual affair before)
  • locally-mapped TLDs so I can hit foo.dev to get to the localhost’d foo.com - preferably managed by a local DNS (bind, I guess) so I can avoid hacking /etc/hosts for each site
  • maybe Ruby-on-Rails; I’ll figure out whether I like it, or Django, more, for the sorts of small sites I do freelance
  • hopefully Capistrano (since it seems like a good excuse to play with it ;-) )

This is probably going to turn into a series of posts, thinking about it. Let’s see how a live blog experiment turns out…