Локальный сервер mac os. Как установить локальный серер MAMP на Mac OS X? Подготовка к установке WordPress на Mac

Как уже писал в прошлом посте, что решил в новогодние каникулы погонять свой мак максимально возможно и поставить все что было у меня на винде и вот встал вопрос об установке Веб сервера под Мак и данная статья будет пошаговой инструкцией как запустить встроенный веб сервер Apache с подключением PHP и MySQL.

т.к. я буду 100% натыкаться на какие нибудь «вилы» то эта статья будет постоянно дополняться + буду ждать комментарии от Вас

Давайте для удобства разобьем эту статью на подпункты:

фото 1. Включение в Mac OS веб сервера Apache

Приведенный материал является универсальным и будет полезен пользователям любых операционных систем.

Включить веб-сервер можно в настройках: Системные настройки > Общий доступ > включить службу Общий веб-доступ .

Если набрать в адресной строке браузера http://localhost/ , то сервер вернет страницу с текстом «It works!».

Либо можно запустить Apache через командную строку Терминала набрав след команду:

sudo apachectl start

Конфигурация Apache

Фото 2. Конфигурация Apache в MAC OS

Для конфигурации Apache необходимо открыть файл /etc/apache2/httpd.conf:

sudo nano /etc/apache2/httpd.conf

Раскомментируем ServerName и приведем ее к такому виду:
ServerName localhost
Далее подключаем PHP (необходимо раскомментировать строку):

LoadModule php5_module libexec/httpd/libphp5.so

DocumentRoot "/Library/WebServer/Documents"

DocumentRoot "/Users/имя_пользователя/Sites"

Аналогично заменим прежний путь в строке 195:

DirectoryIndex index.php index.html

В строке 469, чтобы подключить файл в котором будем записывать виртуальные хосты:

Include /private/etc/apache2/extra/httpd-vhosts.conf

Сохраняем все изменения в файле httpd.conf и перезапускаем Apache.

sudo apachectl restart

После этого переходим в браузере по адресу http://localhost/ , загрузится стартовая страница из папки сайты с приветствием «Ваш веб-сайт».

Теперь проверим работоспособность PHP, для этого создадим в нашем каталоге Sites тестовый PHP-скрипт:

touch ~/Sites/index.php
sudo nano ~/Sites/index.php

и напишем сценарий, который покажет конфигурацию PHP:


phpinfo();
?>

Сохраняем файл index.php и вновь переходим по адресу http://localhost/ , должна открыться страница с информацией о версии PHP. Если по прежнему загружается страница приветствия, необходимо проверить настройки Apache (строка 230).

(дополнение от 4.01.2016)

Обязательно нужно еще проделать операцию с конфигурационным файлом php.ini он находится в папке /etc/php.ini.defaults , его необходимо переименовать в php.ini:

sudo cp /etc/php.ini.default /etc/php.ini

Конфигурация виртуальных хостов


Фото 3. Конфигурация виртуальных хостов в Apache на mac os

Все проекты будут размещаться в каталоге пользователя Сайты (/Users/имя_пользователя/Sites/). Создадим в этом каталоге новую папку с названием test , а в ней файл index.php с тестовым скриптом. Локальный сайт будет открываться по адресу http://test/ . Переходим к командной строке и вводим следующие команды:
mkdir ~/Sites/test
cd ~/Sites/test
touch index.php
nano index.php

и добавим сценарий:


phpinfo();
?>

