Apache
Данный сервер уже предустановлен в системе, необходимо его только запустить. Для этого открываем терминал и выполняем команду
$ sudo apachectl start
Чтобы проверить работоспособность Apache, открываем браузер и в адресной строке пишем
http://localhost/
После этого должна открыться страница с надписью It works!
PHP
Подключаем к Apache PHP. Для этого переходим в каталог /etc/apache2/
$ cd /etc/apache2/
Изменяем файл httpd.conf
$ sudo nano httpd.conf
Раскомментируем следующую строчку
LoadModule php7_module libexec/apache2/libphp7.so
Перезагружаем Apache
$ sudo apachectl restart
По умолчанию файлы сервера храняться в /Library/WebServer/Documents, чтобы проверить подключился ли у нас PHP и его параметры, создаем в каталоге Library/WebServer/Documents файл phpinfo.php
$ sudo su
$ echo '<?php phpinfo(); ?>' > /Library/WebServer/Documents/phpinfo.php
$ exit
Посмотреть результат можно тут http://localhost/phpinfo.php
MySQL
Скачиваем сервер MySQL с официального сайта в виде DMG архива http://dev.mysql.com/downloads/mysql/ и устанавливаем в систему.
В ходе установки отобразиться окно сообщающая, о сгенерированном пароле для пользователя root (часть после root@localhost: ). Запоминаем его и нажимаем ОК.
После установки в Системных настройках открываем MySQL. В открывшемся окне запускаем сервер и отмечаем (если не отмечен) пункт Automatically Start MySQL Server on Startup (Автоматический запуск MySQL сервера при загрузки системы).
Размещение файлов на веб-сервере
По умолчанию файлы веб-сервера сайта располагаются в каталоге /Library/WebServer/Documents/ и доступны по адресу http://localhost. Данное расположение не совсем удобно для работы, в связи с ограничениями на доступ от обычного пользователя. Поэтому в домашней папке создадим каталог webServer. Далее создадим файл настроек apache
$ sudo nano /etc/apache2/users/username.conf
где username — имя пользователя, чтобы его узнать можно воспользоваться командой в терминале users, которая выведет имя текущего пользователя.
В созданном файле укажем следующее
<Directory "/Users/username/webServer/">
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>
Теперь откроем файл /etc/apache2/httpd.conf
$ sudo nano /etc/apache2/httpd.conf
и раскомментируем следующие строки
LoadModule authn_core_module libexec/apache2/mod_authn_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
Include /private/etc/apache2/extra/httpd-userdir.conf
Include /private/etc/apache2/extra/httpd-vhosts.conf
После этого внесем изменения в файл /etc/apache2/extra/httpd-userdir.conf
$ sudo nano /etc/apache2/extra/httpd-userdir.conf
Раскомментировав строку Include /private/etc/apache2/users/*.conf
После этого внести информацию о виртуальных хостах сайтов в файл /etc/apache2/extra/httpd-vhosts.conf
$ sudo nano /etc/apache2/extra/httpd-vhosts.conf
следующего вида
<VirtualHost *:80>
ServerAdmin support@aztom.ru
DocumentRoot "/Users/username/webServer/site_main"
ServerName site-main
ServerAlias www.site-main
ErrorLog "/Users/username/webServer/site_main-error_log"
CustomLog "/Users/username/webServer/site_main-access_log" common
</VirtualHost>
Отредактируем файл /etc/hosts
$ sudo nano /etc/hosts
добавив строку с указанием ip сервера и именем сайта.
127.0.0.1 site-main
Перезагружаем apache
$ sudo apachectl restart