Настройка apache mac os

Содержание
  1. Установка Apache, PHP, MySQL в macOS
  2. Установка Apache
  3. Установка PHP
  4. Установка MySQL
  5. Дополнительные действия после установки MySQL
  6. Меняем пароль root’а в MySQL
  7. Запуск MySQL сервера из терминала
  8. Запуск MySQL сервера из Системных настроек
  9. Проверка работоспособности
  10. Заключение
  11. Конфигурация Apache и PHP на Mac OS X
  12. Ошибка Apache в Mac OS X 10.6.5 и выше
  13. Конфигурация Apache
  14. Конфигурация виртуальных хостов.
  15. Комментарии (8):
  16. Андрей
  17. Александр
  18. softspice
  19. Александр
  20. Александр
  21. makegood
  22. Алексей
  23. makegood
  24. Как настроить веб-сервер Apache в MacOS Sierra 10.12
  25. 0. Terminal, без которого никуда
  26. 1.1. Создаем папку Sites и папки для проектов
  27. 1.2. Создадим простой HTML файл
  28. 1.3. Настраиваем Apache
  29. 1.3.1. Конфигурационный файл Apache
  30. 1.3.2. Включаем модули в httpd.conf
  31. 1.3.3. Редактируем httpd-userdir.conf
  32. 1.3.4. Перезагрузка Apache
  33. 1.3.5. Просмотр локальных веб-сайтов
  34. 2. Настройка виртуальных хостов — опционально
  35. 3.0. Включаем модуль PHP — опционально
  36. 3.1. Интерпретация PHP кода внутри HTML файлов
  37. 3.2. Проверка работы PHP модуля
  38. Оставьте первый комментарий
  39. Оставить комментарий Отменить ответ

Установка Apache, PHP, MySQL в macOS

Рассмотрим, как установить веб-сервер Apache, PHP и MySQL в macOS.

Все действия в данной статье будут выполняться в macOS Sierra.

Установка Apache

Хорошая новость — веб-сервер Apache уже установлен в вашей системе. Его нужно только запустить. Для этого откройте терминал и выполните в терминале команду:

Данной командной мы выполняем утилиту apachectl с правами суперпользователя (так как перед командной мы вводим sudo) и передаем утилите опцию start. Обратите внимание, что после того, как вы нажмете Enter, необходимо будет ввести пароль, который вы используете для входа в систему. При вводе пароля на экране не будет никакой индикации или символов, которые вы вводите. Просто введите пароль и нажмите Enter.

Команда должна выполниться без ошибок. Теперь можно проверить, что Apache запущен и работает. Для этого откройте браузер и перейдите на страницу: http://localhost . Откроется страница с надписью «It works!».

Файлы localhost’а лежат в директории /Library/WebServer/Documents .

Установка PHP

И снова хорошая новость — PHP уже установлен. Нужно только включить его поддержку веб-сервером.

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

Для редактирования мы воспользуемся консольным редактором nano . Он простой, но для новичка может оказаться непривычным.

Откроем файл конфигурации:

В файле необходимо раскомментировать строку, которая отвечает за загрузку модуля php5_module:
LoadModule php5_module libexec/apache2/libphp5.so

Найдите эту строку в файле и удалите перед строкой символ # .

Теперь закройте и сохраните файл. Для этого нажмите Ctrl + X , отобразится предупреждение » Save modified buffer «, нажмите Y , а затем Enter .

Так как конфигурация сервера изменилась, необходимо перезапустить сервер, чтобы новые параметры вступили в силу. Для перезапуска Apache выполните в терминале команду:

Установка MySQL

Для установки MySQL необходимо скачать с сайта mysql.com пакет с инсталлятором.

Перейдите на страницу http://dev.mysql.com/downloads/mysql/ и скачайте DMG-файл вида mysql-5.7.16-osx10.11-x86_64.dmg. После того, как вы нажмете на ссылку Download, откроется страница с предложением войти или зарегистрироваться на сайте. Регистрироваться не нужно, внизу страницы есть ссылка «No thanks, just start my download.«, нажмите на нее.

Дважды щёлкните по только что загруженном DMG-файлу. Откроется новое окно, в котором дважды щелкните по файлу mysql-5.7.16-osx10.11-x86_64.pkg. Запустится инсталлятор MySQL. Читайте сообщения инсталлятора и нажимайте кнопку Продолжить .

