Pull to refresh

Comments 75

Если xcode нужен только для cmd tools, то нет необходимости его устанавливать: достаточно открыть терминал и набрать там, например, «make».
Полезное дополнение, так как сам по себе XCode довольно громоздкий.
Я мало имею дел с php, восновном с python. Но пару раз приходилось все-же связаться и с php, и запускал я его на Mavericks через uWSGI, как я делаю это и с python приложениями. uWSGI вообще всеяден, через него можно и perl запускать и ruby и многое другое. А так как я оч привык к uWSGI то мне проще было не лезть в дебри php-fpm и воспользоваться любимыми и привычными средствами. Вот насчет производительности uwsgi vs php-fpm ничего не могу сказать — может кто-то проводил тесты? Ну по крайней мере uWSGI помимо всего прочего несет в себе еще очень богатый функционал.

А так-то есть еще MNPP помимо MAMP
Спасибо, тоже полезно. MNPP ещё не встречал. Посмотрел страницу. Percona полностью взаимозаменяема с MySQL? Проблем при экспорте на рабочий сервер с MySQL не будет?
Проблем с миграцией быть не должно. В percona практически такойже innodb, только со своими +
С myisam проблем тоже не будет. Percona это форк MySQL, но более оптимизирован и усовершенствован.
Это перевод. Очевидно, для работы Homebrew, если следовать логике автора.
Да вот я удивился такому рекваирменту, но, похоже, это просто «на всякий случай»
На самом деле можно обойтись и без него. У меня xquartz не стоит, и работает все замечательно.
«Общий доступ к файлам» в настройках «Общего доступа» не имеет никакого отношения к Apache.
Он отвечает за SMB/AFP шары.
Да, верно.

Там другой параметр отвечает за Apache. Исправлю.
Для управления серисами установленными через homebrew удобнее воспользоваться LaunchRocket
Отлично! Век живи, век учись. Вот для того перевод и сделал, чтобы подобные подсказки услышать.
Тоже пользуюсь LaunchRocket и еще могу посоветовать Hosts.prefpane — полезная штука если не пользоваться dnsmasq
Вот это супер. Из хардкорщика делаете повер-юзера.
У кого то получилось его подружить с TotalTerminal?
отлично — для тех кого смущает апач, для тех кого не смущает есть бесплатный xampp for mac.

*главное не забыть вырубить предустановленный апач в системе)
Но он тоже только с localhost работает. А если сайтов десятки в работе, что делать на локальной машине? В подпаки их класть?
Зачем :?
обычный же апач редактируем apache\conf\extra\httpd-vhosts.conf добавляю вирт хосты на домене .dev / .local и держим любое кол-во сайтов )

и да помним про .hosts $)
Был замечательный пакет MNPP, но, похоже, забросили его.
Вот тут коллега выше его упоминал. С виду достойная разработка.
MNPP кроме всего прочего и опенсорсный. Можно свою сборку сделать с нужными версиями php/mysql/nginx или добавить поддержку чего-то еще.
Более года сидел на нем, но потом из-за медленной поддержки собрал себе свое окружение через brew.
Я им даже помогал немного с разработкой, но потом решил что оно того не стоит :)
Я тоже в конечном итоге пришел к родному маковскому httpd и php через homebrew с переключением 5.4/5.5.
Позволяет ли он управлять виртуальными хостами на локальной машине?
Для начала он на apache, как я понял.
Как быстро в нем появляются последние версии php? На сколько легко в нем ставить расширения?
С вариантом в посте — достаточно первый раз повозиться с настройкой (конфиги под себя прописать), а дальше brew install php5x-ext_name
А интересна кому нибудь статья на тему как без особого труда настроить аналог денвера (с виртуальными хостами) с использованием встроенного в OSX apache? Без установки пакетных менеджеров и прочего, пользуясь лишь тем что стоит в OSX по умолчанию.
Да, интересна. MySQL по-умолчанию, вроде бы, не установлен.
Без MySQL и PHP, сконцентрировано на идее виртуальных хостов генерируемых автоматически из структуры директорий (как это реализовано в Denwer) и переносимости этого решения между разными компьютерами. Немного шаманства с конфигурационными файлами Apache, NodeJS в качестве генерилки конфигов + AppleScript для удобного запуска и перезапуска этого добра.
Как по мне, не стоит заморачиватся, а просто поставить все это дело на виртуалку.
А если у вас простенький старенький макбук? Хватит ли его ресурсов?

Потом, через что ставите?
Лично у меня так: Parallels Desktop + Ubuntu server, локальная папка с веб-проектами примонтирована к виртуальной машине.

Это позволяет хранить и редактировать файлы локально, а запускать на нужной ОС (в моем случае — убунту).
К тому же, могу ставить практически любой требуемый софт простым apt-get install. Плюс, виртуальную машину можно переносить между компами простым копированием, не засоряя рабочую систему.

На MBP 2009 года это работало достаточно быстро, на современных макбуках вообще летает.

Примечания:
1. убунту — по историческим причинам.
2. параллелз — отличная ВМ, которая в 90% случаев сама всё умеет, а в оставшихся 10 — за пару кликов мышки.
Ну так есть же всякие VirtualBox.

Я параллелз купил по какой-то очередной акции с приличной скидкой, и до сих пор не жалею об этом.
Согласен.

