Установка Apache, PHP, MySQL в macOS
Рассмотрим, как установить веб-сервер Apache, PHP и MySQL в macOS.
Все действия в данной статье будут выполняться в macOS Sierra.
Установка Apache
Хорошая новость — веб-сервер Apache уже установлен в вашей системе. Его нужно только запустить. Для этого откройте терминал и выполните в терминале команду:
Данной командной мы выполняем утилиту apachectl с правами суперпользователя (так как перед командной мы вводим sudo) и передаем утилите опцию start. Обратите внимание, что после того, как вы нажмете Enter, необходимо будет ввести пароль, который вы используете для входа в систему. При вводе пароля на экране не будет никакой индикации или символов, которые вы вводите. Просто введите пароль и нажмите Enter.
Команда должна выполниться без ошибок. Теперь можно проверить, что Apache запущен и работает. Для этого откройте браузер и перейдите на страницу: http://localhost . Откроется страница с надписью «It works!».
Файлы localhost’а лежат в директории /Library/WebServer/Documents .
Установка PHP
И снова хорошая новость — PHP уже установлен. Нужно только включить его поддержку веб-сервером.
Для этого необходимо отредактировать файл конфигурации Apache: /etc/apache2/httpd.conf
Для редактирования мы воспользуемся консольным редактором nano . Он простой, но для новичка может оказаться непривычным.
Откроем файл конфигурации:
В файле необходимо раскомментировать строку, которая отвечает за загрузку модуля php5_module:
LoadModule php5_module libexec/apache2/libphp5.so
Найдите эту строку в файле и удалите перед строкой символ # .
Теперь закройте и сохраните файл. Для этого нажмите Ctrl + X , отобразится предупреждение » Save modified buffer «, нажмите Y , а затем Enter .
Так как конфигурация сервера изменилась, необходимо перезапустить сервер, чтобы новые параметры вступили в силу. Для перезапуска Apache выполните в терминале команду:
Установка MySQL
Для установки MySQL необходимо скачать с сайта mysql.com пакет с инсталлятором.
Перейдите на страницу http://dev.mysql.com/downloads/mysql/ и скачайте DMG-файл вида mysql-5.7.16-osx10.11-x86_64.dmg. После того, как вы нажмете на ссылку Download, откроется страница с предложением войти или зарегистрироваться на сайте. Регистрироваться не нужно, внизу страницы есть ссылка «No thanks, just start my download.«, нажмите на нее.
Дважды щёлкните по только что загруженном DMG-файлу. Откроется новое окно, в котором дважды щелкните по файлу mysql-5.7.16-osx10.11-x86_64.pkg. Запустится инсталлятор MySQL. Читайте сообщения инсталлятора и нажимайте кнопку Продолжить .
В конце установки отобразится окошко, в котором будет написан временный пароль root’а для доступа к MySQL. Запишите его.
Дополнительные действия после установки MySQL
Теперь нужно выполнить еще одно важное действие. Дело в том, что в MySQL есть небольшая ошибка, которая уходит в корнями в 2012 год, но исправить ее очень просто. Выполните в терминале последовательно следующие команды:
Теперь снова перезапустите Apache:
Меняем пароль root’а в MySQL
Выше, во время установки MySQL, мы получили временный пароль root пользователя. Однако, его необходимо поменять. Обращаю ваше внимание на то, что речь идеть про пароль пользователя root для MySQL сервера и этот пароль ни как не связан с паролем, который вы используете для входа в систему или при выполнении команд через sudo.
Чтобы задать новый пароль для root пользователя в MySQL необходимо выполнить в терминале ряд команд.
- Остановим MySQL сервер, если вдруг он запущен:
- Запустим сервер в режиме safe mode:
- Запустим консольную утилиту mysql (MySQL Command-Line Tool). Откройте новое окно терминала и выполните:
- Введите команду:
- Затем установим новый пароль (вместо NewPassword введите свой пароль):
- Выйдем из утилиты mysql. Введите команду:
Запуск MySQL сервера из терминала
Запустить MySQL сервер можно из терминала или из Системных настроек.
Для запуска MySQL сервера через терминал выполните команду:
Чтобы остановить сервер выполните:
Запуск MySQL сервера из Системных настроек
В Системных настройках добавился новый пункт MySQL. Можно запускать MySQL сервер оттуда. Там же есть опция для автоматического запуска MySQL сервера при старте системы.
Проверка работоспособности
Как написано выше, файлы сайта localhost находятся в директории /Library/WebServer/Documents. Мы можем для проверки создать PHP файл, в котором выполним функцию phpinfo(). Для этого можно воспользоваться терминалом. Создадим файл /Library/WebServer/Documents/testfile.php и добавим в него вызов функции phpinfo():
Теперь можно открыть файл в браузере, перейдя по адресу: http://localhost/testfile.php
Чтобы проверить, что MySQL сервер работает, и мы можем выполнять действия с базами данных, можно воспользоваться утилитой mysql. Выполните в терминале:
Введите пароль пользователя root и нажмите Enter. Вы попадете в shell для управления MySQL. Введите команду:
Отобразится список текущих баз данных. Завершите работу введя:
Заключение
Итак, мы установили Apache, PHP и MySQL в macOS. Следующим шагом будет установка phpMyAdmin и настройка виртуальных хостов (сайтов).
Установка комплекса Mac OS X, Apache, PHP, MySQL (MAMP)
Содержание
Пространные речи по поводу установки MAMP
Предисловие
Эта местность мне знакома, как окраина Китая… © Иосиф Бродский
К моему вящему удивлению, большая часть рекомендаций по установки AMP (Apache , MySQL, PHP) сводится к «накатыванию» скрипта ./configure с хорошо знакомым набором опций. Спрашивается: а зачем тогда было создавать грандиозные Macports (хотя и очень напоминающую систему port‘ов от FreeBSD.) Ну да оно и понятно — FreeBSD c Mac OS X— братья навек! Как русский с китайцем.
По-моему мнению, становка из дистрибутива — процесс хлопотный, а главное, при малейших изменениях системы, требующий постоянного вмешательства со-стороны администратора: пересборки, реконфигурировани и т.д. Опять-таки, проблемы с обновлением до более новых версий. Поэтому попробовал установить WEB-набор «традиционным» способом.
1. Установка XCode и Macports
Начнём… и, ведь уже наверняка потопились! Прежде всего, надо проверить, установлен ли пакет XCode. Причём, версии он должен быть наисвежайшей, иначе, при установке MacPorts сразу же начнутся плохо объяснимые проблемы. Т.е., скорее всего, пакет XCode, поставляемый, скажем, с Mac OS X скорее всего не подойдёт. Так, что почтеннейшие граждане Публика, приготовьтесь раскошелиться на трафик — XCode 3.0 .«весит» порядка 1.1 Мб.
Заходим на Apple Developer (поскольку пакет бесплатный, засунули его достаточно далеко, так что найти эту страничку не так-то уж и просто) и после несложной добровольно-принудительной регистрации, скачиваем искомое. Устанавливаем пакет. Теперь у нас есть полноценный GCC порядка v 4.01, make и т.д. (не говоря уж о том, что самая среда разработки XCode не так уж и плоха, но это уже о другом…)
Теперь можно поставить Macports: заходим на страницу установки, скачиваем дистрибутив и, следуя инструкциям, устанавливаем пакет из dmg-инсталлятора или традиционным способом из tar.bz2-архива:
- $ tar xjvf MacPorts-1.5.0.tar.bz2
- $ ./configure —help | less
- …
- $ ./configure && make && sudo make install
- $ cd ../
- $ rm -rf MacPorts-1.5.0*
- $ cd MacPorts-1.5.0
- $ sudo port selfupdate
Последним действием мы «накатываем» порты до последней версии.
2. Установка MySQL
Теперь можно приступить к самому процессу установки AMP-комплекса. Начнём с «самого простого», MySQL:
- $ sudo port variants mysql5
- $ sudo port install mysql5 +server
Здесь две существенных детали: во-первых, mysql5. Здесь можно указать также mysql3 и mysql4 (mysql6 в портах не представлена). «Вариантов» негусто. В наличии обретается +server. Это та опция, которая после сборки пакета, создаст в /Library/LaunchDaemons/ XML-скрипт org.macports.mysql4.plist , служащий для автозапуска сервера при старте Операционной Системы. Ну или org.macports.mysql5.plist , или org.macports.mysql3.plist .
Вобщем, с умилением наблюдаем благостную картинку:
Если по-какой-то причине установка была прервана до того, как все процессы завершились, начинаем всё сначала (на колу висело мочало):
- $ sudo port clean mysql5
- $ sudo port instll mysql5 +server
Если же всё завершилось радостно и благополучно, отправляемся путешествовать дальше. Во-первых, надо сразу привести в нормальный вид рабочую директорию MySQL:
- $ chown -R mysql:mysql /opt/local/var/db
(Если такой директории не существует, создаём её, равно, как и /opt/local/var/db/mysql5 )
- $ mkdir /opt/local/var/db
- $ mkdir /opt/local/var/db/mysql5
- $ chown -R mysql:mysql /opt/local/var/db
Теперь можно произвести предварительную установку баз данных:
Если всё сделано правильно, наблюдаем следующее:
Если же нет, то внимательно просматриваем, права на директории и файллы (в частности, Innodb) в /opt/local/var/db и пытаемся повторить установку БД.
Настоятельно рекомендую обратить внимание на то, что вместо привычной команды mysql_install_db используется mysql_install_db . Эта назойливая пятёрка проявится теперь во-всех привычных командах: mysql5 , mysqladmin5 , mysqldump и т.д.
На самом деле, это лишь ссылки на обычные файлы, находящиеся в /opt/local/lib/mysql5/bin/ (понятно, что если Вы, почтеннешие граждане Публика, ставили mysql4, то все файлы будут заканчиваться на не менее назойливую четвёрку)
Дело почти сделано. Осталось проверить работоспособность нашего сервера:
Понеже, всё в порядке, прописываем mysqld в автозапуск:
- sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
Т.е., залогиниваемся под launchclt (в GentOO аналогом будет daemon ) и даём работу демону автозапуска Mac OS X daemondo . Причём, он должен сразу «поднять» искомый сервис:
Осталось переписать root‘овый пароль. Потом, при желании можно установить, скажем phpMyAdmin для дальнейшего управления БД. (к своему огорчению, не смог скачать дистрибутив с «родного» сайта, пришлось его взять здесь)
Если по команде mysql -u root -h localhost -p мы получаем вменяемую mysql-консоль, переходим к установке apache
3. Установка Apache
Кто как, а я предпочитаю всем 1.3.xx и 2.0.xxapache — 2.2.x. Но это совершенно субъективно, просто «истерически слежалось», как говорят. Итак, если Вы, почтеннейшая граждане Публика просто наберёте команду sudo port install apache , то будет устанавливаться 1.3.37 (на момент написания статьи.) Мне надо либо apache2 — v2.2.xx, либо apache20 — v2.0.xx. Не забываем про опцию +server , без которой не будет автозапуска и многого другого. Итак:
- $ sudo port variants apache2
- $ sudo port install apache2
./configure —help , пытаясь угадать соответствие опций.
Собственно говоря, опять-таки негусто. Это при наличии огромного количества опий, предоставляемых ./configure —help . В конечном счёте, можно запутать себя, используя опцию MacPorts Portfile Development, используя, к примеру, файл /opt/local/etc/macports/variants.conf но по счастью в этом пока нет необходимости.
Важно помнить про то, что конфигурационный файл обитает в /opt/local/apache2/conf/httpd.conf.simple . Если у Вас даже есть файл /etc/httpd/httpd.conf , сделайте вид, что Вы его не заметили: к нашей установке он отношения не имеет (не он, не он, — вскричала Машенька ©) Наш конфигурационный файл должен обитать в /opt/local/apache2/conf/httpd.conf . Если началась странная чехарда с модулями при попытке запуска, прежде всего, проверьте, тот ли конфигурационный файл используется Вашим http-сервером.
Итак, редактируем httpd.conf.simple , и переименовываем его в httpd.conf . Можем себя проверить, запустив демона вручную: /opt/local/apache2/bin/httpd & . Если что-то не так, проверяем себя при помощи /opt/local/bin/apache2/bin/apachectl configtest :
- $ sudo /opt/local/apache2/bin/apachectl start
Понеже «фортуна бежала скрозь нас» и всё установилось благополучно, «прикручиваем» автозагрузку httpd :
- sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
4. Установка PHP
Последним номером программы, почтеннейшие граждане Публика, будет установка PHP. Точно также, как и в предыдущих случаях, нас будет интересовать не просто «PHP», а какая-то конкретная ветвь: 3, 4, 5. Меня интересует PHP5. Тогда команда установки будет выглядеть так:
- sudo port variants php5
- sudo port install php5 +apache2 +mysql5 +mysqli +pdo-mysql +apxs +imap +jpeg +png +gif +postgresql +pecl +pear
- или в «многословном» (verbose) режиме (с ключом -d и копированием потока вывода при помощи утилиты tee в файл
/php-install.log ):
(странное дело: imap, jgp, png в списке отсутствуют, однако, вполне удачно собрались…) Если всё пройдёт удачно, увидим что-то следующее:
На выходе получаем что-то вроде такой конфигурационной строки (можно запустить установщик в «многословном» режиме — -d (что потребует значительно нарастить в настройках буфер консоли — режим уж очень многословен) или же можно копировать поток вывода в файл при помощи утилиты tee :
а можно посмотреть вывод ф-ии phpinfo() ):
для сравнения можно посмотреть на полный список конфигурационных настроек — результат работы ./config —help :
Из вида командной строки становится понятно, что php должен будет взаимодействовать с apache2, PostgreSQL-8.2.xx (сдесь я сжульничал и не стал рассказывать, как это сделал; впрочем, процесс этот мало отличается от всех предыдущих и описание его здесь пропустил, считая это избыточным). Для взаимодействия с SQL-серверами используются «нативные» драйвера, PDO и iMySQL.
Также, добавлена библиотека imap-uw. Что характерно, отдельно эту библиотеку устанавливать не надо — установщик ,PHP сам подхватит совместимую с ним версию и установит её в режиме использования PHP-only. Что есть правильно: версий этой библиотеки удручаеще много. Причём разное ПО использует разные версии этой библиотеки.
Кстати, наитипичнейшей ошибкой будет пересобрать PHP, но при этом не перезапустить httpd!
5. Конфигурирование Apache и PHP
Теперь надо поправить конфигурационный файл apache, чтобы php-файлы могли интерпретироваться:
- $ cd /opt/local/apache2/modules
- $ sudo /opt/local/apache2/bin/apxs -a -e -n «php5» libphp5.so
- [activating module ‘php5’ in /opt/local/apache2/conf/httpd.conf]
- $ sudo vim /opt/local/apache2/conf/httpd.conf
Понятно, что вместо vim можно поставить pico , emacs или любой другой редактор, который Вам больше нравится. Теперь произведём несколько небольших изменений в конфигурационном файле:
также, неплохо будет включить работу с домашними папками (в просторечии — хомяками):
Нелишним будет учесть, что по-умолчанию, httpd по умолчанию «смотрит» на /opt/local/apache2/htdocs . Если Вам это не нравится, отредактируйте опцию DocumentRoot.
Теперь скопируем файл php.ini в соответствующую папку:
- $ cp /opt/local/etc/php.ini-dist /opt/local/etc/php.ini
Вроде бы, всё должно заработать. Осталось сделать файл info.php :
и выложить его либо в /opt/local/apache2/htdocs , либо в /Users/ /Sites/ . Тогда браузер по адресу http://localhost или http://localhost/
username/ должен будет продемонстрировать радующую сердце и душу картинку:
6. Ссылки
- Mac OS X Pages
- PHP Apache Module
- MySQL Database Server
- PostgreSQL Database Server
- Mac OS X Unix Tutorial
- Install Apache 2 and PHP 5 with MacPorts
- Discover and Manage Networks with NeDi
- PHP on MAC OS X
- MacPorts Guide
С уважениемъ, Вашъ Плотнегъ
Related posts
Работаем с PDF-файлами в Movavi PDF-Редактор
HUAWEI представила новый интерфейс EMUI 10
Movavi выпустила новую версию Конвертера Видео
2 Thoughts to “Установка комплекса Mac OS X, Apache, PHP, MySQL (MAMP)”
Здравствуйте, ввел в терминал строку sudo port variants mysql5, предлагается только один вариант:
mysql5 has the variants:
universal
Нужно скачать что-то с сайта mysql или нужна другая команда в терминале?
Да забейте на консольку. Статья писалась черт знает когда. Сегодня можно тупо скачать MAMP c сайта разработчика и он нормально настраивается из под GUI Mac OS X.