WebDev → Веб-разработка на macOS

Как организовать рабочее окружение для веб-разработки на macOS (OS X)?

Вариант 1. Можно поставить все самому.

Apache и PHP идут “из коробки”. При этом модуль PHP может быть отключен в /etc/apache2/httpd.conf. Удобно управлять виртуалхостами можно с помощью https://github.com/pgib/virtualhost.sh . Обновить версию PHP на Mac можно с помощью http://php-osx.liip.ch/. Установить MySQL можно из .dmg с официального сайта:http://dev.mysql.com/downloads/mysql/.Можно использовать Homebrew и через brew install все установить.
Инструкция как все настроить

Хороший вариант, если вам необходимо работать над одним или несколькими “стандартными” сайтами, не критичными к окружению и не требующими доустановки “сложных” модулей.

Вариант 2. Использовать MAMP Pro, AMPPS

MAMP Pro (59$) и AMPPS (free) — это аналоги Денвер под Mac, после установки вы получите работоспособный веб-сервер с Apache, MySQL, PHP и пр.

Данный вариант несколько облегчает установку и настройку окружения и требует от вас меньше “телодвижений”. Но по прежнему подходит только для тех случаев когда проекты “стандартные” и когда разница между локальным и production-окружением не критична. MAMP для серьезной разработки не походит.

Вариант 3. Использовать VirtualBox или VMWare

Создать виртуальную машину и установить туда нужную ОС, PHP нужной версии, MySQL, установить все необходимые модули и сделать все ручками максимально приближенное к production-окружению.

Вариант отлично подойдет для работы над одним проектом, когда необходимо иметь под рукой рабочее окружение близкое к боевому. Но создавать каждый раз новую виртуалку, дублировать все изменения на сервер и локальной ВМ и все настраивать — не лучший вариант.

Вариант 4. Использовать Vagrant

Vagrant является оберткой для систем виртуализации (VirtualBox, WMWare и пр.) и предназначен для создания и настройки легковесных, переносимых, портативных окружений. Vagrant сохраняет свою конфигураци в отдельном файле и позволяет легко переносить окружение и делить им с другими разработчиками.

Упростить сборку конфигураций можно с помощью puphpet.com. Если вам необходим например PHP 7 в связке с PostgreSQL и Nginx или PHP 5.6 с Apache 2 и MySQL, вы можете быстро создать и загрузить необходимую конфигурацию.

Пожалуй самый правильный вариант если у вас сложный проект, или вы поддерживаете множество проектов с разным окружением (на разных серверах, разные версии  PHP). Освоение и подготовка не займет много времени, конфигурация и готовые боксы переносимы.