Getting Set Up for Development on OS X
3 April 2016
I recently found myself collaboration on a project with a developer who had just made the switch to Mac after developing for years on Windows machines. He wanted some advice on how to get up and running. I sent him the following:
Setting up the LAMP stack
Assuming you are on OSX 10.11 (El Capitan) heres a good guide for getting the built-in Apache server set up with PHP and mySQL:
Get your Local Web Development Environment Up & Running on OSX 10.11 El Capitan
The same site has guides for previous versions of OSX as well. To set up a vHost to work on your project using any chosen url (e.g. “example.dev”) use this:
How to set up Virtual Hosts in Apache on Mac OSX 10.11 El Capitan
There are probably automated processes and visual interfaces to accomplish the same thing, but I get by just editing the appropriate .conf files. (I know some devs prefer to use a tool like Vagrant, but I don't find it necessary working by myself or part of a small team. I also prefer minimal, lightweight solutions.)
Other useful dev tools
OSX runs PHP 5.5 by default. If you want to run 7 or any other version use:
Homebrew - a package manager. Also really useful for anything Ruby.
The Mac terminal is great, but if you’ve run the command line on unix before you may notice the conspicuous lack of tab-completion:
How to Enable Tab Completion in Mac OS X Terminal
On the other hand, you may just want to use a replacement terminal application with lots of awesome features:
iTerm2 - Offers split panes, autocompletions, search, and my favourite feature of all the hotkey window.
General OSX stuff
Quicksilver - An application launcher with a lot of plugins. Lets you open apps and perform routine tasks with a few keystrokes and no need for the mouse.
Airmail - If you prefer e-mail clients over webmail this one is miles ahead of Apple Mail. It supports gmail keyboard shortcuts, ToDo lists, markdown, and it looks a whole lot prettier too. It’s not free, but for me it’s worth it.
Hope you find this useful.