В конце установки отобразится окошко, в котором будет написан временный пароль root’а для доступа к MySQL. Запишите его.

Дополнительные действия после установки MySQL

Теперь нужно выполнить еще одно важное действие. Дело в том, что в MySQL есть небольшая ошибка, которая уходит в корнями в 2012 год, но исправить ее очень просто. Выполните в терминале последовательно следующие команды:

Теперь снова перезапустите Apache:

Меняем пароль root’а в MySQL

Выше, во время установки MySQL, мы получили временный пароль root пользователя. Однако, его необходимо поменять. Обращаю ваше внимание на то, что речь идеть про пароль пользователя root для MySQL сервера и этот пароль ни как не связан с паролем, который вы используете для входа в систему или при выполнении команд через sudo.

Чтобы задать новый пароль для root пользователя в MySQL необходимо выполнить в терминале ряд команд.

  1. Остановим MySQL сервер, если вдруг он запущен:
  2. Запустим сервер в режиме safe mode:
  3. Запустим консольную утилиту mysql (MySQL Command-Line Tool). Откройте новое окно терминала и выполните:
  4. Введите команду:
  5. Затем установим новый пароль (вместо NewPassword введите свой пароль):
  6. Выйдем из утилиты mysql. Введите команду:

  • Закройте оба терминала, теперь можно подключиться к MySQL, используя новый пароль:
  • Запуск MySQL сервера из терминала

    Запустить MySQL сервер можно из терминала или из Системных настроек.

    Для запуска MySQL сервера через терминал выполните команду:

    Чтобы остановить сервер выполните:

    Запуск MySQL сервера из Системных настроек

    В Системных настройках добавился новый пункт MySQL. Можно запускать MySQL сервер оттуда. Там же есть опция для автоматического запуска MySQL сервера при старте системы.

    Проверка работоспособности

    Как написано выше, файлы сайта localhost находятся в директории /Library/WebServer/Documents. Мы можем для проверки создать PHP файл, в котором выполним функцию phpinfo(). Для этого можно воспользоваться терминалом. Создадим файл /Library/WebServer/Documents/testfile.php и добавим в него вызов функции phpinfo():

    Теперь можно открыть файл в браузере, перейдя по адресу: http://localhost/testfile.php

    Чтобы проверить, что MySQL сервер работает, и мы можем выполнять действия с базами данных, можно воспользоваться утилитой mysql. Выполните в терминале:

    Введите пароль пользователя root и нажмите Enter. Вы попадете в shell для управления MySQL. Введите команду:

    Отобразится список текущих баз данных. Завершите работу введя:

    Заключение

    Итак, мы установили Apache, PHP и MySQL в macOS. Следующим шагом будет установка phpMyAdmin и настройка виртуальных хостов (сайтов).

    Источник

    Конфигурация Apache и PHP на Mac OS X

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

    Данное руководство требует некоторых навыков работы с командной строкой и знания редактора nano, поэтому рекомендую прочитать хорошую книгу по основам работы с командной строкой и терминалом в Mac OS X «Take Control of the Mac Command Line with Terminal».

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

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

    Если набрать в адресной строке браузера 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`»

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

    Сохраняем скрипт и перезапускаем 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), находящаяся в домашнем каталоге пользователя.

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

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

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

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

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

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

    /Sites/index.php
    sudo nano

    и напишем сценарий, который покажет конфигурацию 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

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

    Рекомендую познакомиться с более простым решением для работы с виртуальными хостами — VirtualHostX, с помощью этого приложения можно упростить весь процесс конфигурации виртуальных хостов.

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

    /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

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

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

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

    Комментарии (8):

    Андрей

    Огромное спасибо за столь подробное изложение. Только я добавлю свои пять копеек. Сразу после первичного редактирования httpd.conf, когда включался php5 и указывалась директория, при переходе на localhost браузер выдавал ошибку 403 — Forbidden. Если посмотреть лог, то можно увидеть причину — не существующие тестовые хосты в файле httpd-vhosts.conf. Нужно открыть его и вставить в конце файла хост:

    ServerAdmin [email protected]
    DocumentRoot «/Users/Имя пользователя/Sites»
    ServerName localhost
    ErrorLog «/private/var/log/apache2/mysite-error_log»
    CustomLog «/private/var/log/apache2/mysite-access_log» common

    Теперь localhost заработает. Тестовые хосты можно удалить.

    Александр

    И от меня поклон автору. Многое понял и многому научился.
    И у меня — как и у Андрея — при переходе на localhost браузер выдавал ошибку 403 — Forbidden.
    Только из комментария Андрея я не понял что нужно сделать. Слитно написано
    Пожалуйста, напишите по шагам:
    1.
    2.
    3.
    Заранее благодарен.

    softspice

    После слов (команд):
    «sudo nano /etc/hosts
    и добавляем строчку:
    127.0.0.1 test»
    Нужно перезапустить сервер:

    Иначе будет использоваться старый файл hosts.

    Александр

    У автора то ли кавычки съелись в разделе «Конфигурация виртуальных хостов», то ли еще что, но на данный момент в записи отсутствуют тэги VirtualHost и Directory. Короче, чтобы заработали виртуальные хосты, правильнее писать в файле /private/etc/apache2/extra/httpd-vhosts.conf так:

    ServerAdmin [email protected]
    DocumentRoot «/Users/имя юзера/Sites/test»
    ServerName test

    AllowOverride All
    Order allow,deny
    Allow from all

    Иначе работать не будет ниче.

    Спасибо за статью!

    Александр

    Опять кавычки съелись:

    ServerAdmin [email protected]
    DocumentRoot «/Users/имя юзера/Sites/test»
    ServerName test

    AllowOverride All
    Order allow,deny
    Allow from all

    makegood

    Алексей

    Вроде все так сделал. Только только у меня все равно запускается index.php из sites а не из sites/test
    В чем может быть проблема?

    makegood

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

    Источник

    Как настроить веб-сервер Apache в MacOS Sierra 10.12

    Эта статья является переводом статьи How to Set up Apache in macOS Sierra 10.12, и я размещаю ее здесь в первую очередь для себя, так как часто приходится к ней прибегать для настройки/перенастройки Apache в Sierra. Возможно, кому-то этот русскоязычный перевод облегчит понимание, и я буду рад что смог чем-то помочь.

    macOS Sierra поставляется с веб-сервером Apache версии 2.4.23. Настройка Apache будет состоять из трех этапов:

      Начальная настройка. Мы настроим веб сервер таким образом, что статические (.html) файлы сайта размещенные в папке Sites (внутри вашей домашней папки) будут доступны к просмотру браузером по адресу http://localhost/

    username/, где username — это ваше короткое имя пользователя, например admin или andrey.

  • Настройка виртуальных хостов. На этом этапе мы отредактируем Virtual Hosts и /etc/hosts, чтобы наши сайты были доступны по удобному адресу типа foo.localhost вместо указывания длинного пути с иерархией папок.
  • И на последнем этапе мы включим PHP модуль, что позволит размещать в папке Sites не только статические, но и скриптовые (.php) файлы, которые сервер будет соответствующим образом обрабатывать и отдавать в браузер результат их работы.
  • 0. Terminal, без которого никуда

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

    Прежде чем вы переключитесь в Терминал и начнете выполнять команды, несколько предостерегающих моментов. Некоторые команды, которые мы используем в настоящем руководстве, используют префикс sudo, который позволяет повысить привилегии текущего пользователя до уровня «root» или «superuser». Однако помните, что расширенные возможности влекут за собой повышенную ответственность. Поэтому будьте особенно внимательными, когда используете sudo, убедитесь что не перепутали путь к файлу и что вы не пытаетесь отредактировать файл, который не подлежит изменению.

    Терминал находится по адресу:

    Запустите его. Приглашение командной строки будет иметь следующий вид:

    Сначала будет указано имя компьютера, потом :

    потом ваше короткое имя пользователя и знак $ в конце.

    1.1. Создаем папку Sites и папки для проектов

    Папка Sites будет выступать в роли Document Root для Apache, и в то же время удобно располагаться в вашей домашней папке, обеспечивая беспрепятственный доступ к своему содержимому. Отметим, что папка Sites уже была предустановлена во всех ранних системах Mac OS X и исчезла в OS X 10.7 Lion. Равно как и галочка “web sharing” в System Preferences -> Sharing, которая позволяла запускать/останавливать Apache. Видимо в Apple посчитали, что среднестатистическому пользователю это не нужно, а кому нужно, разберется и без графического интерфейса. Но как только вы создадите папку Sites, сразу станет понятно что Finder ожидает ее возрождения и у него уже есть заготовленная иконка для этой папки с логотипом Safari.

    После создания папки Sites мы создадим две папки внутри для отдельных вебсайтов — Foo и Bar.

    Создать папку можно с помощью Finder, но мы сделаем это через Terminal, из учебных соображений. Для создания директорий есть команда mkdir (сокращение от make directory). После mkdir должен быть указан путь в файловой системе к создаваемой папке. Символом тильда (

    ) обозначается ваш домашний каталог (это сокращение принято во всех Unix системах). Таким образом, следующая команда позволит создать папку Sites внутри вашей домашней директории:

    Как узнать что команда сработала и папка создалась? Выполните:

    Команда ls (сокращенно от list), показывает содержимое указанной директории, в данном случае она покажет содержимое нашей домашней директории так как в качестве пути стоит тильда

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

    Теперь создадим две папки для сайтов внутри Sites. Используем для этого mkdir:

    С помощью ls убедитесь что папки созданы:

    1.2. Создадим простой HTML файл

    Можно, конечно, создать simple-text файл в TextEdit, и наполнить его HTML кодом, но мы по-прежнему будем использовать Терминал. Создавать файл удобно командой touch. Она либо создает новый пустой файл либо меняет дату изменения на текущую на указанном файле либо директории. Это удобно запомнить, так как touch == потрогать.

    После выполнения этой команды проверьте папку foo — в ней должен находиться index.html.

    От пустого index.html толку мало, нужно наполнить его HTML разметкой, и для этого мы воспользуемся редактором nano:

    Откроется текстовый редактор прямо в окне Терминала. Внизу будут перечислены команды-подсказки. Символ ^ стоящий перед буквой означает что чтобы выполнить эту команду, нужно нажать клавишу Ctrl и соответствующую букву.

    Добавьте следующие строки в файл

    Закройте и сохраните файл используя клавишное сочетание Ctrl+X (выйти) потом Y (да, сохранить) и Enter.

    Теперь подобный файл нужно положить еще и в папку Bar. Но вместо того, чтобы повторять описанные выше действия, мы отработаем новый навык — копирование. Для копирования существует команда cp. Скопировать index.html из foo в bar поможет такая конструкция:

    А теперь откройте свежескопированный файл в nano:

    Измените его содержимое, чтобы оно выглядело примерно так:

    Теперь, когда у нас есть две папки с тестовыми файлами, можно переключиться на настройку Apache.

    1.3. Настраиваем Apache

    1.3.1. Конфигурационный файл Apache

    Первым делом создадим новый конфигурационный файл, который будет указывать вебсерверу Apache где находятся файлы сайта, которые нужно обслуживать. Конфигурационный файл должен состоять из вашего имени пользователя на данном компьютере и расширения ‘.conf’. Например, у меня этот файл называется andrey.conf. Еще не знаете как узнать свое имя пользователя? Выполните в Терминале команду:

    Теперь нам нужно переместиться в директорию /etc/apache2/users и создать там .conf-файл. Apache будет его искать именно там. Переместитесь в эту папку командой cd:

    Здесь вы создадите файл username.conf, где username — это ваше имя пользователя. Для того чтобы создать файл по этому пути, потребуется использовать префикс sudo, поскольку эта часть файловой системы относится к системным файлам, и по умолчанию, пользователю не разрешается вносить в них изменения. Можете в этот раз не использовать touch, а просто указать после вызова текстового редактора nano имя нового файла:

    Еще раз проверьте что вместо username вы подставили свое реальное имя пользователя!

    Откроется новый пустой текстовый файл в редакторе nano, в который нужно добавить следующее содержимое:

    И снова замените username на ваше имя пользователя. Закройте Ctrl+X редактор, укажите сохранить (Y) документ, и нажмите Enter для подтверждения.

    Теперь подкорректируем права доступа, чтобы Apache мог прочитать этот новосозданный файл. Для изменения прав доступа воспользуйтесь командой:

    опять-таки, измените username на реальный. Не особо углубляясь в детали структуры прав доступа в Unix системах, вам нужно понимать, что три цифры ‘6’ ‘4’ ‘4’ указывают уровень доступа для Владельца (Owner) Группы (Group) и Прочих (Other). Цифра 6 для владельца указывает что владелец может читать и писать (read/write), 4 и 4 соответственно указывают, что группа и прочие могут лишь читать (read).

    Теперь, когда конфиг-файл создан, и у него установлены корректные права доступа, включим ключевые модули вебсервера Apache.

    1.3.2. Включаем модули в httpd.conf

    На следующем шаге нам нужно переместиться назад или вверх на один уровень, в папку /etc/apache2. Сейчас, вы наиболее вероятно находитесь в /etc/apache2/users (если не переходили никуда с прошлого шага). Чтобы переместиться на уровень вверх (перейти в родительскую папку), используйте команду cd и две точки вместо указания имени папки:

    Перешли? Проверьте, что вы находитесь в правильном месте командой pwd (сокращение от print working directory):

    Команда должна показать: /etc/apache2.

    В папке /etc/apache2 первым делом следует создать резервную копию существующего httpd.conf файла. Используем уже знакомую для копирования команду cp:

    Этой командой мы скопируем httpd.conf в новый файл с именем httpd.conf.bak. Резервная копия никогда не помешает, на случай если мы захотим вернуть все как было, или хотя-бы посмотреть синтаксис оригинального файла.

    Теперь, когда есть резервная копия, внесем необходимые правки в httpd.conf. Откроем его с помощью nano:

    В этом файле мы включим несколько модулей. ‘Включить’ означает раскомментировать строку с названием модуля. Комментарии в данном файле представляют собой такие значки: #

    Так как файл httpd.conf не маленький, найти в нем что-то может оказаться затруднительно. Поэтому можете использовать поиск, доступный по сочетанию клавиш Ctrl+W. В результате, следующие модули/строки должны быть раскомментированы:

    Когда уберете # и таким образом, активируете перечисленные выше модули, сохраните и закройте httpd.conf.

    1.3.3. Редактируем httpd-userdir.conf

    После того как мы обновили файл httpd.conf, нужно внести изменения в httpd-userdir.conf, который находится в папке extra:

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

    Теперь используя уже знакомый нам тектовый редактор nano, поработаем с httpd-userdir.conf:

    Раскомментируйте указанную ниже строку, удалив # перед ней:

    1.3.4. Перезагрузка Apache

    Внеся указанные выше изменения в:

    нужно перезагрузить Apache, чтобы изменения вступили в силу. Выполните для перезагрузки Apache команду:

    После перезапуска Apache можно проверить результат с помощью браузера (Safari, Firefox, или что вы там используете).

    1.3.5. Просмотр локальных веб-сайтов

    Перейдите по адресу http://localhost/

    username, только не забудьте поменять username на свое имя пользователя. Если все настроено верно, вы увидите содержимое папки Sites, среди которого будут созданные нами ранее

    /Sites/bar. Если щелкнуть на foo или bar, откроется заготовленная нами веб-страница которая выводит Hello World. Apache видит наличие html-файла по умолчанию, а именно index.html и при переходе в папку автоматически загружает index.html.

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

    2. Настройка виртуальных хостов — опционально

    Если вам приходится работать над несколькими проектами одновременно, или вы по каким-то другим причинам не хотите добираться до своих локальных сайтов, указывая несколько вложенных папок в строке адреса, типа http://localhost/

    username/foo или http://localhost/

    username/bar, можно настроить локальные доменные имена для каждого проекта. В таком случае сайт, размещенный в

    /Sites/foo будет доступен по адресу foo.localhost, а сайт из папки

    /Sites/bar будет доступен соответственно по bar.localhost. Так удобнее, правда?

    Использование виртуальных хостов позволяет описать несколько блоков VirtualHost, в каждом из которых будут указаны переменные ServerName — имя сервера/адрес сайта и DocumentRoot — путь к файлам сайта в файловой системе. Таким образом, Apache будет знать, что если пользователь зашел по адресу ServerName (напр. foo.localhost), то показать ему сайт из папки DocumentRoot (напр. /Users/john/Sites/foo).

    Обратите внимание: используя VirtualHosts, нам придется отказаться от индексированного представления на localhost, и нужно будет отредактировать hosts файл вашего Mac, добавив в него уникальные имена хостов для каждого проекта.

    Следуя хорошей традиции, создайте бекап файла описывающего виртуальные хосты — httpd-vhosts.conf. Этот файл располагается по адресу /etc/apache2/extra, и его копию мы сделаем уже знакомой нам командой cp:

    Теперь отредактируйте httpd-vhosts.conf, добавив блоки ‘VirtualHost’ для каждого из сайтов, в нашем случае — для foo.localhost и bar.localhost. Редактируем, как обычно, редактором nano:

    В результате у вас должен получиться файл httpd-vhosts.conf следующего содержания:

    Сохраните и закройте httpd-vhost.conf. Теперь нам необходимо внести изменения в файл /etc/hosts, добавив туда доменные имена foo.localhost и bar.localhost. Файл /etc/hosts очень важный. Он существует в любой операционной системе (путь может отличаться) и представляет собой локальный DNS. Именно его в первую очередь проверит браузер, чтобы узнать, не указан ли для запрашиваемого URL IP адрес. Если не указан — обратится к внешнему DNS, который указан в настройках сети.

    Будьте внимательны редактируя файл hosts. Добавьте ваши записи в низ файла и не изменяйте первых три строчки!

    Откройте файл /etc/hosts с помощью nano:

    Если вы ранее не вносили никаких правок в этот файл, он должен выглядеть так:

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

    Сохраните и закройте /etc/hosts.

    Прежде чем мы сможем проверить что мы понастраивали, нужно перезапустить Apache:

    После перезапуска Apache, заходим на foo.localhost и bar.localhost веб-браузером, оба сайта должны выдавать соответствующий index.html.

    3.0. Включаем модуль PHP — опционально

    Модуль PHP встроен в веб-сервер Apache на macOS Sierra, и чтобы его использовать, достаточно его просто включить. Если вы — PHP разработчик, то наверняка захотите активировать PHP на своем Mac. Обратите внимание, что macOS Sierra поставляется с PHP версии 5.6.3. И в этом руководстве мы просто активируем этот модуль. Если вам нужны новые возможности и улучшенная производительность PHP 7.2, придется обновить версию PHP на вашем Mac, но эта тема выходит за пределы этой статьи, поэтому, мы еще рассмотрим этот вопрос отдельно.

    Обратимся еще раз к файлу httpd.conf:

    Найдите и раскомментируйте в этом файле строку:

    Теперь (если перезапустить Apache), сервер сможет обрабатывать файлы с расширением .php. Apache будет передавать такой файл на обработку интерпретатору PHP, потом получать результат и отдавать его в ответ на HTTP запрос.

    3.1. Интерпретация PHP кода внутри HTML файлов

    Часто бывает ситуация, когда мы имеем дело не с чистыми .php файлами, а php код располагается в виде вставок в .html файлах. И он тоже должен быть как-то обработан. Чтобы реализовать это, внесем изменения в httpd-vhosts.conf:

    Добавьте следующий блок кода в самый верх файла:

    Теперь httpd-vhosts.conf будет выглядеть примерно так:

    И после всех этих изменений перезапустим Apache:

    3.2. Проверка работы PHP модуля

    А теперь проверим, все ли у нас корректно работает. Для начала создадим обычный .php файл:

    Поместите в него php-код следующего содержания или любой другой php-код:

    Сохраните и закройте. Теперь, при обращении по адресу foo.localhost/example.php, браузер должен отобразить надпись «Hello, PHP World!» в стиле соответствующем тегу H1.

    Также желательно протестировать как будет интерпретироваться PHP код, вставленный в HTML документ. Открываем на редактирование index.html:

    Добавим несколько строк PHP кода в самое начало файла, этот код будет задавать переменную $day, присваивая ей текущее значение дня недели. И потом в теле HTML документа мы выведем значение переменной $day:

    Когда вы обратитесь браузером по адресу foo.localhost, вы должны увидеть какой сейчас день недели с учетом часового пояса.

    На этом настройка Apache завершена, и ваш компьютер теперь представляет собой практически полноценный веб-сервер.

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

    Конечно, немаловажный вопрос о версии PHP. К сожалению, в Sierra используется уже немного подустаревший и в плане функционала и в плане производительности PHP 5.6.3. В High Sierra, насколько мне известно уже предустанавливается PHP 7.1. В любом случае, обновление до 7.2 крайне желательно, но эту тему мы рассмотрим уже в другой статье.

    Оставьте первый комментарий

    Оставить комментарий Отменить ответ

    Для отправки комментария вам необходимо авторизоваться.

    Источник

    Читайте также:  Арч линукс с графическим установщиком 2021
    Оцените статью