Как установить HTTP-сервер Apache на MacOS

Содержание
Последние версии macOS поставляются с предустановленным Apache 2.4. Но управлять им через homebrew сложно, поскольку Apple удалила некоторые необходимые скрипты из последних версий macOS. Это руководство поможет вам удалить установленный по умолчанию Apache из системы и установить Homebrew-версию Apache на вашу систему.
Предварительные требования
Перед началом установки сервера Apache (httpd) с помощью этого руководства вы должны иметь следующие предварительные условия.
- Терминал: У вас должен быть доступ к Mac Terminal и небольшие знания о работе с терминальным приложением. Войдите в систему Mac и откройте терминал
- Homebrew: Это популярный менеджер пакетов для операционных систем Mac. Он полезен для установки большинства программ с открытым исходным кодом, таких как Node. Руководство по установке Homebrew
Шаг 1 - Установка Apache на macOS
Мы будем использовать HTTP-сервер Homebrew. Поэтому убедитесь, что вы удалили встроенный сервер Apache, установленный в вашей системе. Вы можете сделать это, выполнив нижеупомянутую команду в терминале:
sudo apachectl stop sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Теперь используйте утилиту командной строки brew для установки последней версии HTTP-сервера Apache на вашу macOS.
brew install httpd

После завершения процесса установки настройте службу httpd на автоматический запуск при загрузке системы.
sudo brew services start httpd
Вы успешно установили веб-сервер Apache через Homebrew и настроили его на автоматический запуск с привилегированной учетной записью.
Вы можете попробовать зайти на ваш сервер в браузере, указав ему на http://localhost:8080, вы должны увидеть простой заголовок с надписью "It works!".

Шаг 2 - Настройка HTTP-сервера Apache
Веб-сервер Apache уже запущен на вашей системе macOS. Теперь вам нужно внести некоторые изменения в конфигурацию в соответствии с вашей локальной средой разработки. Программа установки создает конфигурационный файл /use/local/etc/httpd/httpd.conf, который необходимо отредактировать в текстовом редакторе и внести следующие изменения.
Установите порт Apache: Версия httpd в Homebrew использует порт 8080. Вы должны вручную изменить порт прослушивания с установленного по умолчанию 8080 на стандартный порт 80.
Find the line with Listen 8080 and change it to Listen 80
Измените корневую папку: Теперь настройте корень документа для Apache. По умолчанию корень документа установлен в "/usr/local/var/www". Вы можете оставить корень документа без изменений и поместить файлы вашего сайта в этот корень документа. Но я предполагаю, что вы хотите изменить корень документа и установить его в свой домашний каталог.
Измените этот параметр так, чтобы он указывал на каталог пользователя, где your_user - имя вашей учетной записи пользователя:
DocumentRoot /Users/rahul/Sites
Вам также необходимо изменить тег, настроенный прямо под строкой DocumentRoot. Его также следует изменить, чтобы он указывал на ваш новый корень документа:
В этом же блоке вы найдете опцию AllowOverride, установите ее в значение all, чтобы разрешить использование файла .htaccess в Apache.
<Directory /Users/rahul/Sites> [...] # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride all </Directory>
Включение модуля Rewrite: Также необходимо включить модуль mod_rewrite, удалив ведущий символ # из следующей строки. Найдите строку и обновите ее. Это позволит включить перезапись URL на Apache.
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
Настройка пользователя и группы для Apache: Поскольку вы настроили корень документа Apache на ваш домашний каталог. Вы столкнетесь с проблемами с разрешениями, потому что по умолчанию Apache запускается как демон пользователя и демон группы (возможно, имя_пользователя и группа - _www). Для персональных систем вы можете изменить их на соответствующие вашей учетной записи пользователя (замените имя_пользователя на ваше настоящее имя пользователя), с группой staff.
User user_name Group staff
Шаг 3 - Создание тестовой HTML-страницы на Apache
Давайте создадим папку Sites в вашем домашнем каталоге и создадим образец файла index.html для тестирования.
mkdir ~/Sites echo "Welcome" > ~/Sites/index.html
Перезапустите apache, чтобы убедиться, что изменения в конфигурации вступили в силу:
sudo apachectl -k restart
Теперь направьте браузер на http://localhost, где должен отобразиться только что созданный index.html. Все готово.
Шаг 4 - Управление службой Apache
На данном этапе вы успешно установили сервер Apache на macOS. Приведенные ниже команды помогут вам в любое время остановить, запустить и перезапустить службу Apache.
Остановить сервер Apache:
sudo apachectl stop
Запустить сервер Apache:
sudo apachectl start
Перезапустить сервер Apache:
sudo apachectl restart
Заключение
Apache - это веб-сервер, который предоставляет HTML-контент пользователям Интернета. Версия Apache для Homebrew по умолчанию работает на порту 8080, поэтому мы также включили шаги по изменению порта. Вы также можете изменить корень документа, чтобы использовать другое местоположение, отличное от того, которое используется по умолчанию. Это руководство помогло вам установить и настроить веб-сервер Apache в системе macOS.