Универсальный установщик server и user на mac. Устанавливаем локальный сервер и WordPress на Mac OS. Создаём базу данных

Привет Хабр!

Как веб-разработчик, выбравший Mac OS X в качестве основного рабочего инструмента, я столкнулся с проблемой настройки необходимого окружения. По многолетней привычке работы с серверами на Linux, руки сами потянулись в консоль дабы все поставить, но остановились - постойте, постойте, но зачем мне превращать эту операционку в очередной Linux сервер? Мне этого шаманства с консолью на серверах хватает, спасибо. Будем использовать встроенные компоненты, насколько это возможно.

Web сервер

Apache предустановлен в Mac OS и для локальной разработки его более чем хватает.
Маленькая хитрость – если не нужен виртуальный хост, то очень помогает вот такой трюк:
/etc/apache2/extra/httpd-userdir.conf
Options Indexes Order allow,deny Allow from all
Осталось кинуть проект в ~/Sites/%имя_проекта% и открыть в браузере localhost/~%user_name%/%имя_проекта%
На крайний случай, если нужна полная копия production окружения всегда можно установить Vagrant .

PHP

PHP предустановлен в Mac OS. Если его версия устраивает, то просто включаем загрузку модуля php5_module : /etc/apache2/httpd.conf
LoadModule php5_module libexec/apache2/libphp5.so
Если не устраивает, то можно установить PHP по мануалу отсюда php-osx.liip.ch . Эта версия не заменит системную, сама найдет Apache и вообще установится в /usr/local/php5 . Установка предельно проста – одна строка в консоли (пример для PHP 5.5):
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5

MySQL

Установить MySQL можно несколькими способами, например, через Homebrew . Но компилировать из исходников MySQL только потому что это позволяет пакетный менеджер? Мне кажется что проще взять DMG архив с официального сайта и установить. После установки в Системных настройках появится вкладка MySQL:

FTP/SFTP

Кроме работы над основным проектом приходится отвлекаться и исправлять/доделывать что-то у клиентов. Обычно это чужой хостинг с доступом по FTP. Значит нужен FTP клиент. Выбор пал на Cyberduck :




Почему Cyberduck? Потому что хранит пароли в Keychain, переведен на русский, бесплатен и поддерживает FTP , SFTP , WebDAV , Amazon S3 , Google Cloud Storage и Rackspace Cloud Files .

MySQL клиент

Долго выбирал рать между MySQL Workbench и Sequel Pro . В силу легкости победил Sequel Pro.

Почему локальное приложение а не phpmyadmin или mysql в консоли хостинга? Потому что все курируемые базы в одном месте и не надо при задаче «посмотри что там в базе у клиента » открывать консоль, SSH и вспоминать пароли. Да, это удаленное подключение и MySQL на хостинге смотрит наружу. Но доступ по IP или SSH туннель спасают отца русской демократии.
Возможностей у программы достаточно много, лучше почитать на официальном сайте.

Sublime Text

Без него никуда. Маленькая хитрость в настройках:
{ "open_files_in_new_window": false, }
По-умолчанию выставлено в TRUE и из-за этого Cyberduck открывает новые файлы в новом окне, а не в новой вкладке существующего окна.

Кроме этого, бывает что нужно быстро запустить небольшой кусок PHP кода, а делать это в IDE не удобно. Можно выполнить PHP код из Sublime Text, добавив новую Build System (Tools –> Build System -> New ):
{ "cmd": ["php" , "$file"] }
Теперь жмем CMD + B и результат работы кода появится в консоли Sublime Text.

Dash


Это удобный сборник документации, вот его особенности:

  • Автообновление документации с официальных сайтов
  • Оффлайн доступ
  • Шпаргалки (Cheat Sheets)
  • Создание своих сниппетов
  • Интеграция в PhpStorm и Sublime Text

Конечно, можно еще начать петь дифирамбы тач-жестам и полноэкранному режиму приложений, но это выходит за рамки статьи.

Наконец-то у нас нашлось время для того, чтобы подробно осветить тему, про которую мы планировали написать ещё несколько месяцев назад. Речь идёт о создании и использовании домашнего сервера под управлением 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.

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

  • пара Маков (например, iMac и MacBook Pro)
  • мобильные гаджеты (любое количество iPhone, iPod touch и iPad)
  • приставка Apple TV второго поколения и телевизор (без него приставка смысла не имеет:)
  • какое-либо сетевое оборудование Apple (например, Time Capsule или AirPort Extreme)

Какой Мак может брать на себя роль домашнего сервера? Безусловно, это должен быть стационарный Мак, т.к. главное требование, предъявляемое к серверу — доступность. Сервер всегда должен быть включён (по крайней мере, всегда, когда он может понадобиться). Из стационарных Маков на роль сервера лучше всего годится 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? :) При наличии сервера вы можете организовать свою собственную площадку обмена файлами, без дурацких ограничений по объёму и скорости, без необходимости ожидания и пр.

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

Как уже писал в прошлом посте, что решил в новогодние каникулы погонять свой мак максимально возможно и поставить все что было у меня на винде и вот встал вопрос об установке Веб сервера под Мак и данная статья будет пошаговой инструкцией как запустить встроенный веб сервер 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

Сегодня мы поговорим о локальном веб-сервере, доступном как для 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 - это наиболее дружелюбные решения в сфере локальных веб-серверов. Понятный интерфейс и подробная документация позволят быстро разобраться во всех тонкостях. Необходимость в дорогостоящей платной версии может возникнуть, если ваша работа над сайтом или несколькими ресурсами выходит за рамки простого любопытства. Это серьёзный инструмент для веб-разработчиков.