Установка Apache на Windows. Установка Apache на Windows (7)

Веб сервер Apache достаточно популярен. Это бесплатное программное обеспечение с открытым исходным кодом. Устанавливается как правило на компьютеры с операционной системой UNIX семейства, но есть возможность установить на операционную систему семейства Windows.

Я нашел версию Apache 2.4.25, и устанавливал именно её на windows 7 x64 httpd-2.4.25-win64-VC11.zip . Там есть 32-х разрядная версия и 64-версия. На Windows 7 x64 можно установить обе версии, на 32-х разрядном Windows 7 будет работать только 32-х разрядная версия. Так что выбирайте в соответствии с вашими возможностями. Так же замечу, что исполняемые файлы скомпилированы в Microsoft Visual Studio 2012, я для их работы требуется установить распространяемый пакет Visual C++. Скачать его можно на сайте Microsoft vcredist_x64.exe . И выбирайте пакет соответствующей разрядности

Приступим к установке. Если не установлен пакет Microsoft, то устанавливаем. Это несложно, всё делается автоматически. Затем из zip архива извлекаем папку Apache24 и перемещаем в "C:\Program Files". Если у вас Windows x64, а сервер x86, то в папку "C:\Program Files (x86)".

Я видел в интернете советы что нужно создать папку в корне диска C: , и распаковать в неё содержимое архива, но я придерживаюсь иного мнения. Для программ есть папка "C:\Program Files". Для тех кто возражает, дескать конфигурационные файлы глубоко закопаны и для их редактирования потребуются права администратора, отвечаю: проблемы не существует. Создаете ярлык для блокнота ("C:\Windows\notepad.exe"), в свойствах ярлыка после пути блокнота дописываете в двойных кавычках полный путь к файлу конфигурации ("C:\Program Files\Apache24\conf\httpd.conf"), и в дополнительных свойствах ставите галку "запуск от имени администратора". Ярлык помещаете в удобное для вас место, по клику будет запущен блокнот с правами администратора, и он откроет конфигурационный файл сервера. Открыв его нужно немного поправить .

После правки httpd.conf нужно создать командный файл, записать в него

"C:\Program Files\Apache24\bin\httpd.exe" -k installи запустить его от имени администратора. Эта команда серверу зарегистрировать себя как службу windows, которая будет автоматически запускаться при старте системы. Так же можете в автозагрузку поместить маленькую программу помощник "C:\Program Files\Apache24\bin\ApacheMonitor.exe". Она находится в трее, показывает состояние службы, и позволяет запускать, останавливать, перезапускать службу apache. Перезапускать службу apache нужно после каждого редактирования конфигурационных файлов чтобы изменения вступили в силу.

Если командный файл выполнен успешно и служба apache заработала, то можно в браузере набрать http://127.0.0.1 или http://localhost, браузер откроет файл "C:\Program Files\Apache24\htdocs\index.html", в котором единственная строка "It works! ". Если браузер смог это отобразить, значит сервер работает.

Конечно место по умолчанию для htlm документов, которые будут обрабатывать веб сервер не очень удобное, но это не имеет значения. Дело в том что apache умеет содержать множество виртуальных хостов, каждый из которых может быть индивидуально настроен. Сторонники денвера ставят в заслугу способность денвера содержать несколько разных сайтов, но это заслуга именно сервера apahce, который встроен в денвер. У нас же полноценный сервер, работающий как служба windows. И теперь самое заняться созданием

Ниже я написал инструкцию как на на локальном компьютере с Windows 7 — настроить сервер Apache и установить на него PHP, MySql и phpMyAdmin.

Установка Apache

Скачиваем дистрибутив с сервером Apache с сайта http://httpd.apache.org/download.cgi . Выбираем версию 2.2.22 и скачиваем установщик для windows. На домашнем компе вам вряд ли понадобится SSL, выбираем — «Win32 Binary without crypto (no mod_ssl) (MSI Installer) «.

Перед установкой отключите скайп, или в настройках скайпа отключите использование 80-го порта, так как это будет помешать установке.

Устанавливаем Apache запуская файл инсталяции. Все шаги при установке — стандартные.

Нажимаем Next.

Соглашаемся с лицензией.

Воводим данные во все три текстовых поля. Можно ввести несуществующий домен типа test.test или example.com. Эти данные нужны для создания базового конфигурационного файла. Под текстовыми полями одна из самых важных настроек - установить Apache как службу или как обычную программу. Выбираем «for All Users, on port 80, as a Service - Recommended» - установить как службу.

Выбираем Custom (выборочная установка).

Выбор компонентов и места установки. Можно оставить все значения по умолчанию.

Жмем Install.

Завершаем установку.

Установка завершена. В трее появится значок Apache, с помощью которого можно быстро остановить/запустить.

Проверяем работоспособность. Зайдите в браузере по адресу http://localhost/ ю Если все сделано правильно вы увидите надпись «It Works!». Поздравляю, первый шаг закончен успешно.

Примечание.

Рекомендую сразу включить поддержку ЧПУ ссылок, для этого раскомментируйте строку LoadModule rewrite_module modules/mod_rewrite.so в файле httpd.conf . Он находится в папке conf в месте куда у вас установился Apache.

Было так:
{codecitation}#LoadModule rewrite_module modules/mod_rewrite.so{/codecitation}

