Локальный веб-сервер MAMP для Mac OS. Личный опыт Web разработки в Mac OS X Локальный сервер для мак ос

То рано или поздно у вас возникнет желание или необходимость заняться разработкой под 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 в полноценную среду для веб-разработки.

Как мы уже убедились на опыте, очень много полезных функций и программ скрыты глубоко в недрах Mac OS X. Ссылаясь на предыдущую статью из нашего цикла « » можно смело заявить, что наличие штатных ресурсов системы полностью позволяет запустить и настроить веб-сервер с такой же простотой, как мы делали это с FTP. Ввиду непонятных причин, возможность организации веб-сервера была также удалена из Системных настроек, но не беда.

Главный вопрос в том, зачем может понадобиться эмуляция сервера? Если существует нужда в запуске и тестировании интернет платформ и различных веб-сервисов на своей машине (к примеру, локальная версия WordPress), то веб-сервер - то, что нужно. Если вы изучаете PHP, то это отличный способ попрактиковаться и попробовать свои силы в разработке сайтов. Другими словами, мы организовываем хостинг, только локально.

Итак, помните про launchctl, которую мы использовали в предыдущей статье? Эта же утилита поможет нам активировать Apache Web server.

Для запуска Apache Web server открываем Terminal и вписываем команду:

sudo -s launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

Все просто. Для проверки сервера открываем Safari и вводим в адресную строку:

http://localhost/

После чего мы будем оповещены следующим сообщением:

Для выгрузки веб-сервера используем аналогичную команду в Терминале:

sudo -s launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

Attention. Перед тем, как вы перейдете к основной части статьи, следует предупредить, что ручное подключение PHP, MySQL и Virtual Hosts займет некоторое время. У нас уже есть отличная статья по настройке всего этого с помощью одного клиента , но если вы не из робкого десятка - вперед.

По умолчанию PHP на нашем сервере отключен, поэтому нам нужно его активировать. Делается это путем редактирования конфигурационного файла. Открываем Терминал и вводим следующее:

sudo nano /etc/apache2/httpd.conf

Откроется редактор файлов (nano), где нам нужно найти строчку, начинающуюся на «#LoadModule php5_module…» и удалить решетку:

После удаления, нажимаем Ctrl-O (сохранение изменений), Enter и Ctrl-X (выход из редактора). После чего нам нужно перезагрузить наш сервер командой:

sudo apachectl restart

Теперь мы можем работать с PHP скриптами. Кстати, файлы сайта хранятся по адресу: /Library/WevServer/Documents
Это важно.

Теперь о настройке MySQL. Чтобы не было совсем грустно, напомним, что MySQL - это ПО для создания и управления базами данных (информация о пользователях, посещениях, контенте сайта и т.д.), которые будут полноценно использоваться при создании вашего сайта. Таким образом, связка PHP — MySQL идеальна для создания Web — сайтов.

Сам процесс установки MySQL не так сложен. Существует отличный скрипт отсюда для автоматической инсталляции. Просто вводим его в Терминале (необходимо интернет-соединение):

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

После чего начнется установка:

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


Для работы с базой, вводим типичную команду:

Все что нам остается - установить пароль. Прописываем в Терминале:

/usr/local/mysql/bin/mysqladmin -u root password ‘Ваш Пароль’

И теперь, перед тем, как начать работу с клиентом, нужно выполнить следующую команду:

mysql -u root -p

После чего ввести созданный пароль. Если вдруг на запрос выбивает «command not found», нужно перезапустить Терминал и попробовать еще раз.

Таким образом, мы имеем стандартный набор средств для управления, администрирования и проверки Web-сайтов локально, прямо на нашем Mac-сервере.

Существует множество способов развернуть локальный сервер на Mac OS X, но сама система уже содержит предустановленный веб-сервер Apache и интерпретатор PHP, которые необходимо активировать и настроить.

Данное руководство требует некоторых навыков работы с командной строкой и знания редактора nano, поэтому рекомендую прочитать хорошую книгу по основам работы с командной строкой и терминалом в Mac OS X .

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

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

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

