Пользователь
0,0
рейтинг
10 апреля 2014 в 13:45

Администрирование → Установка php5.5+php-fpm+mysql+nginx на Mac OS X Mavericks перевод tutorial

Каждый веб-разработчик, выбравший Mac, после первичной настройки системы ищет рабочий инструментарий. И если c IDE и редакторами всё понятно, то что-либо подобное по удобству win-довым OpenServer или Denwer за бесплатно найти трудно. Есть отличное решение MAMP PRO, но оно стоит две тысячи деревянных. Да и работа через Apache некоторых может смутить.

Занимаясь решением этого вопроса, набрёл на интереснейший материал, который рассказывает о том, как при помощи консольного пакет-менеджера Homebrew настроить рабочее пространство буквально за 5-10 минут. Публикую его перевод, потому что кому-нибудь подобная инструкция по настройке веб-окружения на Mac обязательно пригодится.



«Только что получил новый MacBook Pro и решил настроить его с чистого листа, потому что я использую тот же бэкап Time Machine примерно уже четверы года. Хороший шанс избавиться от стэка веб-сервера/LAMP (Linux Apache MySQL PHP) и заменить его Nginx и PHP-FPM как реализацию FastCGI. Ниже вы можете прочесть, как настроить Nginx, PHP-FPM, MySQL и PhpMyAdmin на OS X 10.9 / Mavericks.

Xcode



Прежде всего, установите последнюю версию Xcode через Mac App Store:
Скачать Xcode.app (через Mac App Store)

Как только закончится загрузка, откройте Xcode в папке /Applications и согласитесь с лицензией.

Откройте окно Терминала и установите Xcode через следующую команду:

xcode-select --install


Подтвердите установку при помощи кнопки Install.

Вернитесь обратно в Xcode, нажмите ⌘ + , для доступа к настройкам и перейдите на вкладку Locations. Установите Command Line Tools на последнюю доступную версию, Xcode 5.0.2 (5A3005) в моём примере:

Xcode.app → Preferences → Location | Command Line Tools

Homebrew



Теперь необходимо установить Homebrew, который является менеджером пакетов для OS X. Вы возможно уже слышали про apt-get или aptitude на дистрибутивах Linux для установки пакетов и зависимостей для конкретный приложений. brew работает также, только на компьютерах под управлением Mac OS X. Он также удостоверится, что вы получите последние обновления для установленных приложений, так что вам не нужно будет беспокоиться из-за просроченных версиях или брешах в системе безопасности, эксплойтах и так далее.

Прежде всего, нам понадобиться Xquarz:

curl http://xquartz-dl.macosforge.org/SL/XQuartz-2.7.5.dmg -o /tmp/XQuartz.dmg
open /tmp/XQuartz.dmg


Теперь нам необходимо загрузить и установить Homebrew при помощи следующей команды:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"


Поверим на любые конфликты и проблемы:
brew doctor


Обновим репозитории и приложения при помощи Homebrew:
brew update
brew upgrade


PHP-FPM



Потому как Homebrew не имеет репозитория по-умолчанию для PHP-FPM, нам необходимо его добавить:
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php


Установим PHP-FPM при помощи следующих аргументов:
brew install --without-apache --with-fpm --with-mysql php55


Homebrew загрузит исходный код PHP-FPM и скомпилирует его аз вас. Дайте ему немного времени, это может занять несколько минут.

Настройка PHP в командной строке



Если вы хотите использовать PHP в командной строке, вам необходимо обновить переменную окружения $PATH в файле ~/.bash_profile:
echo 'export PATH="$(brew --prefix josegonzalez/php/php55)/bin:$PATH"' >> ~/.bash_profile


Настройка автозапуска



mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/php55/5.5.9/homebrew-php.josegonzalez.php55.plist ~/Library/LaunchAgents/


И старт PHP-FPM:

launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php55.plist 


Удостоверьтесь, что PHP-FPM слушает порт 9000:

lsof -Pni4 | grep LISTEN | grep php


Вывод должен выглядеть примерно следующим образом:

php-fpm   69659  frdmn    6u  IPv4 0x8d8ebe505a1ae01      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm   69660  frdmn    0u  IPv4 0x8d8ebe505a1ae01      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm   69661  frdmn    0u  IPv4 0x8d8ebe505a1ae01      0t0  TCP 127.0.0.1:9000 (LISTEN)
php-fpm   69662  frdmn    0u  IPv4 0x8d8ebe505a1ae01      0t0  TCP 127.0.0.1:9000 (LISTEN)    