Должно стать так:
{codecitation}LoadModule rewrite_module modules/mod_rewrite.so{/codecitation}

Здесь и в дальнейшем, раскомментировать — значит убрать знак комментария — #, который находится в начале строки.

Продолжение следует.

Выбираем последнюю версию (на момент написания этой статьи — 2.2.17) и переходим к списку дистрибутивов. На домашнем компе вам вряд ли понадобится SSL, поэтому скачиваем версию Win32 Binary without crypto (no mod_ssl) (MSI Installer).

Теперь запускаем установщик (пользователь должен обладать правами администратора). В начале ничего интересного — просто экран приветствия:

Второй этап — соглашаемся с условиями лицензии:

Третий этап — несколько вводных слов от разработчиков. Сразу жмем Next:

Четвертый этап. Здесь надо ввести данные во все три текстовых поля. Можно ввести несуществующий домен типа test.test или example.com. Эти данные нужны для создания базового конфигурационного файла. Под текстовыми полями одна из самых важных настроек — установить Apache как службу или как обычную программу. Выбираем «for All Users, on port 80, as a Service — Recommended» — установить как службу:

Тип установки. Выбираем Custom (выборочная):

Шестой этап. Выбор компонентов и места установки. Я оставил все значения по умолчанию:

Седьмой этап. Все готово к установке. Нажимаем Install:

Завершаем установку (Finish):

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

Проверяем работоспособность. Открываем браузер, и в адресной строке вводим http://localhost/. Если все правильно, должна открыться страница с надписью It works!

Чтобы сервер был доступен не только на локальном компьютере, но и из вне, необходимо открыть на вход порт TCP 80 в брандмауэре Windows.

Открытие порта в брандмауэре Windows

Открываем Пуск -> Панель управления -> Система и безопасность -> Брандмауэр Windows. В левой колонке кликаем по ссылке «Дополнительные параметры». В открывшемся окне также в левой колонке кликаем по «Правила для входящих подключений» и затем уже в правой колонке «Создать правило…»:

Откроется мастер создания правила. Тип правила выбираем «Для порта»:

Протоколы и порты. Протокол TCP. Ниже выбрать опцию «Определенные локальные порты», и справа в текстовом поле ввести номер порта — 80:

Действие. Выбираем «Разрешить подключение»:

Профиль. Оставляем по умолчанию (отмечены все три опции: доменный, частный, публичный):

В конце концов вводим имя созданного правила. Например Apache Web Server:

На этом все. Нажимаем Готово. Теперь можно попробовать подключиться с другого компьютера.

Напоминаю, что для подключений к серверу не только из локальной сети, но и из Интернет, на роутере (если он есть) необходимо настроить форвардинг 80-го порта (port forwarding или еще это часто называют virtual server).

Установка PHP (ручная)

Скачиваем последнюю версию PHP (5.3.5 на момент написания) с сайта: http://windows.php.net/download/ . Здесь доступно сразу несколько версий:

  1. VC9 x86 Non Thread Safe — для установки на IIS в режиме FastCGI.
  2. VC9 x86 Thread Safe — ???
  3. VC6 x86 Non Thread Safe — для установки на Apache в режиме CGI/FastCGI.
  4. VC6 x86 Thread Safe — для установки на Apache в режиме модуля — наш выбор.

Т.к. мы затеяли установку в ручном режиме, скачиваем zip-архив.

Содержимое архива распаковываем в директорию установки. Я выбрал C:\Program Files\PHP.

Переходим в эту директорию. В корне установки вы найдете два файла php.ini-development и php.ini-production. Эти файлы содержат базовые настройки. Первый файл оптимизирован для разработчиков, второй для рабочих систем. Основное отличие — в настройках для разработчиков разрешен вывод на экран ошибок, тогда как для рабочих систем вывод ошибок запрещен из соображений безопасности.

Итак, выбираем нужный вам файл (я выбрал php.ini-development), открываем его и сохраняем в ту же папку под именем php.ini. Эту операцию можно проделать в обычном блокноте, но все же лучше использовать редактор поудобнее, например notepad2 .

Теперь в php.ini необходимо внести несколько изменений:

  1. Найти опцию extension_dir (пользуйтесь поиском CTRL+F) и изменить путь к папке ext в соответствии с путем установки PHP. У меня это выглядит так: extension_dir = «c:\program files\php\ext»
  2. Найти опцию upload_tmp_dir. Здесь надо указать путь к временной папке. Я выбрал c:\windows\temp. Всё вместе: upload_tmp_dir = «c:\windows\temp»
  3. Найти опцию session.save_path. Здесь также требуется указать путь к временной папке: session.save_path = «c:\windows\temp»
  4. Перейдите к разделу Dynamic Extensions. Здесь необходимо раскомментировать строки (убрать точку с запятой в начале), соответствующие модулям PHP, которые вам необходимы для работы. Базовый набор модулей может выглядеть примерно так: ;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_phar.dll ;extension=php_pspell.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_soap.dll extension=php_sockets.dll ;extension=php_sqlite.dll extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll extension=php_xsl.dll extension=php_zip.dll

Теперь переходим к настройкам Apache.

Открываем папку установки Apache (по умолчанию C:\Program Files\Apache Software Foundation\Apache2.2\). Открываем папку conf. Открываем файл httpd.conf.

Переходим в конец файла и дописываем туда следующие строчки:

# Charset AddDefaultCharset windows-1251 # PHP LoadModule php5_module "c:\program files\php\php5apache2_2.dll" PHPIniDir "c:\program files\php" AddType application/x-httpd-php .php

Путь к папке php указываете тот, который вы выбрали в процессе установки.

В том же файле находим следующие строки:

DirectoryIndex index.html

Перед index.html дописываем через пробел index.php. В итоге получается:

DirectoryIndex index.php index.html

Чтобы изменения вступили в силу, перезапускаем службу Apache. Если служба перезапустится — это хороший знак. Если нет — ищите ошибки в конфигурационных файлах. Особенно внимательно проверьте все пути.

Чтобы убедиться в работоспособности PHP, откройте директорию установки Apache, далее откройте папку htdocs (здесь содержаться файлы веб-сайта по умолчанию). Создайте в этой папке файл index.php со следующем содержанием:

Теперь откройте в браузере http://localhost/. Если все нормально, вы увидите похожую страницу:

Если вы видите страницу с надписью «It works!», попробуйте обновить страницу с помощью CTRL+F5.

Установка MySQL

Вынесена в отдельную статью.

1.3) В корне диска E: создаем две папки iSites (тут будут лежать наши сайты) и iLogs (тут будут жить общие логи сервера).
1.4) В папке G:\iSites создаем два подкаталога localhost и testru и далее в каждом из них свои подкаталоги www ,log и ssl

2) Теперь надо скачать бинарники Apache. Все! Приехали! Больше ни каких установщиков нет! Все по взрослому:)

Для того чтобы чтобы скачать идем сюда http://httpd.apache.org/download.cgi и видим примерно это (зависит от даты когда вы будете читать эту мою статью:)):

На текущий момент последняя версия Apache 2.4.18. После того как нажмем на указанную ссылку попадаем вот сюда:

12.1) Разархивируем содержимое архива в каталог D:\iServer\PHP

12.2) Прикручивать PHP к Apache будем как модуль Apache. Для этого идем в каталог E:\iServer\Apache\conf , и добавляем в файлик httpd.conf в окончание блока инструкций LoadModule две строки:
LoadModule php7_module "D:/iServer/PHP/php7apache2_4.dll"
PHPIniDir "D:/iServer/PHP"

12.3) Находим в файлике httpd.conf инструкции AddType, в конец этого блока вставляем инструкцию:
AddType application/x-httpd-php .php

12.4) Находим в файле httpd.conf блок инструкций DirectoryIndex . И добавляем в инструкцию DirectoryIndex указание на файл index.php . Чтобы в конечном виде инструкция выглядела так:
DirectoryIndex index.html index.php

12.5) В файле httpd.conf в секцию AddHandler добавляем строку AddHandler application/x-httpd-php .php

12.6) Теперь настала очередь конфигурить файл php.ini. Для этого переименовываем или копируем файл php.ini-production (в каталоге D:\iServer\PHP ) в файл php.ini .

12.7) В файле php.ini раскоментируем строку extension_dir = "ext" и необходимые вам расширения

12.8) Находим в файле php.ini строку short_open_tag = Off . И приводим ее к виду short_open_tag = On

12.9) Создаем в каталоге E:\iSites\localhost\www файлик phptest.php и пишем в нем следущий код:
phpinfo();
?>

Сохраняем файлик.

12.10) Останавливаем и снова запускаем Apache через консоль управления Apache. После перезапуска Apache можно открыть окно управления сервисом Apache дважды кликнув по иконке в трее. Должны увидеть следующее окошко:

Обратите внимание что теперь с версией Apache, так же указывается и версия PHP.

12.11) Тестируем работу PHP. Набираем в браузере http://localhost/phptest.php и видим следующую картинку и радуемся жизни. PHP заработал:

12.12) Еще для теста включим функции PHP для работы с графикой. Редактируем файлик D:\iServer\PHP\php.ini . Находим строку extension=php_gd2.dll и раскоментируем ее. Перезапускаем Apache.

В каталоге G:\iSites\localhost\www создаем файлик gdtest.php и вводим следующий код:

$pic=imagecreate(350,100);
$piccolor=imagecolorallocate($pic, 255,255,255);
$textcolor=imagecolorallocate($pic, 0,0,0);
$linecolor=imagecolorallocate($pic, 0,0,255);
$text="GD test successful - gdtest.php!";
imagerectangle($pic, 1,99, 349,0, $linecolor);
imagestring($pic,5,30,40, $text, $textcolor);
header("content-type: image/png");
imagepng($pic);
imagedestroy($pic);
?>

Вводим в браузере адрес http://localhost/gdtest.php и видим:

Если не видим, то как обычно курим мануал до полного просветления:)

13) Теперь настроим rewrite_module , оч полезная штука:). В файле httpd.con f расскомментируем строчку

LoadModule rewrite_module modules/mod_rewrite.so


AllowOverride none
Require all denied

И заменяем в ней строку AllowOverride None на строку AllowOverride All
Затем чуть ниже так же будет просто строка AllowOverride None ее надо поменять на AllowOverride All
Это включает обработку ВСЕХ параметров ВСЕХ.htaccess во всех каталогах.

Теперь проверяем работу модуля rewrite. Рестрартуем Apache

В каталоге E:\iSites\localhost\www создаем файлик .htaccess и в него вносим одну строку