Команды для работы с Apache через командную строку:

sudo apachectl start | stop | restart

Ошибка Apache в Mac OS X 10.6.5 и выше

Следующая ошибка наблюдается при перезапуске Apache в Mac OS X 10.6.5 и выше, если попытаться перезапустить сервер через командную строку, Apache вернет ошибку:

/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument

Необходимо внести изменения в скрипт apachectl (/usr/sbin/apachectl):

sudo nano /usr/sbin/apachectl

закомментируем строку 82:

ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"

и добавим под ней:

ULIMIT_MAX_FILES=""

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

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

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

sudo nano /etc/apache2/httpd.conf

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

LoadModule php5_module libexec/httpd/libphp5.so

Зададим свой каталог для локального сервера, поменяем путь к корневому каталогу в строке 168 и 195. После этих изменений корневым каталогом будет папка Сайты (Sites), находящаяся в домашнем каталоге пользователя.

DocumentRoot "/Library/WebServer/Documents"

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

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

В строке 230 пропишем какие типы файлов и в какой последовательности должен обрабатывать Apache:

DirectoryIndex index.php index.html

В строке 264 можно задать место для хранения журнала ошибок Apache:

ErrorLog "/private/var/log/apache2/error_log"

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

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

Сохраняем все изменения в файле httpd.conf и перезапускаем Apache. Если перейти по адресу http://localhost/ , загрузится стартовая страница из папки сайты с приветствием "Ваш веб-сайт".

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

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

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

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

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

sudo mv /private/etc/php.ini.default /private/etc/php.ini

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

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

mkdir ~/Sites/test
cd ~/Sites/test
touch index.php
nano index.php

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

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

sudo nano /etc/hosts

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

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

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

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

ServerAdmin DocumentRoot "/Users/имя_пользователя/Sites/test" ServerName test AllowOverride All Order allow,deny Allow from all

Сохраняем изменения и перезапускаем Apache. Теперь, если перейти по адресу http://test/ откроется страница с приветствием «Hello world!».

Все указания выше приведены с учетом моих вкусов и предпочтений, цель данного руководства разобраться с основными принципами конфигурации нативного Apache и PHP на Mac OS X. С огромным удовольствием выслушаю предложения и замечания по доступности изложенного материала.

Наконец-то у нас нашлось время для того, чтобы подробно осветить тему, про которую мы планировали написать ещё несколько месяцев назад. Речь идёт о создании и использовании домашнего сервера под управлением Mac OS X . Если при слове «сервер» вы сразу подумали «нет, это точно не для меня», не спешите отказываться от дальнейшего чтения. Во-первых, Mac OS X (и её серверная редакция) кардинально отличаются от многих других серверных операционных систем своей дружелюбностью к пользователю (за что критики частенько обзывают Mac OS X Server серверной осью для блондинок). Во-вторых, разговор пойдёт о совершенно конкретной разновидности сервера — домашней. А это означает, что тратить ваше время на ознакомление с различными сложными серверными материями, имеющими смысл для корпоративных сетей, мы не планируем. Напротив, мы расскажем о конкретных прикладных задачах, которые довольно легко можно решить с помощью домашнего сервера, и начнём мы с общего обзора этих задач.

Пожалуй, каждый обладатель хотя бы трёх гаджетов Apple на своём опыте убедился, что чем больше «яблочных» устройств находится у вас на руках, тем лучше раскрывается их потенциал, и тем больше хочется докупить себе дополнительной Apple-техники. Со временем маркетинговая магия Apple приводит к тому, что у вас дома (а то и в офисе) складывается целая яблочная экосистема. Сервер под управлением Mac OS X является ядром, сердцем этой системы, поскольку может брать на себя значительный объём полезных задач.

