- Для чего нужен веб-сервер Apache
- Открытие динамических страниц (PHP и другие)
- Доступ к сайтам с других компьютеров
- Изучение PHP и основ работы веб-сервера
- Веб-сервер для Windows
- Скачать Apache для Windows
- Официальный сайт Apache
- Как настроить Apache на Windows
- Что может веб-сервер в Windows
- Версии Apache для Windows
- Сборка Apache + PHP + MySQL + phpMyAdmin
- Как запустить Apache на Windows
- Настройка Apache на Windows
- Apache для Windows
- Веб-сервер Denwer (Denver) для Windows
- MiAl’s Server Pack 2
- Скачать веб-сервер для Windows
- Инструкция по использованию MiAl’s Server Pack
- 1. Что такое MiAl’s Server Pack?
- 2. Порядок работы.
- 3. Полное удаление сервера
- 4. Дисклеймер
- 5. Список изменений
Для чего нужен веб-сервер Apache
Веб-сервер нужен для работы веб-сайтов. На своём компьютере вы можете открыть веб-страницу (файлы с расширением .html и .htm) любым веб-браузером, даже если у вас не установлен Apache. Некоторые книги или офлайн версии сайтов распространяются как HTML документы, в которых можно переходить по ссылкам с одной страницы книги на другую — то есть получается, что сайты могут работать и без веб-сервера.
Отсюда возникает вопрос, для чего нужен Apache, в каких случаях нужно установить на своём компьютере веб-сервер? Чтобы вы сами ответили для себя на этот вопрос, я приведу случаи, без которых невозможно обойтись без Apache.
Открытие динамических страниц (PHP и другие)
Без веб-сервера возможна работа только сайтов полностью состоящих из статичных страниц, то есть из страниц, которые не меняются на стороне сервера. Самым частым примером динамически генерируемых страниц являются PHP страницы. К примеру, WordPress практически полностью работает на PHP и вам обязательно нужен веб-сервер, если вы хотите запускать сайты на подобных движках.
Исключением являются страницы, которые хоть и создаются динамически (меняется их содержимое), но которые работают на JavaScript. Код JavaScript работает прямо в браузере и поэтому не нужен веб-сервер для правильной работы таких страниц.
Доступ к сайтам с других компьютеров
Веб-сервер он не только передаёт в браузер веб-страницы. Ещё одна его важная функция — это прослушивать входящие соединения и передавать содержимое сайтов по сети. То есть если вы хотите сделать так, чтобы HTML-страница или ваш сайт открывались не только на вашем компьютере, но и на других, то вам опять же обязательно нужен веб-сервер.
Изучение PHP и основ работы веб-сервера
Если вы хотите научиться работать с веб-сервером, понимать, как именно сайты размещаются в Интернете, то вам поможет в этом ваш локальный веб-сервер Apache. На нём совершенно бесплатно, прямо на своём компьютере вы сможете тренироваться в настройке сервера и проверять работу ваших PHP скриптов.
Веб-сервер для Windows
Apache – это веб-сервер под Windows. На веб-сервере можно размещать сайты и открывать их на своём или на других компьютерах так, будто они находятся в Интернете.
Apache является бесплатным, у него открыт исходный код, сервер гибок в настройке.
Скачать Apache для Windows
Последней версией Apache для Windows является 2.4.46, она вышла 18 февраля 2021 года.
Ссылки для скачивания:
Убедитесь, что у вас установлена последняя версия Visual C++ Redistributable for Visual Studio 2015-2019, которая необходима для работы Apache в Windows (версия 14.28.29325.2 и выше):
Официальный сайт Apache
Официальным сайтом веб-сервера Apache является: https://httpd.apache.org/
Но данный сайт содержит только исходный код и не распространяет бинарные (исполнимые) файлы. Если вы не можете самостоятельно скомпилировать файлы из исходного кода, то вы можете скачать их с рекомендуемого сайта.
Официально рекомендованным источником исполнимых файлов является Apache Lounge. Именно с на его файлы даны ссылки чуть выше.
Как настроить Apache на Windows
Настройка Apache выполняется в текстовых файлах, а для запуска нужно использовать командную строку – для пользователей Windows это может оказаться непривычным. Ситуация осложняется тем, что подсказки в конфигурационных файлах на английском языке, а веб-сервер в случае ошибки выводит очень мало информации.
Если вам нужен только веб-сервер без дополнительных модулей, то вы можете ограничиться базовой настройкой.
Если вы хотите ещё быстрее получить готовый веб-сервер, то к вашим услугам сборки, которые включают все необходимые компоненты и настройки.
Особенностью Apache, PHP и других компонентов веб-сервера является то, что все эти программы являются портативными, т.е. вам достаточно скачать сборку, распаковать её, кликнуть батник для запуска служб и вы через секунду получаете рабочий, правильно настроенный веб-сервер на Microsoft Windows.
Что может веб-сервер в Windows
Веб-сервер на локальном компьютере может абсолютно всё, что умеют веб-сервера на хостингах. Веб-сервер подойдёт для разработки и тестирования сайтов и веб-приложений использующих, например, AJAX. Именно веб-сервер позволит вам работать со структурой веб-сайта так, будто бы он уже размещён на хостинге.
Вы можете подключат и использовать при тестировании и разработке:
- модули Apache (например, mod_rewrite)
- PHP (требуется дополнительная установка)
- базы данных (требуется дополнительная установка)
Версии Apache для Windows
В настоящее время актуальной веткой Apache является 2.4.*. Предыдущее поколение Apache 2.2.* является устаревшим и больше не поддерживается. Новые версии, исправления ошибок и патчи безопасности начиная с 2018 года выпускаются теперь только для Apache 2.4. Именная эта версия предоставлена для скачивания на этом сайте.
Сборка Apache + PHP + MySQL + phpMyAdmin
Если вы хотите в несколько кликов получить работающий веб-сервер Apache + PHP + MySQL + phpMyAdmin на Windows, то скачайте готовую сборку, которая включает полностью настроенный для Windows веб-сервер, который достаточно распаковать и запустить кликом по ярлыку.
Как запустить Apache на Windows
Веб-сервер Apache – это служба, которая работает в фоне и у которой нет графического интерфейса. Эта служба устанавливается и запускается в командной строке.
Если вам нужен только веб-сервер без дополнительных модулей, то вы можете ограничиться базовой настройкой.
Настройка Apache на Windows
На самом деле, базовая настройка веб-сервера крайне проста – необходимо только правильно указать путь до папки, в которой помещены веб-сайты – этого будет достаточно для запуска веб-сервера.
Кстати, в конфигурационном файле уже прописаны значения многих параметров по умолчанию. К примеру, по умолчанию корневой директорией является c:/Apache24. Поэтому если папку Apache24 из скаченного архива вы разархивируете в корень диска C, то вы можете вообще без настройки запустить веб-сервер следующей командой:
И по адресу http://localhost увидите стандартную страницу веб-сервера, которая сообщает, что он работает:
Кстати, для открытия командной строки в Windows используйте сочетание клавиш Win+x и в открывшемся окне выберите Windows PowerShell (администратор).
Настройка веб-сервера выполняется посредством редактирования текстового файла, который размещён в папке Apache24\conf\ и называется httpd.conf.
Этот файл состоит из директив с определёнными значениями. Эти директивы регулируют поведение веб-сервера. Но больше чем директив в этом файле комментариев – они начинаются с решётки (#) – комментарии нужны для человека, который настраивает веб-сервер. Сам сервер строки начинающиеся с # просто игнорирует. Т.е. вы можете просто удалить их.
Этот файл содержит не все возможные директивы – многие из них здесь отсутствуют, поскольку не требуются для большинства задач. Даже в этой заметки мы рассмотрим не все доступные в файле настройки – если описание чего-то пропущено, значит просто не нужно это трогать.
Как уже было сказано, важно установить путь до папки с веб-сайтами. Если она установлена неправильно (например, отсутствует на компьютере), то веб-сервер не запуститься.
Думаю, вы уже обратили внимание, что веб-сервер отличается от других программ для Windows. Если вы знакомы с Linux или другими аналогичными операционными системами, вам должна быть знакома работа в консоли и редактирование текстовых файлов. Пути до файлов тоже записываются не совсем обычно для Windows. Сейчас главное уяснить два правила:
- используйте абсолютные пути до файла (которые начинаются с буквы диска, затем следуют все вложенные папки), а не относительные – у сервера свои правила интерпретации относительных путей, поэтому вы можете не понять друг друга;
- всегда используйте прямые слеши, а не обратные (т.е., «c:/apache» вместо «c:\apache»).
Итак, откройте файл Apache24\conf\httpd.conf любым текстовым редактором (хоть Блокнотом) и вот мы уже готовы к настройке веб-сервера.
Первой идёт директива ServerRoot – это верхняя директория дерева, в которой хранятся файлы конфигурации сервера и журналов. Не добавляйте слэш на конец пути папки.
Значение по умолчанию устанавливается двумя директивами:
Первая директива присваивает значение переменной SRVROOT, которое по умолчанию «c:/Apache24». Вторая директива присваивает значение переменной $ настройке ServerRoot.
ServerRoot — это та папка, в которой находятся все файлы веб-сервера – поменяйте значение на то, куда вы распаковали файлы веб-сервера. Это можно сделать используя конструкцию из двух переменных:
Либо если вы не планируете снова использовать переменную $
Директива Listen позволяет вам привязать Apache к определённому IP адресу и/или порту. Значение по умолчанию:
Оно означает, прослушивать 80 порт на любом IP адресе (т.е. любом сетевом интерфейсе), доступном в вашей системе. Вы можете указать конкретный IP адрес, который нужно прослушивать и, следовательно, на запросы с которого отвечать:
Можно указать несколько портов:
Или несколько IP и портов:
Вы можете использовать любые сочетания, главное правило – порт на указанном интерфейсе (IP) не должен быть занят другой программой.
Значение по умолчанию вполне подходит для локального веб-сервера – т.е. здесь можно просто ничего не менять.
Далее идёт большой список модулей. Некоторые их них отключены (строки закомментированы, т.е. начинаются с #), а некоторые включены.
На самом деле, всё действительно необходимое уже включено – и для работы большинства веб-сайтов менять ничего не нужно – особенно на локальном веб-сервере. Но есть одно исключение – модуль mod_rewrite по умолчанию отключён. Это очень популярный модуль, например, все ЧПУ (понятные для человека адреса страниц) делаются с помощью него. Вы можете его включить, для этого достаточно найти строку:
и раскомментировать её, т.е. заменить на:
Директива ServerAdmin содержит e-mail администратора, этот адрес электронной почты пишется на некоторых страницах веб-сервера, которые автоматически генерируются в случае возникновения ошибок. Подразумеваются, что по этому адресу можно связаться с администратором.
Директива ServerName – это то, как сервер сам себя идентифицирует (называет). Для локального веб-сервера поменяйте строку
запрещает доступ к файловой системе веб-сервера (пока это не разрешено явно) и запрещает использовать файлы .htaccess (пока это не разрешено явно).
Далее идёт довольно объёмная конструкция, но если удалить из неё комментарии, то получается следующее:
DocumentRoot – это директория, где по умолчанию находятся сайты. По умолчанию именно там ищутся все пришедшие на веб-сервер запросы. Укажите здесь путь до корневой папки в веб-документами. Конечный слэш писать не нужно.
Конструкция … нам уже встречалась. Но здесь указывается конкретная папка, для который делаются настройки. Эти настройки перезаписывают общие, которые указаны ранее.
Пути до папок в DocumentRoot и Directory не забудьте поменять на свои!
Обратите внимание, что для установки настроек вновь используется переменная $ , значение которой было присвоено в самом начале. Если использовать синтаксис с $ , то корневая папка документов должна обязательно находится в корневой папке сервера. Я настраиваю сервер по-другому — у меня исполнимые файлы отделены от файлов сайтов, поэтому вместо переменной, можно просто прописать пути до нужной папки с сайтами:
Директива Options включает разные опции. По умолчанию указаны опции Indexes и FollowSymLinks. Первая (Indexes) означает показывать индексные файлы, если запрос не содержит имени файла. Допустим, пользователь открывает адрес http://localhost/site/, то если в этой папке есть индексный файл (например, index.html или index.php), то будет показан этот файл. Понятно, что если сделан запрос на определённый файл, например, http://localhost/site/page.html, то будет показана запрошенная страница.
Вторая опция (FollowSymLinks) означает следовать символьным ссылкам. Это что-то вроде ярлыков в Windows. В Linux с помощью таких ссылок можно собрать в одном сайте файлы, размещённые в различных папках файловой системы. На самом деле, для начинающих администраторов сервера это не очень нужно.
Директива AllowOverride установлена на None, это означает запрет использовать файлы .htaccess. На своём сервере я разрешаю файлы .htaccess (нужны для mod_rewrite, ограничения доступа), поэтому я заменяю её значение на All, получается так:
А директива Require all granted открывает посетителям доступ для веб-документов.
Я уже упомянул индексные файлы, перечень индексных файлов устанавливается конструкцией:
Там всего один файл — index.html. Можно дописать любое количество своих собственных. Я меняю:
Другие настройки обычно не требуется менять для локального веб-сервера.
Apache для Windows
Веб-сервер Denwer (Denver) для Windows
Все компоненты веб-сервера Apache являются портативными. Следовательно, если один раз их правильно настроить, то их можно переносить на другие компьютеры. Именно этот приём использовался в популярном Denwer, а также в XAMPP и всех других подобных сборках.
MiAl’s Server Pack 2
MiAl’s Server Pack – это «ванильная», с минимумом настроек сборка, включающая исключительно самые последние версии Apache + MySQL + PHP + phpMyAdmin. Особенностью сборки является то, что она не содержит каких-либо бинарных файлов кроме тех, которые идут с исходными компонентами веб-сервера. Изменения сделаны только в текстовых конфигурационных файлах. Для запуска служб используются два простейших пакетных файла.
Благодаря этому исключаются какие-либо несанкционированные изменения в файлах веб-сервера: это обеспечивает безопасность и гарантирует отсутствие ошибок.
Скачать веб-сервер для Windows
Данный сайт является официальным сайтом MiAl’s Server Pack 2 и настоятельно рекомендуется скачивать новые версии только отсюда.
Инструкция по использованию MiAl’s Server Pack
1. Что такое MiAl’s Server Pack?
MiAl’s Server Pack – это локальный сервер, полностью сконфигурированный и готовый к работе. Для начала работы, требуется только распаковать и запустить один скрипт. После этого на Вашем компьютере будет полностью рабочая и правильно настроенная связка Apache + MySQL + PHP + phpMyAdmin.
Версии программного обеспечения, включённого в сборку:
Ни один из данных компонентов не подвергался каким-либо изменениям, модификациям. Для настройки этих компонентов, были внесены изменения в конфигурационные файлы. В phpMyAdmin настроены «дополнительные возможности» ( подробности о «дополнительных возможностях phpMyAdmin см. https://hackware.ru/?p=21#9 ).
Данный пакет предназначен только для использования в качестве локального сервера!
Данные для авторизации
- MySQL: пользователь ‘root’, пароля нет.
- phpMyAdmin: пользователь ‘root’, пароля нет.
Планируется обновление данного пакета по мере выхода новых версий компонентов, входящих в него.
- Для работы требуется Windows (64-битная версия) выше Windows XP
- В распакованном виде, пакет занимает около 1 гигабайта, т. е. требуется более 1 гигабайта свободного места на диске.
- Также необхоодимы:
- C++ Redistributable Visual Studio 2017 ( https://aka.ms/vs/15/release/VC_redist.x64.exe )
- Visual C++ Redistributable for Visual Studio 2015 ( http://www.microsoft.com/en-us/download/details.aspx?id=48145 )
2. Порядок работы.
Содержимое архива (папку Server) необходимо распаковать в корень диска C.
Если вы не знаете, как открыть архив 7z, то используйте бесплатный архиватор 7-Zip.
После распаковки, перейти в каталог c:\Server\manage\ и запустить файл install_and_start_server.bat:
Всё! Сервер установлен и готов к работе! Для проверки работоспособности сервера, наберите в браузере http://localhost/
Выполнен вход в phpMyAdmin:
Каталог для сайтов: c:\Server\data\htdocs\
Если папку Server поместить на другой диск или переименовать её (либо иные папки в данном пакете), то сервер работать не будет. Т.к. в конфигурационных файлах прописаны абсолютные пути.
В каталоге c:\Server\manage\ имеется файл RUN.bat Данный файл включает в себя набор скриптов, которые позволяют:
- перезапустить сервер;
- удалить сервер;
- установить сервер;
- и пр.
3. Полное удаление сервера
Перейдите в каталог c:\Server\manage\ и запустите файл delete_server.bat:
Удалите каталог c:\Server.
4. Дисклеймер
Данная сборка распространяется «как есть». Без каких-либо гарантий.
Автор сборки: Алексей Милосердов
5. Список изменений
- возобновление активной поддержки пакета после почти трёхлетнего перерыва
- Apache обновлён до версии 2.4.33
- PHP обновлён до версии 7.2.5
- MySQL обновлена до версии 8.0.11
- phpMyAdmin обновлён до версии 4.8.0.1