Как уже писал в прошлом посте, что решил в новогодние каникулы погонять свой мак максимально возможно и поставить все что было у меня на винде и вот встал вопрос об установке Веб сервера под Мак и данная статья будет пошаговой инструкцией как запустить встроенный веб сервер Apache с подключением PHP и MySQL.
т.к. я буду 100% натыкаться на какие нибудь “вилы” то эта статья будет постоянно дополняться + буду ждать комментарии от Вас
Давайте для удобства разобьем эту статью на подпункты:
[contents]
Включаем встроенный WEB Server Apache

Приведенный материал является универсальным и будет полезен пользователям любых операционных систем.
Включить веб-сервер можно в настройках: Системные настройки > Общий доступ > включить службу Общий веб-доступ.
Если набрать в адресной строке браузера http://localhost/
, то сервер вернет страницу с текстом «It works!».
Либо можно запустить Apache через командную строку Терминала набрав след команду:
sudo apachectl start
Конфигурация Apache

Для конфигурации Apache необходимо открыть файл /etc/apache2/httpd.conf
:
sudo nano /etc/apache2/httpd.conf
Раскомментируем ServerName и приведем ее к такому виду:
ServerName localhost
Далее подключаем PHP (необходимо раскомментировать строку):
LoadModule php5_module libexec/httpd/libphp5.so
Далее изменим каталог где у нас будут лежать тестовые сайты После этих изменений корневым каталогом будет папка Сайты (Sites), находящаяся в домашнем каталоге пользователя.
DocumentRoot "/Library/WebServer/Documents"
на
DocumentRoot "/Users/имя_пользователя/Sites"
Аналогично заменим прежний путь в строке 195:
<Directory "/Library/WebServer/Documents">
на
<Directory "/Users/имя_пользователя/Sites">
Далее в строке 230 пропишем какие типы файлов и в какой последовательности должен обрабатывать Apache:
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:
<?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
Конфигурация виртуальных хостов

Все проекты будут размещаться в каталоге пользователя Сайты (/Users/имя_пользователя/Sites/
). Создадим в этом каталоге новую папку с названием test
, а в ней файл index.php
с тестовым скриптом. Локальный сайт будет открываться по адресу http://test/
. Переходим к командной строке и вводим следующие команды:mkdir ~/Sites/test
cd ~/Sites/test
touch index.php
nano index.php
и добавим сценарий:
<?php
phpinfo();
?>
Теперь займемся конфигурацией виртуальных хостов. Для начала откроем файл /etc/hosts
и добавим в исключения адрес локального сайта (http://test/
). Переходим к командной строке:
sudo nano /etc/hosts
и добавляем строчку:
127.0.0.1 test
Добавим записи с конфигурацией нового виртуального хоста:
sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
И в конец файла добавляем записи:
<VirtualHost *:80>
ServerAdmin webmaster@test
DocumentRoot "/Users/имя_пользователя/Sites/test"
ServerName test
<Directory "/Users/имя_пользователя/Sites/test">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Сохраняем изменения и перезапускаем Apache
sudo apachectl restart
Проверка и тестирование результата

Теперь, если перейти по адресу http://test/
откроется страница с приветствием «Hello world!»
Если ни чего не получилось, то возвращаемся в начало статьи и делаем все заново и внимательнее, если и после ни чего не получилось, то смотрим где у нас в конфигурационном файле httpd.conf лежит лог файл (по умолчанию он выглядит так ErrorLog “/private/var/log/apache2/error_log” и если Вы ничего не изменяли, то смотрите логи /private/var/log/apache2/error_log и присылайте ошибки, будем разбираться почему у Вас не работает веб сервер.
Еще можно проверить синтаксические ошибки в файле http.conf настроек командой
sudo apachectl -t
ВСЕ!
Данная инструкция писалась пошагово, когда я сам настраивал на своем Макбук Веб сервер. Если Вы все делаете в точности по инструкции, то у Вас точно на все 100% получится настроить web server.
Всем удачи и хороших зимних каникул!