MySQL



Следующий шаг для установки MySQL:

brew install mysql


Настройка автозапуска



cp /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents


И запустите сервер баз данных:

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist


Обезопасьте установку



Для безопасности нашего MySQL-сервера мы вызовем идущий в компоекте бинарник secure_mysql_installation для смены root-пароля, удаления анонимного пользователя и отключения возможности дистанционного логина под root-ом:
mysql_secure_installation




> Enter current password for root (enter for none):


Пожалуйста, укажите текущий пароль, если он уже установлен.

> Change the root password? [Y/n]


Нажите enter, указав пароль для root-пользователя. По желанию сохраните его в менеджерах паролей LastPass или 1Password.

> Remove anonymous users? [Y/n]


Да, в них нет необходимости.

> Disallow root login remotely? [Y/n]


Да, нет необходимости в авторизации под root с любого другого IP кроме 127.0.0.1.

> Remove test database and access to it? [Y/n]


Да. Нам не нужны тестовые таблицы.

> Reload privilege tables now? [Y/n]


Перезагрузка таблицы привилегий даст нам возможность удостовериться, что изменения вступили в силу.

Проверка соединения



mysql -uroot -p


Введите указанный ранее root-пароль и увидите консоль MySQL:

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


Закончите сессию при помщи команды \q:

mysql> \q
Bye


phpMyAdmin



Установите autoconf который необходим для phpMyAdmin:

brew install autoconf


Установите переменную окружения $PHP_AUTOCONF:

echo 'PHP_AUTOCONF="'$(which autoconf)'"' >> ~/.bash_profile


Приступим к установке phpMyAdmin:

brew install phpmyadmin


Nginx



Установите Nginx при помощи команды:

brew install nginx


Настройка автозапуска



Так как мы используем 80 порт, необходимо запускать Nginx под пользователем root:
sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/
sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist


Протестриуйте веб-сервер



Запустите Nginx:

sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist


Конфигурация по-умолчанию слушает порт 8080 вместо стандартного для протокола HTTP порта 80. Пока проигнорируем это:
curl -IL http://localhost:8080


Ответ должен выглядеть следующим образом:

HTTP/1.1 403 Forbidden
Server: nginx/1.4.4
Date: Sun, 08 Dec 2013 03:33:41 GMT
Content-Type: text/html
Content-Length: 168
Connection: keep-alive


Снова остановим Nginx:

sudo launchctl unload /Library/LaunchDaemons/homebrew.mxcl.nginx.plist


Дальнейшая настройка



nginx.conf



Создайте папки, которые понадобятся нам при последующей конфигурации Nginx:

mkdir -p /usr/local/etc/nginx/logs
mkdir -p /usr/local/etc/nginx/sites-available
mkdir -p /usr/local/etc/nginx/sites-enabled
mkdir -p /usr/local/etc/nginx/conf.d
mkdir -p /usr/local/etc/nginx/ssl
sudo mkdir -p /var/www

sudo chown :staff /var/www
sudo chmod 775 /var/www


Удалите текущий файл nginx.conf (который всегда будет доступен по адресу /usr/local/etc/nginx/nginx.conf.default, если вы захотите взглянуть на его код) и загрузите созданные мною настройки при помощи curl с GitHub:
rm /usr/local/etc/nginx/nginx.conf
curl -L https://gist.github.com/frdmn/7853158/raw/nginx.conf -o /usr/local/etc/nginx/nginx.conf


Конфиуграционный файл прост и легковесен насколько это возможно: настройки worker, пути/форматы логов и несколько includes. Ничего лишнего в отличие от nginx.conf.default.

Загрузка PHP FPM



Скачайте мои настройки PHP-FPM с GitHub:
curl -L https://gist.github.com/frdmn/7853158/raw/php-fpm -o /usr/local/etc/nginx/conf.d/php-fpm


Создание виртуальных хостов



curl -L https://gist.github.com/frdmn/7853158/raw/sites-available_default -o /usr/local/etc/nginx/sites-available/default
curl -L https://gist.github.com/frdmn/7853158/raw/sites-available_default-ssl -o /usr/local/etc/nginx/sites-available/default-ssl
curl -L https://gist.github.com/frdmn/7853158/raw/sites-available_phpmyadmin -o /usr/local/etc/nginx/sites-available/phpmyadmin


