As a web developer on the Mac, I've long had a love for the wonderful PHP/MySql development tool for the Mac, MAMP. It's a web environment in a box, it takes two seconds to get up and running, and for many projects, it's all you need.
So Why Use Anything Else?
For certain projects, I've had to start making modifications to my environment. I might need some PECL extensions, or command line utilities, and the reality of the situation is that most web servers aren't running Mac OSX, or Unix. They're running Linux.
While the Mac is very similar to Linux at it's core, when you start dealing with these requirements you're no longer comparing apples to apples... you're comparing apples to penguins (bad joke, I know).
Most libraries, or utilities aren't as easy to setup on the Mac as they are on a Debian flavored Linux Machine. And while they are similar, the Mac has a different configuration than Linux.
What Makes Debain Easier?
There are two main advantages. The first is really about running a virtual machine for your web environment. With VMWare Fusion, you can install Debian as a new virtual machine, configure it's basic settings to your liking, and create a snapshot of that box. Then you can tinker, experiment, and completely mess up your machine if you want, without the fear of doing something you might regret later, because you can always load that previously saved snapshot.
The second main advantage is specific to Debian, which has an excellent system for installing packages. If you want to install apache, php, and mysql on your system, you just pop open a terminal, and type:
apt-get install apache2 php5 php5-cli php5-mysql mysql-server
It's really that simple. For popular projects, you don't have to manually compile anything, or worry about creating symbolic links etc etc etc. Most stuff "just works".
Sounds Good, But Doesn't Sound Easier Than MAMP...
Well, the initial configuration definitely isn't. There are some hoops to jump through, which I might save for a later article. From a high level, here is what I did to get things functioning as slick as MAMP:
- Setup initial Debian install with VMWare tools.
- Installed PHP, MySQL, Apache, etc
- Configured my machine to use a fixed IP on my local network
- Added NFS file sharing, to get the machine to show up on my local network
- Added SSH to allow remote logins
- Added this great virtual host script, to automate easy creation of new virtual hosts
- Modify my Macs /etc/hosts file to point at the virtual machines ip
That's it! Now I fire up VMWare, mount my sites folder on my Mac, and login via Mac's terminal, and still use the Mac applications for development, but my actual environment is linux.

great post, welcome to
great post, welcome to debian, it truly is a lot easier to use. i'm glad more people are adopting it.
Post new comment