эта строка перенаправляет с файла index.html на сайт ya.ru

В браузере просто набираем localhost и нас должно перебросить на страничку ya.ru

Если сработало, то все настроили правильно. Ну а если нет, то ищем где накосячили.

14) Устанавливаем MySQL. Идем сюда и качаем установщик mysql-installer-community-5.7.11.0.msi . Стоит обратить внимание что хоть файл msi 32 разрядный, но он устанавливает обе версии x32 или x64 в зависимости от платформы . И так, клацаем по нему и понеслась установка…

Затем видим это и начинаем выбирать нужные вам компоненты и удалять не нужные…

Я выбрал следующие компоненты:

Затем жмем Advanced Options…

И выбираем куда будет установлен MySQL server и где будут лежать его базы:

Жмем ОК и Next и видим что установщику для работы Workbench нужен редист. Но как он сообщает он сам попробует его установить

Жмем Execute и видим:

Ну и ставим редист … и теперь у нас все хорошо

И жемем Execute…

Настало время сконфигурировать MySQL…

Ну и жмем Execute…

После нажатия на Finish запуститься Workbench…

Подключимся с его помощью к MySQL

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

14.1) Чуть чуть донастроим MySQL. По умолчанию он хранит временные файлы на системном диске , что я считаю не есть гуд. Поэтому переносим временные файлы в другое место. Для этого в файле E:\MySQLdb\my.ini в секции добавляем строку tmpdir=E:/MySQLtemp . Естественно каталог E:\MySQLtemp должен уже быть создан. Перезапускаем MySQL сервис и наслаждаемся видом:

14.2) Проверяем работу MySQL (пока отдельно без привязки к Apache и PHP). Даем из командной строки в директории D:\iServer\MySQL\bin команду

mysql.exe -h localhost -P 3306 -u root -p

вводим пароль и даем следующую команду

show databases;

15) Прикручиваем MySQL к Apache, хотя вернее сказать к PHP, ну а он уже прикручен к Apache. Вот такой паровозик получается. Итак редактируем файлик D:\iServer\PHP\php.ini . Находим в нем строчки
extension=php_mysqli.dll
extension=php_pdo_mysql.dll

и раскомментируем их. Затем находим строку mysqli.default_port = и приводим ее к виду mysqli.default_port = 3306 . Далее находим строку mysqli.default_host = и приводим ее к виду mysqli.default_host = localhost

Перезапускаем Apache.

В каталоге E:\iSites\localhost\www создаем файлик mysqltest.php и вводим туда следующий код:

try {
$DBH = new PDO("mysql:host=localhost", "root", "ВАШ ПАРОЛЬ");

foreach($DBH->query("SELECT CURDATE()") as $row) {
echo "";
echo "";
}

}
catch(PDOException $e) {
echo $e->getMessage();
}
?>

В браузере вводим адрес http://localhost/mysqltest.php и если все сделали правильно, то видим текущую дату. Это значит что PHP может работать с MySQL.

Подведем небольшой итог. Сейчас у нас работает по Windows Server 2008R2 x64 Apache 2.4 x64 + PHP 7.0.3 x64 + MySQL 5.7.11 x64. Все это дело заняло на диске D: достаточно места:

Сравните с тем свободным местом на диске D: что было в начале.

Поэтому заранее планируйте пространство на ваших дисках.

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

16) Теперь остается только сделать чтобы сервис Apache работал не под системной учеткой, а под обычным пользователем. По умолчанию, при установке, сервис Apache запускается под пользователем SYSTEM , который имеет в системе максимальные права. Это не есть гуд. Сейчас будем исправлять эту ситуацию.

16.1) Создаем и настраиваем учетную запись под которой будем запускать Apache.

  • создаем учетную запись iUser и назначаем ей пароль срок действия которого ни когда не истекает
  • проверяем чтобы она входила только в группу пользователи
  • запрещаем для пользователя iUser локальный вход и выставляем право работать в режиме операционной системы и вход в качестве службы через оснастку gpedit.msc

  • Даем учетной записи iUser право на запись в каталоги необходимые для работы Apache:
    E:\iLogs – общие логи Apache
    В каталоги лог файлов сайтов. В нашем случае: E:\iSites\localhost\log и E:\iSites\testru\log
  • В будущем если понадобятся разрешения на запись в какую либо папку или файл вашего сайта, то эти разрешения необходимо добавить. Но на большинство файлов вашего сайта не должно быть разрешения на запись. И тем более на файл.htacess
  • Перезапускаем службу Apache2.2
  • Ну и проверяем работу зайдя по адресу http://localhost

Если сделали все правильно, то все должно работать.

17) И так у нас все работает хорошо локально. А что если попробовать подключиться к нашему веб серверу по сети? И вот тут сюрпрайз:) Ни кто не сможет подключиться, так как на Windows Server 2003R2, по умолчанию, этот порт закрыт файрволом. Поэтому надо создать правило разрешающие входящее подсоединение к 80 порту.

18) Запрещаем выдавать Apache свою версию и версию PHP. Эта информация может позволить точно узнать уязвима ваша версия Apache и PHP или нет. Лучше это отключить, так как любой, даже самый простой сканер вам покажет эти данные:

Кстати, тут так же видно что Location у нас http://ya.ru . Это как раз сработал наш mod_rewrite – еще одна защита.