Клонируйте тестовый виртуальный хост (включая рерайты для 404, 403 и phpinfo()) используя git:
git clone http://git.frd.mn/frdmn/nginx-virtual-host.git /var/www
rm -rf /var/www/.git


И удалите папку /var/www/.git, чтобы git не отслеживал последующие изменнения.

Настройка SSL



Создайте папку для наших сертификатов SSL и частных ключей:

mkdir -p /usr/local/etc/nginx/ssl


Сгенерируйте 4096bit RSA ключи и само-подписные сертификаты следюущей командой:

openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=US/ST=State/L=Town/O=Office/CN=phpmyadmin" -keyout /usr/local/etc/nginx/ssl/localhost.key -out /usr/local/etc/nginx/ssl/localhost.crt
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=US/ST=State/L=Town/O=Office/CN=localhost" -keyout /usr/local/etc/nginx/ssl/phpmyadmin.key -out /usr/local/etc/nginx/ssl/phpmyadmin.crt


Включение виртуальных хостов



Теперь нам нужно создать симлинки в папке sites-enabled для виртуальных хостов с целью включить их:
ln -sfv /usr/local/etc/nginx/sites-available/default /usr/local/etc/nginx/sites-enabled/default
ln -sfv /usr/local/etc/nginx/sites-available/default-ssl /usr/local/etc/nginx/sites-enabled/default-ssl
ln -sfv /usr/local/etc/nginx/sites-available/phpmyadmin /usr/local/etc/nginx/sites-enabled/phpmyadmin


Снова стартуем Nginx:

sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist


Последние тесты



Вот оно, всё должно работать. Щелкайте на ссылках ниже с целью удостовериться в этом:



Управление сервисами



В силу того, чтоы вам рано или поздно понадобиться перезапустить тот или иной вресив, вам возможно понадобятся дополнительные алиасы:
curl -L https://gist.github.com/frdmn/7853158/raw/bash_aliases -o /tmp/.bash_aliases
cat /tmp/.bash_aliases >> ~/.bash_aliases
echo "source ~/.bash_aliases" >> ~/.bash_profile


Вы можете или открыть новое окно/сессию Терминала или же вручную перезагрузить ~/.bash_profile при помощи команды:
source ~/.bash_profile


Теперь вы можете использовать алиасы вместо печатания длинных команд launchctl, как то было выше.

Nginx



Вы можете стартовать, остановить и перезапустить Nginx при помощи команд:

nginx.start
nginx.stop
nginx.restart


Быстрый доступ к логам:

nginx.logs.access
nginx.logs.default.access
nginx.logs.phpmyadmin.access
nginx.logs.default-ssl.access
nginx.logs.error
nginx.logs.phpmyadmin.error


Проверка конфига:

[sudo] nginx -t


PHP-FPM



Старт, стоп и перезагрузка PHP-FPM:

php-fpm.start
php-fpm.stop
php-fpm.restart


Проверка конфига:

[sudo] php-fpm -t


MySQL



Старт, стоп и рестарт MySQL-сервера:

mysql.start
mysql.stop
mysql.restart


Дайте мне знать, если застряли или у вас есть какие-либо дополнения!»




От себя добавлю, что также при создании локальных доменов и настройке Nginx для работы с ними не забывайте прописывать пару «IP domain.name» в файле hosts при помощи команды sudo vi /etc/hosts.

P.S. Коллега mrded сообщает о том, что написал скрипт для автоматической установки этого добра:
github.com/mrded/brew-emp
Перевод: frdmn
Беляев Дмитрий @CuamckuyKot
карма
139,7
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