В самом начале разговора о Мак-серверах стоит сразу сделать важное замечание: сервер — это не столько тип компьютера с точки зрения оборудования, сколько его статус . Иными словами, ошибочно думать, что сервером может быть только Mac Pro, Mac mini Server или, скажем, снятый с производства Xserve. Сервером считается тот компьютер, который обеспечивает ряд сервисных функций для других компьютеров , подключённых к нему по проводной или беспроводной локальной сети или извне, через Интернет. Кроме того, чтобы быть сервером, Маку вовсе не обязательно иметь на борту именно Mac OS X Server. Большинство из задач, которые будут освещаться в нашем новом цикле статей, могут быть успешно решены и на обычной «макоси».

Как видите, граница между сервером и «несервером» для Маков довольно условна, а ещё больше она сотрётся вместе с OS X Lion. «Лев» примечателен тем, что может быть превращён в серверную разновидность путём докупки специального приложения из Mac App Store.

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

Какой Мак может брать на себя роль домашнего сервера? Безусловно, это должен быть стационарный Мак, т.к. главное требование, предъявляемое к серверу — доступность. Сервер всегда должен быть включён (по крайней мере, всегда, когда он может понадобиться). Из стационарных Маков на роль сервера лучше всего годится Mac mini в силу следующих причин:

  • компактность: «миник» не занимает много места, монитор серверу не нужен, тем более можно обойтись без клавиатуры и мыши
  • эстетичность: маленький Мак спокойно может поселиться на журнальном столике или тумбе, вписавшись в домашний интерьер. А представьте-ка на этом месте Mac Pro:)
  • энергоэффективность: Mac mini потребляет намного меньше энергии, нежели все остальные стационарные Маки
  • дешевизна: купив обычный Mac mini, при желании вы сможете поставить на него серверную версию Mac OS X. Покупать серверный вариант «миника» смысла нет (разве что если вам нужен терабайт дискового пространства)

Кроме того, миник может относительно успешно заменить собой и Apple TV (если вас вдруг не интересует функция стриминга AirPlay), и AirPort Extreme вместе с Time Capsule, если планировка квартиры позволяет подключить его к телевизору и воткнуть в него Интернет-кабель.

Пора перейти к задачам, которые может решать домашний сервер:

  • общая медиатека. Вы можете хранить на сервере все свои аудио- и видеофайлы, книги, подкасты и прочую начинку iTunes. Благодаря функции «Домашняя коллекция» весь этот контент будет свободно доступен на всех остальных компьютерах в домашней сети, а также на iOS-гаджетах с прошивкой 4.3 или выше
  • доступ к медиатеке с телевизора через Apple TV. Без лишних проблем смотреть фильмы, клипы, подкасты и/или слушать записи можно прямо с телевизора, посредством приставки Apple TV, подключающейся к серверу с медиатекой iTunes

  • торрентокачалка. Жалеете, что широкий домашний Интернет-канал скучает без дела, пока вы отсутствуете? Вы сможете поставить на закачку торрент-файл на домашнем сервере откуда угодно — из офиса, с айпада из машины, с айфона с дачи — а когда вы вернётесь домой, файлы будут скачаны
  • автоматическая конвертация видео. Элегантным дополнением к предыдущей функции станет и автоматическая конвертация материала (разумеется, особенно это касается видео) в совместимый с iTunes и гаджетами Apple формат. Всё это также может происходить без вашего вмешательства — торрент скачается, киношка сконвертируется и самостоятельно добавится в iTunes, ожидая просмотра
  • трансляция видео с конвертацией на лету. Если не хотите утруждать миник предварительной конвертацией видео, можете организовать конвертирование на лету. Допустим, вы хотите посмотреть AVI-файл с Mac mini на своём iPhone. Думаете, задача не решаема? Отнюдь нет:)

  • Time Machine. Как известно, бэкапить содержимое ваших Маков по сети можно на Time Capsule. Но вот оправдывает ли «капсула» свой ценник? Мы так не думаем, тем более что любой Мак с серверной Mac OS X на борту может восприниматься другими Маками именно как Time Capsule, и все бэкапы будут осуществляться как раз на него
  • автоматическое скачивание апдейтов. Ещё один способ занять ваш Интернет-канал в свободное время — поручить домашнему серверу периодически искать, скачивать и даже устанавливать апдейты для всех ваших Маков

  • хостинг. В недавнем прошлом самым простым для маковода способом опубликовать собственный сайт был сервис MobileMe. Но MobileMe официально будет закрыт уже в следующем году, а в пришедшем ему на смену iCloud места хостингу попросту не нашлось. Но если у вас есть права на домен и домашний сервер, то размещение своего сайта становится решаемой задачей. Конечно, для серьёзных задач куда практичнее приобрести хостинг или арендовать сервер у специализирующих на этом компаний — например, размещать сайт со сколько-нибудь приличной посещаемостью у вас дома — явно не лучший вариант. Однако для личных экспериментов отлично хватит и возможностей операционной системы.
  • синхронизация календарей и контактов. Не хотите доверять свои данные Apple, Google и другим сервисам? Создайте свой собственный сервис синхронизации контактов Адресной книги и событий iCal, настройте его так, как вам удобно, и пользуйтесь на здоровье;)
  • собственный почтовый сервер. Если у вас есть своё доменное имя, то вы сможете прицепить к нему не только свой сайт, но и свою эксклюзивную почту. Конечно, данная функция наиболее актуальна для компаний, однако в ряде случаев она может пригодиться и для домашнего использования

  • удобный обмен файлами. Надоело заливать файлы на narod.ru, ifolder.ru или, что ещё хуже, на RapidShare? :) При наличии сервера вы можете организовать свою собственную площадку обмена файлами, без дурацких ограничений по объёму и скорости, без необходимости ожидания и пр.

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