18.1) Чтобы запретить Apache показывать свою версию и версию PHP делаем следующее:

  • В файле раскоментируем строку Include conf/extra/httpd-default.conf
  • В файле D:\iServer\Apache\conf\extra\httpd-default.conf ищем параметр ServerTokens и меняем его значение с Full на Prod и перезапускаем Apache.

И теперь у нас Apache показывает только это:

Согласитесь это уже приятней:) ?

Для полного счастья осталось только рассказать как прикрутить к Apache SSL сертификаты для виртуальных сайтов. Но об этом в другой статье. Хотя я уже про это писал . Но времена меняются и сейчас все чуть по другому, но суть от этого не поменялась.

andew

2016-12-05T17:32:10+00:00

2017-10-16T18:32:08+00:00

6063

В статье описана портативная установка WEB сервера Apache на Windows из zip архива, включая все детали и шаги, такие как поиск и получение актуальной версии дистрибутива Apache для Windows, структура каталогов сборки, настройка Apache перед запуском, тестирование http и https соединений, инсталляция Apache как системной службы Windows. Следуя скринкасту и инструкциям из статьи вы сможете самостоятельно организовать полноценный WEB сервер Apache на Windows и использовать его как для WEB разработки, так и для хостинга своих сайтов.

Apache на Windows

Apache - наиболее распространенный WEB сервер, который используется на многих хостингах и платформах и прекрасно справляется со своими обязанности для мелких и средних проектов и WEB сайтов. Так же, Apache поддерживается практически всеми хостинг провайдерами и часто предоставляется уже преднастроенным пользователю. Apache является открытым программным обеспечением, не требует платы за использование и очень хорошо сочетается с PHP языком программирования, CMS и сайтами, написанными на PHP , за счет встроенной поддержки и интеграции с PHP , т.к. Apache , в первую очередь, предназначен для отдачи динамического содержимого. Долгое сотрудничество Apache и PHP делает связку WEB сервера Apache с языком программирования PHP отлаженной, проверенной временем и хорошо настраиваемой платформой для веб приложений, базирующихся на PHP . Многие, достаточно крупные WEB проекты используют именно Apache в связке с PHP CMS . Особенно привлекает в Apache его доступность и простота, в сочетании с большой гибкостью и функциональностью, наличие огромного количества документации и примеров по его настройке и эксплуатации.

Несмотря на то, что Apache преимущественно используется на Unix и Linux системах он, с тем же успехом и без потери в функциональности, может использоваться и на Windows . Использовать Apache на Windows можно как для WEB разработки, так и для полноценного хостинга сайтов на PHP CMS . Однако, на мой взгляд, наиболее удобно использовать Apache на Windows именно тем, кто ведет PHP веб разработку и тестирование CMS и при этом работает на Windows . Например, если вы постоянно работает на Windows , но вам нужно развернуть и протестировать сайт на PHP CMS, например, WordPress , Joomla или Yii .

В таком случае у вас есть несколько выборов:

  • виртуальная машина VM с Linux , что затратно по времени развертывания и потреблению ресурсов системы;
  • различные сборки Win+AMP ;
  • самостоятельно установить все необходимы компоненты Apache , MySQL , PHP на Windows и настроить, как если бы это было на Linux .
  • Больше вариантов смотри в статье: " "

Использовать виртуальную машину с Linux это очень хороший вариант, но он не всегда удобен, т.к. сама по себе, работающая VM , будет забирать у вашей системы ресурсы, и при слабом железе вы столкнетесь с тормозами, что не добавить комфорта в работе. Так же, нужно будет полностью настроить Linux на VM как WEB сервер. Однако если ваш PC достаточно мощный для такого варианта, то такой подход будет, все же, лучшим решением.

Вариант использования уже готовых сборок Win+AMP тоже не лишен недостатков. Главный недостаток таких сборок в том, что они предлагают свою систему конфигурации Apache , MySQL и PHP , которая часто сильно отличается от нормального подхода при настройке Apache на реальном Linux сервере. Поэтому эти сборки, предлагая вроде бы как облегчение в конфигурации Apache, на самом же деле еще больше запутывают и ломают стандартный поход к конфигурации WEB сервера. Еще одни из недостатков готовых сборок Win+AMP - это привязанность к сайту разработчиков этих сборок, необходимость регистрироваться для получения дополнительных компонентов, а иногда и делать оплату или терпеть рекламу. И самое главное в том, что работая с такими сборками, трудно получить правильное представление о настройке Apache , MySQL и PHP , как это выполнялось бы на реальном Linux сервере. Соответственно, когда придется настраивать Apache и другие компоненты LAMP на реальном Linux сервере, придется заново переучиваться уже на правильные методы и подходы настройки и конфигурации Apache и других компонентов LAMP путем внесения изменений в конфигурационные файлы.

Что делать, если нет желания вникать в системы конфигурации этих сборок, a хочется настраивать и использовать web сервер Apache точно так же, как это делается на Linux сервере, т.е. использовать правильный и естественный подход правки конфигурационных файлов. Именно в этой ситуации, когда вы хотите работать с Apache на Windows точно так же, как и на Linux , самостоятельная, отдельная установка Apache и будет полезна и целесообразна, тем более, что делается это достаточно легко и стандартно, а настройка выполнятся точно также как на Linux сервере.