Комментарии (75)

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

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

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

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

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

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

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

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

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

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

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

      Да и в PhpStorm работать приятнее — как будто бы удалённый сервер, все дела.
      • 0
        А в последних версиях (EAP) добавили поддержку удаленного интерпретатора, так теперь и локальный php не нужен в большинстве случаев.
  • 0
    а бесплатный мамп чем не угодил?
    • 0
      Он только с локалхостом и php через apache mod_php.
  • +3
    Предпочитаю для рабочего окружения на mac ничего не ставить, для этого есть vagrant.
    • +1
      Это здорово. Вижу официальный сайт впервые, к сожалению. Где вы были раньше?
      • +1
        Да я тут отходил не надолго :))))
    • 0
      а я вот наоборот бросать вагрант собрался
  • +3
    Все это конечно хорошо, но есть же Vagrant? С его помощью можно развернуть кучу различных окружений с различными версиями ПО и при этом не захламить свою основную систему. Мало того — можно обмениваться с коллегами боксами с преднастроенным окружением или конфигурациями для Chef и Puppet. Накладные расходы на виртуализацию с нынешними мощностями не так высоки чтобы отказывать себе в удовольствии поднимать на рабочем буке различные боксы идентичные по настройкам боевому серверу.
  • +2
    Тут много раз уже про вагрант говорили, и правильно делали. Не мучьте вы OS X-овское окружение. Завтра вам понадобится поставить какой-нибудь модуль под PHP, который под Mavericks не компилируется, потому что версии библиотек не те… В общем, геморроя на порядок больше, чем с vagrant. А уж учитывая, что вы совершенно спокойно можете для разных проектов в Vagrant использовать совершенно разные окружения и набор софта — выигрыш очевиден.
    • 0
      Понял. Буду его изучать.
      • +1
        Ну и вот его тогда заодно
        puphpet.com

        Хотя это уже дело вкуса;
        • +1
          А еще можно пошариться на virtualbox.es и сливать оттуда готовые боксы с различным окружением.
    • 0
      Так он же через virtualbox? Это в линуксе он через lxc. Будет же оверхед при доступе к фс гостя. Но на маленьких проектах это конечно не критично.
      • 0
        А большие (да и маленькие) проекты зачем вообще на машине разработчика держать под полной нагрузкой? Это ж только для разработки все танцы с компиляцией чего попало под OS X.
        • 0
          Имелось ввиду большие по количеству файлов. Та же индексация ide и работа с контролем версий становится довольно напряжной.
      • 0
        А кто мешает держать исходники на хосте и шарить их в virtualbox по nfs?
        • 0
          В теории так и должно быть, nfs или ssh-fs но тогда остается лаг на синхронизацию клиента, при включенном кешировании, или опять таки тормоза без него ) Да и в целом это все превращается в большой огород из костылей, с соответствующей надежностью. Тогда уж действительно проще ставить параллельсы, на них линукс и там уже по человечески делать все.
          • +1
            тогда уж лучше прикупить плагин для vmware под vagrant и горя не знать :)
            • 0
              Хм, согласен, но надо еще и vmware купить. Интересно как оно на практике себя покажет.
          • 0
            Лучше сделать наоборот, исходники держать в virtualbox и шарить их в основную систему.
            Тут обсуждалось: habrahabr.ru/post/211887/#comment_7292017

      • 0
        Ну по умолчанию он через VirtualBox. Для vagrant-lxc нужны небольшие танцы с бубном ибо оно еще сыровато. Да и не нужно особо это учитывая что есть docker. Хранить исходники в виртуалке не вижу смысла. Гораздо проще в конфиге прописать прокидывание определенной директории с хоста в гостевую машину и проблем не знать. На скорости работы IDE не отразиться, а для запуска проектов на веб-сервере небольшое падение в производительности некритично.
  • 0
    Усли кому-то интересно, я сделал скриптик, который все это сделает за вас: github.com/mrded/brew-emp
  • 0
    Если кому нибудь это интересно, выложил на гитхаб свой вариант сетапа github.com/angrycoding/denwerx
  • 0
    А через MacPorts?

    В MacAppStore есть пакет OS X Server. Раньше был только в составе серверных версий OS X, теперь идет пакетом. Правда платно…
    Удобнейшая штука, скажу я вам — в несколько кликов можно создать проект, задать вирт. хосты. Через порты добавил memcache.
    Но смущает apache — вот бы его заменить там на nginx…
    • 0
      Можете сделать это через brew, как описано в статье.
  • 0
    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}
    • 0
      Озаглавить забыл. Это альтернатива через порты. MacPorts.
      конфиги лежват в /opt/local и /opt/local/etc — в фолдерах сервисов. можно адаптировать конфиги CuamckuyKot.
  • +1
    На мой взгляд гораздо лучше поставить VirtualBox и воткнуть там какой-нибудь Debian со всем необходимым. И еще это все спокойно выключается, если не нужно.
    • 0
      Плюсую люто!
      Я ставил себе (первый раз как мак увидел) полный пакет из портов. Потом забил и поставил виртуалку. Все стало гораздо гибче (если еще учесть что у меня по виртуалке на каждую версию пхп). сменил IP в /etc/hosts и go ahaed!

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.