Теперь займемся конфигурацией виртуальных хостов. Для начала откроем файл /etc/hosts и добавим в исключения адрес локального сайта (http://test/). Переходим к командной строке:

sudo nano /etc/hosts

и добавляем строчку:

127.0.0.1 test

Добавим записи с конфигурацией нового виртуального хоста:

sudo nano /private/etc/apache2/extra/httpd-vhosts.conf

И в конец файла добавляем записи:

ServerAdmin webmaster@test DocumentRoot ServerName test AllowOverride All Order allow,deny Allow from all

< strong > < code > & lt ; VirtualHost * : 80 & gt ;

ServerAdmin webmaster @ test

DocumentRoot "/Users/имя_пользователя/Sites/test"

ServerName test

& lt ; Directory "/Users/имя_пользователя/Sites/test" & gt ;

AllowOverride All

Order allow , deny

Allow from all

& lt ; / Directory & gt ;

& lt ; / VirtualHost & gt ; < / code > < / strong >

Сохраняем изменения и перезапускаем Apache

То рано или поздно у вас возникнет желание или необходимость заняться разработкой под WordPress. Но редактировать код напрямую на вашем рабочем сервере — не очень хорошая идея, потому что если что-то пойдёт не так, то это сразу увидят все посетители вашего сайта. Чтобы избежать таких неприятностей и иметь возможность протестировать изменения или новые плагины, перед тем как применить их к продакшен сайту, необходима локальная среда разработки. Далее я расскажу, как локально установить WordPress на компьютер под управлением Mac OS X.

Поскольку, как и многие другие веб-приложения, WordPress для своей работы требует установленных, запущенных и корректно настроенных веб-сервера Apache , базы данных MySQL и интерпретатора кода PHP , то они же понадобятся и чтобы запустить WordPress на вашей локальной машине (имеется в виду на вашем компьютере, а не на удалённом сервере), которая станет выполнять функцию локального сервера, а также среды разработки.

Вы, конечно же, можете настроить их вручную, но если вы, как и я, предпочитаете экономить время, чтобы тратить его на более интересные и продуктивные вещи или просто не очень разбираетесь во всех этих серверных технологиях, то, к нашему счастью, добрые люди собрали Apache, MySQL и PHP в один пакет, который ставится так же легко, как и любое другое приложение, имеет простейшие настройки, но при этом даёт всё, что требуется для локальной разработки сайтов.

Далее, запустив установщик MAMP_2.1.4.pkg , на шаге Installation Type , если вы точно уверены, что не будете пользоваться Pro версией, можно нажать на кнопку Customize , которая откроет окно, где можно снять чекбокс и таким образом не ставить Pro версию.

По умолчанию же она устанавливается вместе с бесплатной версией.

Завершив установку, самое время запустить MAMP, и первое, что мы увидим — это вот такое окно.

Изменяем номера портов

Но прежде чем жать Start Servers , я бы посоветовал зайти в настройки Preferences… и поменять номера портов сервера Apache и MySQL с тех, что выставлены по умолчанию: 8888 и 8889, соответственно, на стандартные 80 и 3306, что избавит нас от необходимости к адресу сайта каждый раз дописывать 8888 и упростит настройку доступа к базам MySQL. Это можно сделать, просто нажав на кнопку Set to default Apache and MySQL ports .

Запускаем Apache и MySQL сервера

Теперь всё готово для того, чтобы запустить ваш локальный сервер, нажав на кнопку Start Servers . Если не возникло никаких проблем, а обычно так и бывает, вы увидите, что красные лампочки напротив Apache Server и MySQL Server стали зелёными.

У вас или автоматически откроется в браузере стартовая страница MAMP или вы сами сможете её открыть кнопкой с неожиданным названием Open start page .

На этой странице можно найти всю необходимую информацию о конфигурации вашего сервера, а также получить доступ к инструменту администрирования баз данных MySQL phpMyAdmin , который нам вскоре понадобится.

Создаём базу данных

Теперь для установки WordPress нам осталось создать базу данных, для чего:

  1. откроем phpMyAdmin со стартовой страницы MAMP.
  2. В phpMyAdmin надо выбрать вкладку Databases ,
  3. в поле Create database ввести название базы данных, я их обычно называю по названию сайта, например site_dev ,
  4. и, наконец, нажать кнопку Create .


База данных готова, можно приступать непосредственно к WordPress’у.

Локальная установка WordPress

Скачиваем и распаковываем WordPress

  1. Чтобы установить WordPress, его надо скачать, например, здесь: последняя версия WordPress .
  2. Распаковать, переименовать папку из wordpress в название вашего сайта, например, site.dev .
  3. И поместить её в корень вашего веб-сервера, у MAMP по умолчанию это папка располагается по пути /Applications/MAMP/htdocs .


Далее необходимо повторить шаги стандартной установки WordPress . То есть, переименовать файл wp-config-sample.php в wp-config.php , открыть его в текстовом редакторе и указать имя базы данных, имя пользователя MySQL и пароль:

/** Имя базы данных для WordPress */ define("DB_NAME", "site_dev"); /** Имя пользователя MySQL */ define("DB_USER", "root"); /** Пароль к базе данных MySQL */ define("DB_PASSWORD", "root"); /** Имя сервера MySQL */ define("DB_HOST", "localhost");

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

Не знаю почему, возможно, криво копируется из браузера или люди редактируют конфиг в rich text редактооре, но судя по комментариям, часто апострофы превращаются в фигурные кавычки и PHP, который парсит конфиг, конечно же, не понимает такой формат, что приводит к тому, что WordPress не видит базу данных.

  • Не редактируете конфиги и код вообще в RTF текстовых редакторах (WordPad или TextEdit в RTF режиме) и текстовых процессорах (MS Word, Apple Pages).
  • Всегда при разработке в PHP включайте логирование и вывод на экран всех ошибок и нотификаций. Это сэкономит вам много времени и нервов.

После чего в браузере открыть адрес http://localhost/site.dev/ и завершить установку вводом необходимых данных и кликом по кнопке Установить WordPress .

Таким образом вы можете установить сколько угодно сайтов на своём локальном сервере, каждый в своей отдельной папке, и превратить свой Mac в полноценную среду для веб-разработки.

Сегодня мы поговорим о локальном веб-сервере, доступном как для Windows, так и для OS X. При этом его ключевая особенность - наличие простого и понятного интерфейса. Чтобы запустить сервер, не нужно быть бородатым администратором. Достаточно лишь вдумчиво прочитать инструкцию, и вы легко оживите локальную версию сайта.

Итак, встречайте MAMP и MAMP PRO. Первый - бесплатный, но с урезанными возможностями, которых всё равно хватит для большинства ваших потребностей. Второй - платный, он обойдётся в 4 000 рублей. Если после прочтения решитесь загрузить MAMP или купить MAMP PRO, добро пожаловать на сайт разработчика .

Сначала давайте поговорим о бесплатной версии MAMP, потому что именно с неё проще всего начать знакомство с локальным веб-сервером. Сразу после установки вы получите работоспособный веб-сервер с Apache, MySQL и PHP.

mamp.info

После запуска MAMP вы увидите простое меню из наиболее востребованных опций. Можно запустить или остановить веб-сервер, перейти на главную страницу веб-интерфейса или изменить какие-либо настройки. Настроить можно порты для Apache и MySQL, выбрать версию PHP и указать корневую папку вашего проекта. В целом даже с настройками по умолчанию можно начинать работать.


mamp.info

Возможностей по настройке MAMP PRO несравненно больше. Более того, MAMP PRO является надстройкой бесплатного MAMP, поэтому может быть установлен в любой момент без вреда для вашего текущего проекта. Если почувствовали, что бесплатная версия не даёт вам развернуться, то переезд не доставит хлопот.

Теперь быстро пройдёмся по отличиям MAMP PRO.

Разработчики делают ставку на дополнительную и рекомендуют запускать веб-сервер в MAMP PRO под записью www/mysql. Это особенно актуально в том случае, если компьютер постоянно подключён к интернету. Также полная версия позволяет включать или отключать отдельные модули Apache.


mamp.info

Дополнительные параметры MySQL также направлены на безопасность. Можно задать или изменить основной пароль MySQL, а также ограничить доступ к вашей базе извне. Также и для Apache, и для MySQL доступны логи ошибок, что может быть полезно. Примечательно, что в MAMP PRO полностью русифицирован интерфейс phpMyAdmin, а вот бесплатная версия этим похвастаться не может.

Есть у полной версии веб-сервера и поддержка Dynamic DNS. Можно сопоставить имя сайта и ваш текущий IP-адрес. Кроме того, имеется поддержка провайдеров dyndns.com и easydns.com. Достаточно иметь учётную запись у одного из них, чтобы воспользоваться поддержкой Dynamic DNS.


mamp.info

MAMP PRO позволит настроить отправку писем с вашего локального веб-сервера, если возникнет такая необходимость.

Платная версия отличается также возможностью создавать неограниченное количество хостов, прилагая минимум усилий. Иными словами, вы можете одновременно запустить несколько сайтов. Бесплатный MAMP ограничен всего одним.


mamp.info

MAMP и MAMP PRO - это наиболее дружелюбные решения в сфере локальных веб-серверов. Понятный интерфейс и подробная документация позволят быстро разобраться во всех тонкостях. Необходимость в дорогостоящей платной версии может возникнуть, если ваша работа над сайтом или несколькими ресурсами выходит за рамки простого любопытства. Это серьёзный инструмент для веб-разработчиков.

Перед началом изменений системных файлов рекомендую настроить и использовать Time Machine

Версия Mac OS X 10.9 обновляет версию сервера Apache до 2.2.4 и версию php до версии 5.4.17.
После обновления до версии 10.9 Maveric необходимо восстановить изменения в файле /etc/apache2/httpd.conf как указано в данной статье. Данных изменений достаточно, чтобы восстановить работу сервера.
Также необходимо восстановить настройки php.ini и восстановить работу прекомпиляторов /акселераторов php

Для запуска web сервера и сайта можно использовать пакет MAMP, но это совсем не обязательно.

Можно запустить встроенный сервер Apache с помощью терминала и настроек операционной системы. В версии Mac OS X Lion 10.7 это делалось включением в системных настройках/общий доступ, но в версии 10.8 произошли изменения, которые требуют использования терминала.

Итак, приступим:

Запускаем программу терминал (terminal) находящуюся по адресу:

/Applications/Utilities/Terminal если включен русский язык то /Applications/Utilities/Терминал

Самый простой путь, запустить Finder, нажать клавиши CMD+Shift+G и вставить данный адрес. Если все правильно запустится Терминал

набираем (копируем) команду

Sudo apachectl start

Для выполнения данной команды может потребоваться пароль суперпользователя (тот же самый который требуется для установки программ). Его нужно ввести.

Эта команда запускает сервер apache на Mac OS X.

Следующая команда не является обязательной, но она показывает текущую версию сервера

Httpd -v

Теперь проверим работоспособность сервера:

В браузере введем адрес http://localhost

В окне браузера появится

It works !

Сервер Apache корректно запустился, но сейчас сайты на компьютере находятся в корневой папке сервера apache, по адресу

/Library/WebServer/Documents/

и основным файлом является index.html.en

что не совсем удобно для дальнейшего использования. Для удобства применения сервера желательно откорректировать файл httpd.conf.

Для редактирования переходим в каталог:

/etc/apache2/

я предпочитаю это сделать через Finder с помощью нажатия клавиш CMD+Shift+G. Там будет файл: httpd.conf

Первое что необходимо сделать это его архивную копию, чтобы в случае неправильных действий его восстановить.

Теперь его необходимо отредактировать, не всегда OS X позволяет отредактировать его в стандартном текстовом редакторе, но всегда можно сделать и отредактировать его копию и потом заменить файл. Можно спокойно редактировать в терминале с помощью встроенного редактора nano (работа в редакторе nano), но работать с ним не очень удобно.

cd /etc/apache2/

Перейти в нужную папку

sudo nano httpd.conf

Запустить редактор

Здесь требуется исправить следующие строки:

Найти строку:

#LoadModule php5_module libexec/apache2/libphp5.so

и удалить с нее комментарий, данная строка включает PHP на сервере apache

LoadModule php5_module libexec/apache2/libphp5.so

DocumentRoot "/Library/WebServer/Documents"

и меняем её на

DocumentRoot "/Users/ИмяПользователя /sites"

где "ИмяПользователя" это имя пользователя в системе, так мы поменяли главную папку документов на сервере apache. Аналогично необходимо изменить данные еще в одной строке:

ИмяПользователя /sites">

Все! сохраняем сайт. Если делали в копии, то меняем "родной" файл.

Не забудьте проверить наличие папки sites в папке пользователя "ИмяПользователя"

Выполняем команду:

Sudo apachectl restart

Данная команда перезапускает сервер apache (ее необходимо использовать при каждом изменении файлов настроек сервера). Проверяем работу, в адресной строке набираем http://localhost

Теперь должны увидеть содержимое папки sites . Если ничего не получилось, то восстанавливаем исходный файл httpd.conf из архивной копии или по адресу

/private/etc/apache2/original

Еще можно проверить синтаксические ошибки настроек командой

Sudo apachectl -t

И повторяем процедуру повторно. В некоторых случаях необходимо сделать следующее:

В каталоге

cd /etc/apache2/users

Создать файл username.conf , где username - это имя пользователя в mac os x

либо командами

Cd /etc/apache2/users sudo nano username.conf

Со следующим содержимым

Options Indexes MultiViews AllowOverride All Order allow,deny Allow from all

После этого необходимо исправить права на доступ к файлу username.conf

Sudo chmod 644 username.conf

Потом перезапустить сервер

Sudo apachectl restart

В старых версиях сайт должен быть доступен по адресу

Http://localhost/~username/

Все! Сервер apache на Mac OS X должен работать и интерпретатор PHP запущен.

Если при проверке синтаксиса файлов настройки появляется ошибка

Could not reliably determine the server"s fully qualified domain name

Необходимо в файл httpd.conf добавить строку

ServerName localhost

Команда для редактирования

Sudo nano /etc/apache2/httpd.conf

Если apache все-таки не запускается и не отвечает на запрос в браузере localhost , то имеет смысл посмотреть логи.
Сначала стоит взглянуть на системный журнал. Для этого запускаем программу "консоль" и отфильтровываем по слову apache.
Вполне возможно, что вы увидите следующее сообщение:

23.12.13 13:30:24,347 com.apple.launchd: (org.apache.httpd) Throttling respawn: Will start in 10 seconds 23.12.13 13:30:34,431 com.apple.launchd: (org.apache.httpd) Exited with code: 1

Это говорит о том, что системный агент launchd по какой-то причине не может корректно запустить apache. После этого в папке
/var/log/apache2/ открываем с помощью консоли файл error_log (журнал событий apache и смотрим последние сообщения). Они подскажут, что у вас сделано неправильно.

На самом деле статей про то, как поднять локальный сервер (а тут речь зайдет конкретно об OS X) достаточно много. Но как и с меня постигло разочарование, когда я хотела просто воспользоваться инструкцией и не заморачиваться. Все же я не программист.

Меня не интересовали всякие дополнительные супер крутые все содержащие в себе программы типа MAMP. Они сожрут мне место на диске и наделают кучу непонятных папок. Я точно знала, что линуксоподобная OS X итак почти все в себе имеет, надо просто знать как этим воспользоваться. Но я и не думала, что мне так повезет! И я смогу поднять локальный сервер в любой папке (то есть моя структура проектов на диске не будет нарушена вообще).

Тут я опишу небольшую последовательность действий, которая позволила мне установить Wordpress в одной из выбранной мною (а не разработчиками супер программ, упомянутых выше) папке. Конечно локальный сервер нужен не только для WordPress, но я буду описывать конкретно мой случай.

Исходные данные

Для начала стоит отметить, что инструкция касается > OS X 10.10 (Yosemite) . На версиях ниже тоже скорее всего будет работать, но не гарантирую, что все в точности так же (это зависит от предустановок системы).

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

  1. Если вам нужен сервер для html верстки (ну к примеру, для ajax, или чтобы потестить сколько запросов будет отправляться на сервер вашей версткой), то вообще ничего не нужно устанавливать. Смотрите раздел “Простой веб-сервер от Python”.
  2. Если вам нужно установить WordPress , то тут необходимо посмотреть требования этой CMS . На тот момент, что я устанавливала Вордпресс, это: PHP 5.4 и выше, MySQL 5.5 и выше, Apache модуль.

Инструкция

1. Устанавливаем все необходимое для сервера

Вводим в консоли:

type - a python

Должно показать что-то типа того:

python is /usr/local/bin/python python is /usr/bin/python

Откроется файлик, нужно найти строчку LoadModule php5_module libexec/apache2/libphp5.so (горячая клавиша для поиска текста в vi – ?) и раскомментировать ее (удалить # перед строкой).

MySQL вряд ли установлен. И тут в дело вступает лень. Чтобы ничего самим не скачивать, не устанавливать и не настраивать, просто выполняем скрипт, введя в консоли:

bash <(curl -Ls http://git.io/eUx7rg)

bash < (curl - Ls http : //git.io/eUx7rg)

Этот скрипт я нашла . Проверила, ничего ужасного с моим маком не сделал этот чей-то самописный скрипт, все как и обещано. А именно, он делает следующее:

  • Проверяет, установлен ли MySQL в системе
  • Скачивает последнюю версию MySQL
  • Устанавливает пароль для root, показывает пароль
  • Записывает пароль в файл на рабочем столе (мне это потом пригодилось, так как при установки я пароль конечно не записала)
  • Что-то настраивает, спрашивает не хотите ли вы еще что-то настроить (я просто ответила нет, мне это не интересно и не нужно)
  • Предлагает установить программу Sequel Pro (менеджер баз данных, полезная штука). Я ответила да и не пожалела.

Все, теперь перезагружаемся. И устанавливаем WordPress куда глаза глядят.

2. Поднимаем сервер и устанавливаем WordPress

Простой веб-сервер от Python

Помните, что этот вариант подходит только для теста верстки и других простых задач, где кроме HTTP запросов ничего не нужно. Если вам тоже нужно установить WordPress на локалку, листайте на раздел ниже.

1. Открываем консоль, переходим в нужную папку:

2. Набираем в консоли команду: python -m SimpleHTTPServer

В консоли появится надпись Serving HTTP on 0.0.0.0 port 8000 …

Теперь вводим в адресную строку браузера http://localhost:8000/какой-то_ваш_файл.html

Полноценный сервер на локалке + WordPress

1. Переходим в папку с предполагаемым WordPress для проекта:

2. Запускаем сервер с поддержкой PHP командой php -S 127.0.0.1:8000

3. Открываем программы Sequel Pro, вводим адрес, пользователя и пароль, соединяемся с нашим локальным сервером:

4. Создаем новую базу данных для WordPress в Sequel Pro.

5. Переходим по адресу http://localhost:8000/wp-admin/install.php , чтобы начать установку.

Ссылки по теме

How to use SimpleHTTPServer – немного о питон сервере
Install MySQL on OS X 10.9 Mavericks – подошло и для Yosemite