Как добавить поддержку PHP как обработчика сценариев в Apache на Ubuntu или Windows детально описано в статье Установка PHP7 на Windows в разделе Настройка .

Portable Apache на Windows

Apache не предоставляет официальных сборок под Windows , но есть исходники сервера и есть люди, которые делают и выкладывают сборки web сервера Apache для операционный системы Windows . В примерах этой статьи мною будет использоваться для получения таких сборок Apache для Windows сайт: Apache Haus - Your place for the Apache Server and Modules on Windows , на котором размещены для свободного скачивания сборки Apache для Windows на странице загрузки .

В целях безопасности и предотвращения заражения системы вирусами и троянами, рекомендую скачивать дистрибутивы только из официальных источников. Так же отдавайте предпочтение zip архивам для ручной инсталяции. И даже в этом случае, проверяете скачанные файлы актуальным антивирусом. На своем опыте неоднократно убедился, что в сети нередко предлагают дистрибутивы в виде .exe архива, который содержит вирусы или трояны .

Выбор сайта Apache Haus Downloads , как поставщика дистрибутива Apache , мною сделан не случайно по следующим причинам:

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

В примерах этой статьи будет выполнена инсталляция сборки Apache 2.4.23 x64 , в состав которой входит: OpenSSL 1.0.2j, nghttp 1.15.0, Zlib 1.2.8 (mod_deflate), PCRE 8.39, APR 1.5.2, APR-Util 1.5.4, IPv6 and TLS SNI enabled на операционную систему Windows7 x64 . Данная сборка выполнена с применением Visual Studio 2015 с использованием пакета VC14 - Visual C++ 2015 x64 Redistributable Package , который должен быть установлен в вашей системе. Компоненты VC14 , обычно уже имеются в системе, но если они не установлены, то скачать VC14 для инсталляции можно на официальном сайте Microsoft по ссылке : .

ШАГ 1 развертывание дистрибутива Apache

Выбор каталога установки Apache

Сборка Apache 2.4.23 x64 от Apache Haus поставляется в zip архиве и не имеет инсталлятора Windows, поэтому считается портативным (portable ) вариантом дистрибутива Apache . Portable версия имеет ряд удобств и позволяет разместить дистрибутив в любом каталоге файловой системы и самостоятельно настроить запуск Apache так как вам нужно.

Рекомендую для разрешения дистрибутива Apache выбрать каталог, путь к которому будет содержать только EN символы и не будет иметь пробелов, т.к. этот путь станет для Apache значением ServerRoot директивы, в которой задается домашняя директория WEB сервера.

В примерах этой статьи и скринкаста дистрибутив Apache будет развернут в директорию "Z:\WebDevelopment\Apache24" и, соответственно, ServerRoot директива будет определена как "Z:/WebDevelopment/Apache24" .

Формат значения пути в директиве ServerRoot следующий:

  • слеши прямые и одинарные;
  • завершающего слеша нет;
  • если есть пробелы, то путь должен быть в кавычках ("path_to" ),
  • на Linux значение чувствительно к регистру символов.

Структура дистрибутива Apache

Сборка Apache 2.4.23 x64 от Apache Haus имеет следующую структуру каталогов:

|Apache24 ....................Домашняя директория Apache - ServerRoot |-- bin ..................Директория с бинарниками Apache | `-- ... | `-- ApacheMonitor.exe...Программа монитор для управления Apache как Windows службой | `-- httpd.exe...........Главный исполняемый файл web сервера Apache | `-- ... |-- cgi-bin .......Директория обработчика для CGI program |-- conf ..........Директория с конфигурационными файлами Apache | `-- extra ....Директория с дополнительными конфигами Apache, которые подключаются в httpd.conf | | `-- httpd-ahssl.conf | | `-- httpd-autoindex.conf | | `-- httpd-dav.conf | | `-- httpd-default.conf | | `-- httpd-deflate.conf | | `-- httpd-info.conf | | `-- httpd-languages.conf | | `-- httpd-manual.conf | | `-- httpd-mpm.conf | | `-- httpd-multilang-errordoc.conf | | `-- httpd-proxy-html.conf | | `-- httpd-ssl.conf | | `-- httpd-userdir.conf | | `-- httpd-vhosts.conf | `-- original ........Директория исходных конфигов от Apache, добавлена в сборку для справки | `-- ssl .............Директория для SSL сертификатов | `-- charset.conv ....Конфиг установки кодировки, подключаются в httpd.conf | `-- httpd.conf ......Главный конфиг Apache в данной сборке от Apache Haus | `-- magic ...........Конфиг скриптов для модуля mime_magic | `-- mime.types ......Конфиг установки MIME типов | `-- openssl.cnf .....Конфиг OpenSSL |-- error ................Директория с конфигами страниц ошибок для Apache |-- htdocs ...............Директория и хост по умолчанию с документацией от Apache Haus |-- icons ................Директория с иконками |-- include ..............Директория служебных скриптов Apache |-- lib ..................Директория вспомогательных библиотек |-- logs .................Директория файлов журналов Apache |-- modules ..............Директория модулей Apache |-- ABOUT_APACHE.txt |-- CHANGES.txt |-- INSTALL.txt |-- LICENSE.txt |-- NOTICE.txt |-- OPENSSL-NEWS.txt |-- OPENSSL-README.txt |-- README.txt |-- readme_first.html......Краткий help от Apache Haus, лежит в корне zip архива