Я тоже сначала так извращался, как описано в топике, а потом мне показали vagrant и виртуальная машина пережила уже две переустановки системы.

Да и в PhpStorm работать приятнее — как будто бы удалённый сервер, все дела.
А в последних версиях (EAP) добавили поддержку удаленного интерпретатора, так теперь и локальный php не нужен в большинстве случаев.
Он только с локалхостом и php через apache mod_php.
Предпочитаю для рабочего окружения на mac ничего не ставить, для этого есть vagrant.
Это здорово. Вижу официальный сайт впервые, к сожалению. Где вы были раньше?
Да я тут отходил не надолго :))))
а я вот наоборот бросать вагрант собрался
Все это конечно хорошо, но есть же Vagrant? С его помощью можно развернуть кучу различных окружений с различными версиями ПО и при этом не захламить свою основную систему. Мало того — можно обмениваться с коллегами боксами с преднастроенным окружением или конфигурациями для Chef и Puppet. Накладные расходы на виртуализацию с нынешними мощностями не так высоки чтобы отказывать себе в удовольствии поднимать на рабочем буке различные боксы идентичные по настройкам боевому серверу.
Тут много раз уже про вагрант говорили, и правильно делали. Не мучьте вы OS X-овское окружение. Завтра вам понадобится поставить какой-нибудь модуль под PHP, который под Mavericks не компилируется, потому что версии библиотек не те… В общем, геморроя на порядок больше, чем с vagrant. А уж учитывая, что вы совершенно спокойно можете для разных проектов в Vagrant использовать совершенно разные окружения и набор софта — выигрыш очевиден.
А еще можно пошариться на virtualbox.es и сливать оттуда готовые боксы с различным окружением.
Так он же через virtualbox? Это в линуксе он через lxc. Будет же оверхед при доступе к фс гостя. Но на маленьких проектах это конечно не критично.
А большие (да и маленькие) проекты зачем вообще на машине разработчика держать под полной нагрузкой? Это ж только для разработки все танцы с компиляцией чего попало под OS X.
Имелось ввиду большие по количеству файлов. Та же индексация ide и работа с контролем версий становится довольно напряжной.
А кто мешает держать исходники на хосте и шарить их в virtualbox по nfs?
В теории так и должно быть, nfs или ssh-fs но тогда остается лаг на синхронизацию клиента, при включенном кешировании, или опять таки тормоза без него ) Да и в целом это все превращается в большой огород из костылей, с соответствующей надежностью. Тогда уж действительно проще ставить параллельсы, на них линукс и там уже по человечески делать все.
тогда уж лучше прикупить плагин для vmware под vagrant и горя не знать :)
Хм, согласен, но надо еще и vmware купить. Интересно как оно на практике себя покажет.
Ну по умолчанию он через VirtualBox. Для vagrant-lxc нужны небольшие танцы с бубном ибо оно еще сыровато. Да и не нужно особо это учитывая что есть docker. Хранить исходники в виртуалке не вижу смысла. Гораздо проще в конфиге прописать прокидывание определенной директории с хоста в гостевую машину и проблем не знать. На скорости работы IDE не отразиться, а для запуска проектов на веб-сервере небольшое падение в производительности некритично.
А через MacPorts?

В MacAppStore есть пакет OS X Server. Раньше был только в составе серверных версий OS X, теперь идет пакетом. Правда платно…
Удобнейшая штука, скажу я вам — в несколько кликов можно создать проект, задать вирт. хосты. Через порты добавил memcache.
Но смущает apache — вот бы его заменить там на nginx…
Можете сделать это через brew, как описано в статье.
xcode-select --install
wget https://distfiles.macports.org/MacPorts/MacPorts-2.2.1-10.9-Mavericks.pkg
echo '<sudo password>' | sudo -S installer -store -pkg MacPorts-2.2.1-10.9-Mavericks.pkg -target / #http://www.macports.org/install.php
sudo port install nginx
sudo port install (php53-fpm | php54-fpm | php55-fpm) # через пробел php55-{libname}
sudo port install (percona-server|mysql55-server)
sudo port install memcached

Далее легкий тюнинг настроек и все заводится.

Что касается запуска — все просто:
cd /Library/LaunchDaemons
sudo launchctl load -w org.macports.memcached.plist
sudo launchctl load -w org.macports.nginx.plist
sudo launchctl load -w org.macports.percona-server.plist
sudo launchctl load -w org.macports.php54-fpm.plist


Как видно из названия мы запустили демонов (:
Кстати, рекомендую отличную плюшку от коллеги — упрощает (:
Остановить их так же просто как запустить:
sudo launchctl unload -w {file}
Озаглавить забыл. Это альтернатива через порты. MacPorts.
конфиги лежват в /opt/local и /opt/local/etc — в фолдерах сервисов. можно адаптировать конфиги CuamckuyKot.
На мой взгляд гораздо лучше поставить VirtualBox и воткнуть там какой-нибудь Debian со всем необходимым. И еще это все спокойно выключается, если не нужно.
Плюсую люто!
Я ставил себе (первый раз как мак увидел) полный пакет из портов. Потом забил и поставил виртуалку. Все стало гораздо гибче (если еще учесть что у меня по виртуалке на каждую версию пхп). сменил IP в /etc/hosts и go ahaed!
Sign up to leave a comment.

Articles