Установка PHP на Mac OS X

С тех пор как я попробовал после Windows систем сесть на Linux, а потом и на Mac ничего кардинально не изменилось. Пока нужно сделать что-то не сложное — это делается в один клик, как только нужно сделать что-то очень простое, это просто невыполнимо.

Ну в общем, мне нужно настроить Mac OS для разработки на PHP. Надо заметить что Apache на моем Mac уже стоит, причем это по умолчанию. (У меня Yosemite, для справки).

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

Ну пожалуй по порядку.

Apache

Нам нужен для работы Apache, который в принципе уже предустановлен (в Yosimite по умолчанию доступна версия 2.4), но в панели управления никаких интерфейсов для работы с ним не представлено.

Есть несколько простых способов решить эту задачку с помощью сторонних приложений, например, clickontyler или VirtualHostX. (На самом деле clickontyler это более простая и бесплатная версия одного и того же продукта).

Но все можно сделать используя уже имеющиеся средства.

Нас интересует Terminal и apachectl.

Чтобы запустить web-сервер:

$ sudo apachectl start

Чтобы остановить apache:

$ sudo apachectl stop

Чтобы перезапустить apache после изменение конфигурации:

$ sudo apachectl restart

Если после запуска сервера Вы не можете зайти на http://localhost возможно необходимо добавить алиас в файле /etc/hosts: 127.0.0.1 localhost. Хотя, это должно быть по умолчанию.

Настройки Document Root

В первую очередь я изменил корневую папку, с которой работает сервер. По умолчанию это /Library/WebServer/Documents. Поскольку эта машина предназначена для разработчика можно изменить директорию, на папку в домашней директории пользователя. Для этого необходимо внести правки в конфигурационный файл Apache.

/etc/apache2/httpd.conf

Можно использовать любой удобный редактор, к примеру vi или subl. Главное запускать его с правами root, для этого необходимо использовать команду sudo.

Я предпочитаю использовать простой редактор — nano.

$ sudo nano /etc/apache2/httpd.conf

Terminal Nano httpd.conf

Найдите в документе DocumentRoot, строка должна выглядеть следующим образом:

DocumentRoot "/Library/WebServer/Documents"

Измените адрес на необходимый вам. К примеру

DocumentRoot "/Users/<имявашегопользователя>/Sites"

Так же нужно внести изменения внутри <Directory> должен быть указан тот же путь:

<Directory "/Users/<имявашегопользователя>/Sites">

Внутри блока <Directory> вы найдете настройку AllowOverride, измените ее следующим образом:

AllowOverride All

* посмотреть назначение параметров можно, например, здесь.

User & Group

Теперь апач смотрит на папку Sites, расположенную в домашней директории пользователя. Есть одна проблема, по умолчанию apache работает из под пользователя _www и группы _www, поэтому сервер может не иметь доступа к домашней директории. Снова редактируем httpd.conf.

User <имявашегопользователя>
Group staff.

Создаем корневую директорию

Конечно, для того чтобы применить настройки необходимо перезапустить Apache sudo apachectl restart.

Выше мы уже сделали необходимые настройки, но самой директории у нас еще нет. Создать ее можно из терминала или из Finder. Следующий пример создает директорию и файлик index.html, содержащий заглушку, которой можно будет проверить работу сервера.

$ mkdir ~/Sites
$ echo "<h1>Hello World!!!1111 Работает!!!</h1>" > ~/Sites/index.html

Теперь, когда вы откроете в браузере http://localhost, вы должны увидеть именно это сообщение. Если все работает — можно продолжать дальше.

Homebrew

Существуют различные менеджеры пакетов для Mac OS:

В принципе, вы можете использовать тот, что Вам больше нравится. Исторически сложилось так, что я пользуюсь Homebrew.

В первую очередь, для установки brew потребуется поставить XCode и Command Lite Tools. Сперва убедитесь, что установлен XCode он доступен в Mac App Store.

Затем в терминале пишем:

xcode-select --install

xcode-install

Установка

Полную документацию можно найти на Homebrew Wiki, кажется теперь ее переместили к репозиторию на GitHub. Я приведу только выдержку.

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

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

Проверка

Простой вариант проверить, что brew установился корректно — набрать команду:

$ brew --version

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

$ brew doctor

Вы получите инструкции, если необходимо что-то исправить.
Если brew уже был установлен, удостоверьтесь, что вы используете последую доступную версию:

$ brew update

Теперь можно работать с brew.

Немного мат.части для общего развития.

У Homebrew есть формулы, это нечто вроде скриптов на Ruby, например вот:

class Wget < Formula
  homepage "https://www.gnu.org/software/wget/"
  url "https://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz"
  sha1 "f3c925f19dfe5ed386daae4f339175c108c50574"

  def install
    system "./configure", "--prefix=#{prefix}"
    system "make", "install"
  end
end

Homebrew устанавливает программы в их собственные директории и создает символьную ссылку на них в /usr/local.

Homebrew не станет устанавливать файлы за пределами своей директории. Вы можете установить Homebrew в любую директорию.

Установка PHP 5.4

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

$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php
$ brew install php54

Этот процесс займет какое-то время.

Если в процессе компиляции вы увидите ошибку: configure: error: Cannot find OpenSSL’s вам необходимо переустановить XCode command line tools, для этого достаточно набрать: xcode-select —install

Если вам потребуется подстроить php под себя, конфигурационный файл вы сможете найти по адресу:

/usr/local/etc/php/5.4/php.ini

Настройка Apache

Теперь, когда мы успешно установили php, необходимо объяснить Apache, как работать с ним. Для этого снова редактируем файл /etc/apache2/httpd.conf. Ищем в нем строку начинающуюся с #LoadModule php5_module.

# — в данном случае символ комментария, но мы можем не трогать эту строку, т.к. параметр все равно ссылается на версию php, которая была предустановленна вместе с OS X.

Просто добавляем под этой строкой следующее:

# Brew PHP LoadModule
LoadModule php5_module /usr/local/opt/php54/libexec/apache2/libphp5.so

Так мы сказали Apache для обработки PHP запросов использовать PHP 5.4, который установили ранее.

Так же сразу следует убрать комментарий с объявления модуля mod_rewrite.so (описание на английском языке можно найти здесь):

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

Перезапускаем Apache, для обновления конфигурации $ sudo apachectl restart.

Теперь Apache должен начать обрабатывать php.

Для проверки этого утверждения используем команду phpinfo(), которая заодно расскажет нам практически все текущие параметры и пригодится в будущем.

Просто создаем файл info.php в папке ~/Sites/ и помещаем в него одну строку

<?php phpinfo()

Открываем в браузере http://localhost/info.php и наблюдаем страницу с информацией о нашем PHP.

phpinfo()

Если Вы нашли ошибку, пожалуйcта выделите ее и нажмите Shift + E или нажмите здесь чтобы информировать меня. Спасибо.

Добавить комментарий