Существует различное количество операционных систем, одной из популярных является Mac OS. На Windows мы можем установить многими способами, например Instant WordPress или же XAMPP, что касается Mac, то там количество вариантов ограничено. Поэтому, в данной статье мы рассмотрим возможность локальной установки WordPress на операционную систему от компании Apple – Mac OS.

Подготавливаем для установки WordPress на Mac

Здесь нам потребуется MAMP, который представляет из себя обычное программное обеспечение, при помощи которого создается локальный веб-сервер. Поэтому, скачиваем и последнюю версию .

Нам нужно будет откорректировать файл wp-config.php, если у Вас будут другие настройки и создать базу данных через phpmyadmin.

Нам достаточно бесплатной версии MAMP, но в установочном пакете разработчик впихнул и PRO-версию, смотрите сами.

Установка MAMP

После того, как скачаете сервер, а затем установите, как и обычное MAC-приложение, Вам необходимо проверить, работает ли он или же нет, поэтому запускаем его.

Само приложение предлагает нам сделать различные настройки, которые Вы можете установить по своему усмотрению, например, можете установить свой тип кэширования, а также номер порта. В качестве порта MAMP, Вам необходимо выбрать стандартный порт Apache и MySQL, для этого Вам необходимо просто перейти в настройки MAMP Preference-Ports-Set to default Apache and MySQL ports .

При запуске MAMP, Вам может показываться ошибка, это происходит из-за конфликта портов с другими приложениями, например Skype. Либо поменяйте порт, либо отключите приложения, с которыми может быть конлфикт.

Задаете имя базы данных, его можно сделать любым, главное запомните или запишите, так как нам его необходимо будет прописывать в файле настроек WordPress.

Дальше нужно распаковать файл из WordPress, для того чтобы перейти к установке. Для этого нужно зайти в Finder, а затем Applications- MAMP- htdocs и копируете туда все файлы и папки для установки WordPress:

Завершаем установку WordPress на Mac OS

Нам осталось самое легкое, после того как установили MAMP, настроили его и скопировали все файлы. Нам осталось отредактировать файл wp-config и установить сам WordPress.

Поэтому, переходим в папку htdocs и нужно переименовать файл wp-config-sample.php на wp-config.php, а затем открыть его и откорректировать:

  • DB_ NAME – имя созданной Вами базы, в данном случае sml_wp
  • DB_ USER
  • DB_ PASSWORD – root, либо же Ваш, который Вы создали