Данная сборка Apache 2.4.23 x64 от Apache Haus для Windows является полным дистрибутивом WEB сервера и содержит все необходимые исполняемые и конфигурационные файлы для полноценной работы Apache как веб сервера, включая и использование https соединения. Соответственно, установил эту сборку и настроив ее, вы получаете полный, со всеми модулями, web сервер Apache, который можете использовать не только для разработки и тестирования, но и для продуктивного хостинга сайтов на Windows .

В zip архиве данной сборки так же вложен файл readme_first.html , который содержит краткое описание компонентов данной сборки и их версий. Так же, в этом файле приведены краткие инструкции от Apache Haus по установке Apache , VC14 , инсталляции Apache как системной службы и даны необходимые ссылки.

ШАГ 2 настройка Apache

Все конфигурационные файлы WEB сервера Apache данной сборки расположены в каталоге /Apache24/conf . Главным конфигом является файл /Apache24/conf/httpd.conf .

Для успешного запуска Apache , необходимо выполнить всего одну настройку в httpd.conf конфиге сервера, в строке №38, указать директиву ServerRoot , которая определяет путь к домашней директории вашей инсталляции Apache .

Указание ServerRoot

Для примеров этой статьи директива ServerRoot будет иметь значение:

Define SRVROOT "Z:/WebDevelopment/Apache24" ServerRoot "${SRVROOT }"

здесь в httpd.conf задание ServerRoot выполнено не напрямую, а через определение переменной SRVROOT . Это удобный способ, т.к. позволяет задавать путь единожды в начале конфига, а далее он будет уже применяться автоматически в нужных местах конфигурации через эту переменную.

После установки ServerRoot директивы WEB сервер Apache может быть успешно запущен и будет отображать страницу по умолчанию с документацией по адресу localhost . Все остальные настройки конфигурации Apache уже являются дополнительными и зависят от ваших потребностей.

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

ШАГ 3 ручной запуск Apache

Основным исполняемым файлом WEB сервера Apache является файл Apache24\bin\httpd.exe . Соответственно, Apache можно запустить на исполнение как процесс, кликнув по файлу httpd.exe или выполнить команду запуска этого файла в консоли , что будет равнозначно.

Для того, что бы запустить Apache из командной строки на Windows , перейдите в проводнике в директорию с файлом Apache24\bin\httpd.exe и, зажав клавишу Shift , нажмите правую кнопку мыши и в контекстовом меню выберите пункт "Открыть окно команд ". Тогда командная строка Windows cmd.exe будет запущена уже в этом каталоге с бинарниками сервера и вам не нужно будет в команду включать полный путь до файла httpd.exe , а достаточно будет указать только сам файл с расширением. Если же вы запустил консоль в другом расположении, то включите, в приведенную ниже команду, полный путь к файлу httpd.exe .

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

- если вы находитесь в папке с исполняемым файлом apache httpd.exe :

>httpd.exe

или, если вы находитесь вне папки с исполняемым файлом apache httpd.exe , то укажите в команде полный путь исполняемому файлу apache :

>Z:\WebDevelopment\Apache24\bin\httpd.exe

Данная команда приведет к запуску WEB сервера Apache , при этом, консоль останется запущенной и в окне командной строки исчезнет приглашение на ввод команды в виде знака > . Если при выполнении этих команд командная строка закроется, значит apache не запустился по причине каких либо ошибок в его конфигурации, для этого смотрите основной файл лога apache .

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

Т.е. без привязки к каталогу инсталяции Apache и при этом не указывать полный путь к файлу httpd.exe , то нужно прописать в системную переменную PATH путь до каталога с исполняемым файлом apache , т.е. добавить в переменную path строку вида:

;Z:\WebDevelopment\Apache24\bin

Как добавить в переменную path путь к папке с исполняемым файлом детально расписано в статье Установка PHP7 на Windows в разделе ШАГ 2 размещение PHP в Windows на примере PHP .

Если Apache запустился, то в диспетчере задач Windows появятся два активных процесса с именами файлов httpd.exe и описанием для них "Apache HTP Server ". Это,собственно, и есть работающий WEB сервер Apache . То, что мы видим два процесса httpd.exe - это нормально. Это Apache модуль Multi-Processing (MPM ) по умолчанию для операционных систем Windows . Он использует единый процесс управления, который запускает дочерний процесс, который, в свою очередь, создает потоки для обработки запросов.

Если же что то пошло не так и сервер не запускается, то читайте его журналы ошибок , которые расположены в каталоге: Apache24\logs

Для остановки Apache , запущенного вручную, вышеописанным способом, необходимо вернуться в консоль (в окно открытой командной строки) и нажать комбинацию клавиш Ctrl+C , и через несколько секунд сервер будет остановлен, о чем будет свидетельствовать отсутствие httpd.exe процессов в Диспетчере задач Windows и в окне командной строки снова появится курсор (знак > ) ожидания ввода команды. Иногда бывает, что командная строка "виснет", в этом случае повторно нажмите Ctrl+C и если курсор ввода команды не появится, то нажмите Enter . Если с использованием комбинаций клавиш Ctrl+C не получается остановить Apache в консоли, то просто закройте окно командной строки и сервер будет остановлен. Так же можно остановить Apache , выполнив завершение процессов httpd.exe в Диспетчере задач Windows , если предыдущие способы остановки не сработают.

htdocs\index.html

Теперь когда web сервер Apache запущен можно обратиться к его дефолтовый html странице, которая настроена в httpd.conf как хост по умолчанию и физически располагается в каталоге Apache24\htdocs\index.html .

Для проверки работы Apache наберите в адресной строке браузера адрес:

Http://localhost

Если сервер работает, то вы увидите стартовую дефолтового страницу web сервера Apache от Apache Haus с надписью IT WORKS , что будет говорить о том, что все прошло успешно и Apache полноценно функционирует.

Для проверки HTTPS соединения обратитесь в браузере по адресу:

Https://localhost

Браузер запросит ваше подтверждение на использование данного сертификата. Нужно будет вручную разрешить использование этого сертификата, т.к. входящий в сборку сертификат предназначен только для тестирования https соединения и является самоподписным, поэтому он будет отклоняться браузером в начале и требовать вашего одобрения на использование. После добавления сертификата в разрешенные для браузера, откроется снова стартовая страница Apache , но соединение уже будет защищенное по https протоколу с использованием SSL шифрования.

ШАГ 4 инсталляция Apache как службы Windows

Приведенный выше способ запуска и остановки web сервера Apache прекрасно работает и им можно с успехом пользоваться, создав ярлык на исполняемый файл httpd.exe или написав .bat файлы с командами старта и остановки сервера. Однако более удобным вариантом будет использование Apache как системной службы Windows , что позволит запускать и останавливать Apache в автоматическом, полуавтоматическом режимах и вручную. Для этих действий можно будет использовать утилиту управления Apache службой , которая входит в данный дистрибутив Apache . ApacheMonitor.exe это маленькая утилита, представлявшая собой оконную программку, висящую в системном трее и позволяющую выполнять запуск и остановку службы Apache и контролировать ее состояние. Такой подход дает некоторое удобство в работе с web сервером Apache как системной службой Windows . Поэтому, далее будут рассмотрены необходимые действия для установки Apache как системной службы Windows.

Для просмотра списка доступных команд Apache наберите в консоли:

>Z:\WebDevelopment\Apache24\bin\httpd help

или , находясь в каталоге с бинарниками Apache:

>httpd -h

и в консоли будет выведен краткий help по доступным командам Apache и их синтаксис:

>httpd -h Usage: httpd [-D name] [-d directory] [-f file] [-C "directive"] [-c "directive"] [-w] [-k start|restart|stop|shutdown] [-n service_name] [-k install|config|uninstall] [-n service_name] [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X] Options: -D name: define a name for use in directives -d directory: specify an alternate initial ServerRoot -f file: specify an alternate ServerConfigFile -C "directive" : process directive before reading config files -c "directive" : process directive after reading config files -n name: set service name and use its ServerConfigFile and ServerRoot -k start: tell Apache to start -k restart: tell running Apache to do a graceful restart -k stop|shutdown: tell running Apache to shutdown -k install: install an Apache service -k config: change startup Options of an Apache service -k uninstall: uninstall an Apache service -w: hold open the console window on error -e level: show startup errors of level (see LogLevel) -E file: log startup errors to file -v: show version number -V: show compile settings -h: list available command line options (this page) -l: list compiled in modules -L: list available configuration directives -t -D DUMP_VHOSTS: show parsed vhost settings -t -D DUMP_RUN_CFG: show parsed run settings -S: a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG -t -D DUMP_MODULES: show all loaded modules -M: a synonym for -t -D DUMP_MODULES -t -D DUMP_INCLUDES: show all included configuration files -t: run syntax check for config files -T: start without DocumentRoot(s) check -X: debug mode (only one worker, do not detach)

Для инсталляции

>Z:\WebDevelopment\Apache24\bin\httpd.exe -k install

Для деинсталяции Apache как системной службы Windows нужно выполнить в консоли команду:

>Z:\WebDevelopment\Apache24\bin\httpd.exe -k uninstall

После установки Apache в качестве системной службы Windows вы можете настроить работу этой службы стандартным для всех служб Windows способом в Консоли управления Microsoft - оснастке services.msc запустив ее в cmd.exe командой:

>services.msc

или воспользовавшись другими стандартными способами:

  • Меню Пуск, в строке поиска наберите services.msc и нажмите клавишу Enter;
  • Нажмите сочетание клавиш Win+R , наберите services.msc и нажмите клавишу Enter;
  • Через оконный интерфейс по пути: Пуск->Панель управления->Администрирование->Службы

Установленная служба Apache будет иметь:

  • название: Apache2.4 ;
  • описание: Apache/2.4.23 (Win64) OpenSSL/1.0.2j ;
  • тип запуска: Автоматически .

Настройте необходимый вам вариант запуска службы стандартным способом.

Так же, для управления службой Apache2.4 вы можете воспользоваться описанной выше программой из дистрибутива сервера Apache24\bin\ApacheMonitor.exe . Для этого запустите указанный файл ApacheMonitor.exe и воспользуйтесь для запуска или остановки Apache кнопками в окне данной программы. В свернутом состоянии эта программа "висит" в системном трее в виде иконки состояния службы Apache и может быть от туда вызвана.

На этом Portable инсталляция Apache на Windows из zip архива закончена, далее можно приступать к индивидуальной настройке web сервера и организации виртуальных хостов.




Top