Как остановить сервер apache windows

If you don’t have Apache installed as a service, the window will remain visible until you stop Apache by pressing Control-C in the console window where Apache is running in. The server will exit in a few seconds.

  1. How do I turn off Apache in Windows 10?
  2. How do I stop all Apache processes?
  3. How do I restart Apache on Windows?
  4. How do I stop Apache httpd EXE?
  5. How do I shut down Apache?
  6. How do I know if Apache is running on Windows?
  7. How do I stop all servers?
  8. How do I stop Apache from starting automatically?
  9. How do I restart Apache on Windows 10?
  10. Why did Apache shut down unexpectedly?
  11. How do I disable Httpd in Windows?
  12. How do I start Apache Tomcat on Windows?

How do I turn off Apache in Windows 10?

Stopping apache:

  1. Log in as the application user.
  2. Type apcb.
  3. If apache was run as the application user: Type ./apachectl stop.

How do I stop all Apache processes?

In order to stop or restart the Apache HTTP Server, you must send a signal to the running httpd processes. There are two ways to send the signals. First, you can use the unix kill command to directly send signals to the processes.

How do I restart Apache on Windows?

2 Answers

  1. Click the start button and type CMD (if on Windows Vista or later and Apache is installed as a service make sure this is an elevated command prompt)
  2. In the command window that appears type cd C:\xampp\apache\bin (the default installation path for Xampp)
  3. Then type httpd -k restart.

How do I stop Apache httpd EXE?

Of course, Windows Task Manager can also be used to stop the Apache server. Select «httpd.exe» on Processes tab on Windows Task Manager, and click the «End Process» button. Then click «Yes» on the warning message to terminate «httpd.exe». Repeat the process again if see more than one instances of «httpd.exe».

How do I shut down Apache?

Debian/Ubuntu Linux Specific Commands to Start/Stop/Restart Apache

  1. Restart Apache 2 web server, enter: # /etc/init.d/apache2 restart. $ sudo /etc/init.d/apache2 restart. …
  2. To stop Apache 2 web server, enter: # /etc/init.d/apache2 stop. …
  3. To start Apache 2 web server, enter: # /etc/init.d/apache2 start.

How do I know if Apache is running on Windows?

  1. Bring up the task manager by pressing Ctrl + Shift + Esc .
  2. Go to the Processes tab and sort by Image Name. In Server 2012, go to the Details tab and sort by Name.
  3. Look for apache.exe (or httpd.exe) and check the User Name column.

How do I stop all servers?

To stop all Application Servers on the host, do one of the following:

  1. (Windows) Do one of the following: From the command line window where the Application Server is running, enter Ctrl-C . From the Windows Start menu, select Settings > Control Panel. …
  2. (UNIX) Enter the following: /etc/init.d/blappserv stop.

How do I stop Apache from starting automatically?

The procedure to stop Apache from starting at boot time on Linux is as follows:

  1. Open the terminal application.
  2. Login using ssh for remote server. …
  3. Use sudo systemctl disable httpd && sudo systemctl stop httpd on RHEL/CentOS/Oracle/Fedora Linux.

How do I restart Apache on Windows 10?

First you must bring the command prompt to the bin of Apache folder on your computer, i.e my Apache folder is in directory C:\Apache24\ . I used command cd C:\Apache24\bin and then used command httpd -k restart to restart the Apache service.

Why did Apache shut down unexpectedly?

The XAMPP error “Apache shutdown unexpectedly” is commonly caused by another program, such as Skype, using the default Apache port. … As we discussed in this article, the easiest way to fix this problem is to update XAMPP’s Apache configuration settings. You can do this by editing the httpd. conf file and the http-ssl.

How do I disable Httpd in Windows?

Running as a service should be preferred over running in a console window because this lets Apache end any current operations and clean up gracefully. But if the server is running in a console window, you can only stop it by pressing Control-C in the same window.

How do I start Apache Tomcat on Windows?

Starting the Apache Tomcat server

  1. Click the Start menu and right-click Computer and select Manage.
  2. Expand Configuration and click Services.
  3. Right-click the Tomcat service and select Start.

В Windows запускать, останавливать и перезапускать сервер Apache из командной строки можно при помощи следующих команд:

Apache –k start (запуск);

Apache –k restart (перезапуск);

Apache –k stop или Apache –k shutdown (остановка).

Все команды следует выполнять из каталога bin сервера Apache (C:\www\ Apache2.2\bin\). Команды с ключом –k являются управляющими командами сервера

Apache. Так команды Apache –k install и Apache –k uninstall позволяют устано-

вить и удалить сервис Apache2.2. Получить полный список команд управления с их кратким описанием можно командой Apache –help или в документации к серверу

Apache.

ЗАМЕЧАНИЕ

Запустить командную строку можно, выбрав пункт меню Пуск | Программы | Стандартные | Командная строка. Выбор диска осуществляется как D:, смена текущего каталога — командой cd, например, cd C:\www\Apache2.2\bin.

Команда Apache -t позволяет проверить конфигурационные файлы Apache на предмет наличия синтаксических ошибок. В случае их отсутствия выдается строка «Syntax OK». Если же в конфигурационных файлах имеются ошибки, то в результате тестирования программа выдаст сообщение об ошибке, например:

Syntax error on line 57 of C:/www/Apache2.2/conf/ httpd.conf: ServerRoot takes one argument, Common directory of server-related files.

Если сервис Apache2.2 успешно установлен, как это описано в предыдущем разделе, то управлять запуском и остановкой Web-сервера можно при помощи системной команды NET:

NET START Apache2.2 — запуск сервиса;

NET STOP Apache2.2 — остановка сервиса.

1.8. Установка PHP

После двойного щелчка на файле php-версия-win32-installer.msi запустится

Microsoft Installer (рис. 1.12).

Для того чтобы начать процесс установки, нажмите кнопку Next, после чего появится окно с лицензионным соглашением (рис. 1.13). Следующая страница предлагает выбрать путь установки PHP (рис. 1.14).

Осуществив переход к следующей странице, можно обнаружить список Webсерверов и способов взаимодействия с ними, среди которых следует выбрать пункт Apache 2.2.x Module (рис. 1.15). Следующая страница позволяет указать расположение Web-сервера Apache (рис. 1.16).

Установка Web-сервера Apache, интерпретатора PHP и СУБД MySQL

25

Рис. 1.12. Начало установки PHP

Рис. 1.13. Страница с лицензионным соглашением

26

Глава 1

Рис. 1.14. Выбор пути установки PHP

Рис. 1.15. Выбор сервера

Установка Web-сервера Apache, интерпретатора PHP и СУБД MySQL

27

Рис. 1.16. Страница, запрашивающая расположение корневого каталога Web-сервера Apache

На следующей странице отображается список компонентов, доступных для установки по умолчанию (рис. 1.17). Рекомендуется оставить настройки на данной странице без изменения.

ЗАМЕЧАНИЕ

Теоретически, на данной странице можно выбрать набор расширений, которые будут доступны для работы из PHP, на практике настройку расширений лучше выполнить вручную через конфигурационный файл PHP — php.ini.

Затем мастер установки сообщит о готовности к процессу установки, и после нажатия кнопки Install будет произведено копирование файлов PHP и редактирование конфигурационного файла httpd.conf. Если сравнить данные файлы до и после установки, можно заметить, что в него добавляется всего лишь три строки, представленные в листинге 1.6.

ЗАМЕЧАНИЕ

В конфигурационных файлах программ, портированных из UNIX, в пути традиционно используется прямой /, а не обратный слэш \.

Листинг 1.6. Подключение PHP в httpd.conf

AddType application/x-httpd-php .php PHPIniDir «C:/Program Files/PHP/»

LoadModule php5_module «C:/Program Files/PHP/php5apache2_2.dll»

28

Глава 1

Рис. 1.17. Выбор компонентов для установки

Первая директива AddType связывает файлы с расширением php и PHPинтерпретатор. Если помимо расширения php необходимо, чтобы и другие файлы рассматривались как PHP-файлы, их расширения можно добавить в этой строке через пробел. Вторая директива PHPIniDir указывает путь к местоположению конфигурационного файла PHP — php.ini, третья директива LoadModule подключает интерпретатор PHP для Web-сервера Apache 2.2.

Индексный файл — это точка входа для папки. Создав такой файл, можно обращаться по сокращенному пути, например, http://site.dev/, вместо http://sive.dev/ index.php. По умолчанию индексным файлом является index.html. Чтобы добавить новые индексные файлы, включая index.php, найдите в конфигурационном файле httpd.conf директиву DirectoryIndex и исправьте ее в соответствии с листингом 1.7.

ЗАМЕЧАНИЕ

Изменения в конфигурационном файле httpd.conf вступают в силу после перезагрузки сервера.

Листинг 1.7. Настройка индексных файлов

DirectoryIndex index.php index.html index.htm

В директиве DirectoryIndex можно указать любые другие индексные файлы, на-

пример, index.htm, index.php3, index.phtml и т. п.

Для проверки работоспособности PHP-файла в каталоге виртуального хоста необходимо создать PHP-файл index.php следующего содержания (листинг 1.8).

Установка Web-сервера Apache, интерпретатора PHP и СУБД MySQL

29

Листинг 1.8. Проверочный PHP-скрипт

<?php

phpinfo();

?>

Функция phpinfo() выводит в окно браузера отчет о конфигурации PHP. Если PHP успешно связан с Web-сервером, то результат может выглядеть, как на рис. 1.18.

Рис. 1.18. Отчет функции phpinfo()

Следует отметить, что отчет, предоставляемый функцией phpinfo(), указывает на путь к конфигурационному файлу php.ini. Его можно выяснить в строке Loaded Configuration File. Этот путь может быть полезным, если имеется подозрение, что редактируется не та копия, которая используется PHP (например, внесенные изменения не вступают в силу).

ЗАМЕЧАНИЕ

Если при установке сервера MySQL у вас возникли затруднения, вы можете обратиться на форум по адресу http://www.softtime.ru/forum/index.php?id_forum=5.

1.9. Что предпринять,

если Web-сервер не запускается

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

V2

На сайте с 05.01.2012

Offline

108

1698

Подниму старую тему, тогда решения так и не нашел.

Задача та-же под windows корректно остановить apache (процесс httpd).

На данный момент для остановки почему-то даже Control+C не отрабатывает. Единственный вариант правильно закрыть апач это нажать на крестик на самом окне консольке.

Но вот вопрос как закрыть это окно из bat или из vbs скрипта?

lonelywoolf

На сайте с 23.12.2013

Offline

151

#1

А почему апач работает не как служба? В вашем случае никак.

V2

На сайте с 05.01.2012

Offline

108

#2

lonelywoolf:
А почему апач работает не как служба?

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

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

R

На сайте с 27.02.2016

Offline

38

#3

Vitaly2012:
Не хочу привязки к системе, должна быть типа portable версия, скопировал на другой комп и там работает.

Скопировать на другой ПК. Служба/сервис вас в этом ни как не ограничит.

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

Использовать директиву <VirtualHost *:8080>…</VirtualHost> с указанием нужного вам порта, IP-адреса.

<!--WEB-->

На сайте с 25.01.2009

Offline

516

#4

А зачем виндоусу апач?

Проверяю позиции сайта в сервисе Серпхант ( https://serphunt.ru ) – быстро, качественно, доступно! Почему я не всем отвечаю ( )

V2

На сайте с 05.01.2012

Offline

108

#5

Ravel:
Скопировать на другой ПК. Служба/сервис вас в этом никак не ограничит.

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

Ravel:
Использовать директиву <VirtualHost> с указанием нужного вам порта IP-адреса.

Мне нужно, чтобы каждый запущенный httpd слушал свой порт, а не один httpd запущеный как служба слушал все порты.

R

На сайте с 27.02.2016

Offline

38

#6

Vitaly2012:
Как-же не ограничит, на другом пк апач не установлен как служба, нужно будет заново ставить.

Вы просто переместите свою папку (C:\Apache2 или какая там у вас) на другой ПК, а если там папка будет отличатся, внесете изменения в файлы конфигурации.

Vitaly2012:
Мне нужно, чтобы каждый запущенный httpd слушал свой порт, а не один httpd запущеный как служба слушал все порты.

Все порты он слушать не будет. Будет слушать только то, что вы ему укажете в listen и VirtualHost.

V2

На сайте с 05.01.2012

Offline

108

#7

Ravel:
Вы просто переместите свою папку (C:\Apache2 или какая там у вас) на другой ПК, ну если там папка будет отличатся внесете изменения в файлы конфигурации.

Да нет-же, простого переноса недостаточно, нужно еще выполнить httpd.exe -k install

Ravel:
Все порты он слушать не будет, будет слушать только то что вы ему укажете в listen и VirtualHost.

В случае службы он именно будет слушать все указанные в его конфиге в listen и VirtualHost порты, а мне нужно, чтобы каждый апач слушал только один свой порт.

R

На сайте с 27.02.2016

Offline

38

#8

Vitaly2012:
Да нет-же, простого переноса недостаточно, нужно еще выполнить httpd.exe -k install

Не нужно. Достаточно запустить httpd.exe в папке bin. Можете проверить на виртуальном сервере.

Vitaly2012:
В случае службы он именно будет слушать все указанные в его конфиге в listen и VirtualHost порты, а мне нужно, чтобы каждый апач слушал только один свой порт.

Зачем?

V2

На сайте с 05.01.2012

Offline

108

#9

Ravel:
Зачем?

Зачем, это другой вопрос.

А меня интересует как корректно остановить процесс httpd.

———- Добавлено 15.10.2019 в 16:08 ———-

Ravel:
Не нужно. Достаточно запустить httpd.exe в папке bin. Можете проверить на виртуальном сервере.

Хотите сказать, что apache при первом запуске сам ставится как служба никого об этом не спрашивая и не уведомляя? ))

R

На сайте с 27.02.2016

Offline

38

#10

Vitaly2012:

Хотите сказать, что apache при первом запуске сам ставится как служба никого об этом не спрашивая и не уведомляя? ))

Никто никуда сам не ставится. Вы Readme.txt читали ?

В архиве есть файл Readme.txt, в нем написано как установить Apache как сервис

To install as a service. Open command prompt as Administrator and type:

>httpd.exe -k install

You can start/stop the service with the command:

>services.msc

To see all Command line options:

>httpd -h

net start — список всех запущенных служб

net stop «<имя службы>» — остановка конкретной службы в вашем случае (net stop «Apache2.4»)

Введение

Для кого предназначена эта статья: новичкам сайтостроителям посвящается, статья познакомит с основами настройки веб-сервера, на примере сервиса Apache, также мы установим на локальной машине PHP, что в связке с Apache представляет мощный и современный комплекс для разработки сайтов любой сложности.

Сначала небольшое вступление. Замечу что, в свое время, отсутствие простой и понятной новичкам информации, по казалось бы элементарным вещам, частенько ставило меня в тупик, будь то изучение языков программирования или администрирование серверов. Дам простой совет, никогда не начинайте изучать детали, пока не уложили в голове общую картину предмета. Например, не старайтесь изучить особенности поведения какого нибудь тега в HTML, пока не уясните что такое «HTML»  в принципе (теперь без запинки произнесите расшифровку аббревиатуры и вдумайтесь в каждое слово).

И так, что такое web-server. В общем все просто, это может быть обычный компьютер, имеющий сетевую карту и подключенный к сети интернет. Единственное отличие «сервера» от вашего компьютера (уверен он у вас подключен к интернету), это то что на этом компьютере установлена специальная программа, которая посылает ответы всем другим компьютерам «клиентам», каждый раз когда клиенты запрашивают с него данные специальным образом.

Что значить «запросить данные» = «запрос». Рассмотрим на примере работы одного из сайтов, например, «ya.ru». Для начала разберемся что физически представляет из себя этот «ya.ru». Для начала запустим командную строку — пуск — выполнить — «cmd» и пропингуем сайт (ввести «ping ya.ru»), на что мы получим ответ от одного из серверов Яндекс вида:

Ответ от 213.180.204.3: число байт=32 время=71мс TTL=51
Ответ от 213.180.204.3: число байт=32 время=71мс TTL=51....

Ясно что в каком-то населенном пункте (который, к слову, можно выяснить по IP через какой-нибудь открытый сервис), стоит абсолютно материальная машина, имеющая как минимум одну сетевую карту, карта имеет IP-адрес 213.180.204.3. С нашего компьютера был послан «запрос» программой «ping.exe» к этому серверу, через 71 миллисекунду программа ping получила ответ от сервера Яндекс, о чем и сообщила нам на экране.

Двигаемся дальше, «пинговать» можно любой компьютер находящийся в сети, конечно если на нем нет запрета на подобные запросы. Отличие web-сервера от обычного компьютера — он может отвечать на так называемые «HTTP-запросы». Как сделать HTTP-запрос к серверу Яндекс? Открываем браузер, я например, Firefox, в строке «адрес» вверху пишем «http://ya.ru», жмем Enter — в этот момент браузер установил сеанс связи с сервером ya.ru по общепринятому для протокола http порту 80, полученный ответ был выведен браузером на экран. Надо заметить, что http перед именем сайта писать в наше время уже необязательно, браузер сам подставит спереди эти четыре буквы перед именем сайта, т.к. подавляющее число web-серверов общается с клиентами именно по протоколу HTTP.

Думаю вы знакомы и с другим протоколом, который сейчас не очень активно используется рядовыми пользователями, это протокол FTP. Этот протокол предназначен для обмена файлами м\у клиентом и сервером. С помощью браузера можно задействовать и его. Например, введя в строку адреса ftp://mirror.yandex.ru/ мы получим список файлов хранящихся на указанном сайте именно по протоколу ftp.

По этому протоколу могут работать и многие файловые менеджеры, например открыв FAR можно добавить этот же ресурс и видеть похожую картинку.


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

Разбираемся с аббревиатурой HTTP — HyperText Transfer Protocol — «протокол передачи гипертекста». «Протокол» — некий общепринятый механизм передачи данных, который, как и все другие протоколы, к тому же зафиксирован документально. Читать пока не обязательно, да и в будущем вряд ли понадобится полное описание спецификации, скорей всего какого-нибудь FAQ будет достаточно. Главное уяснить себе, что когда то, несколько лет назад, группа людей (весьма продвинутых в компьютерах и сетях) решила что неплохо было бы всем компьютерам в сети обмениваться информацией по единому стандарту, что облегчит жизнь и разработчикам сайтов и пользователям. Решили что обмен этот будет идти по принципу клиент-сервер, «клиент» (ПК пользователя) создает текстовый «запрос» и направляет его на определенный порт «сервера», назад клиент получает «ответ» в виде текста.

Разберем что такое «запрос» подробней. Запрос в http это одна или несколько строк текста, например, «GET http://www.ya.ru HTTP/1.0» это один из запросов по протоколу http (кстати в т.ч. его и отправляет браузер серверу когда в адресе вы пишите «ya.ru» в строке браузера). Теперь надо как то отправить этот запрос на сервер. Воспользуемся программой которая умеет общаться с серверами telnet.exe, запускается так пуск — выполнить — cmd —> пишем строчку «telnet ya.ru 80» —> enter, чтобы установить сеанс связи с сервером.

Далее вписываем запрос и два раза жмем Enter, в ответ сервер ya.ru передает нам полный текст главной страницы сайта www.ya.ru:

Если запрос вписать не удалось не расстраивайтесь, у меня так же, почему то буквы не прорисовывались в telnet, текст надо или вписывать вслепую или «скопировать — правой в telnet — вставить», и не забываем про двойной enter после того как вставили команду. Замечание: к сожалению описанный пример с сайтом ya.ru теперь не работает, по причине того что сайт как и многие другие теперь работает по протоколу https (последняя буква «s» значит защищенный), поэтому найдите любой другой сайт который еще не на https или поверьте скринам.

Если вы только знакомитесь с принципами работы WEB, то у вас может возникнуть вопрос, как полученные кракозябры в telnet связан с сайтом который мы видим в браузере. Все очень просто, это «внутренность» главной страницы ya.ru, которую браузер представляет нам уже во вполне понятном виде. Убедимся в этом — откроем в браузере сайт ya.ru — правой — «исходный код страницы» — видим что это действительно так:

Теперь мы имеем представление о работе механизма клиент-сервер по протоколу HTTP и подошли вплотную к нашей цели. Наш компьютер должен уметь отвечать на запросы, которые шлют ему клиенты по сети, по протоколу HTTP, на порт 80. Для этого необходимо установить на нашем ПК программу, которая умеет это делать, мы будем ставить программу (она же web-сервер) «Apache». Замечу что это не единственный веб-сервер, есть поклонники windows IIS или nginx и т.п.

Краткое описание компонент

  • Apache — собственно сам web-server, программа, которая устанавливается как «служба» windows, контролирует общепринятый для web порт 80, при поступлении запроса (обычно от браузера) — выдает клиенту исходный текст страницы.
  • PHP (Hypertext Preprocessor — препроцессор гипертекста) — набор библиотек, позволяющий существенно расширить возможности обычного сайта на HTML. С помощью него реализуются такие важные вещи как авторизация, работа с базами данных, динамическое наполнение страниц информацией, интерфейс администратора сайта. Суть подхода заключается во включении в «исходный код» страницы специальных конструкций, на языке PHP. Web-server перед выдачей «исходного кода» клиенту передает текст на обработку PHP модулю, тот в свою очередь выполняет свои скрипты и отдает обратно уже готовую страничку, которая притерпела изменения согласно этих скриптов. Например, модуль может разместить на страничке последние новости или свежий анекдот.
  • MySQL — СУБД (система управления базами данных), специальная программа для хранения различных таблиц с моментальным доступом на чтение и запись. PHP может задействовать эту программу для хранения логинов\паролей, новостей, сообщений с форума и т.д., вплоть до хранения исходного кода страниц и картинок. Можно конечно хранить сообщения с форума в обычном текстовом файле, но когда сообщений будет не 20-30 а 2-3 тысячи — ваш сайт может просто зависнуть. Тут то и приходят на помощь скоростные и отлаженные механизмы доступа к данным, такие как MySQL.

Для простого сайта без авторизации, достаточно поставить только Apache, если же надо реализовать авторизацию — без PHP уже не обойтись. Установку производим в обратном порядке — MySQL, затем PHP, затем Apache, затем запускаем web-server, делаем тестовую страничку и проверяем работу сервера «извне».

Установка MySQL

      Скачиваем пакет по ссылке

http://www.mysql.com/downloads/mysql/

      , скачивайте последнюю версию.
  1. Приступаем к установке. Нажмите в данном окне выборочную установку компонентов «Custom».
    Диалоговое окно выборочной установки компонентов MySQL
  2. Здесь вы можете выбрать дополнительные компоненты и сменить установочную директорию программы.
    Выбор компонентов MySQL и задание директории MySQL
  3. Теперь приступим к настройке MySQL сервера.
    Настройка MySQL-сервера
  4. Выбираем детализированную настройку — «Detailed Configuration».
    Диалоговое окно выбора детализованной настройки MySQL
  5. Отмечаем пункт «Developer Machine».
    Конфигурирование MySQL как сервера для веб-разработок
  6. Выбрав пункт «Multifunctional Database», вы сможете работать как с таблицами типа InnoDB (с возможностью использования транзакций), так и с высокоскоростной MyISAM (как правило для веб-разработок используется именно этот тип таблиц).
    Задание типа баз данных MySQL
  7. Выбор диска и директории для хранения таблиц типа InnoDB.
    Задание директории для хранения таблиц InnoDB
  8. В данном диалоговом окне выбирается максимально возможное количество подключений к серверу MySQL. При выборе «Decision Support (DSS)/OLAP», максимальное количество подключений будет ограничено двадцатью, чего более чем достаточно при установке сервера на домашнем компьютере и отсутствии большого количества одновременных подключений.
    Диалоговое окно задания максимального количества подключений
  9. Отметив «Enable TCP/IP Networking» мы включаем поддержку TCP/IP соединений и выбираем порт, через который они будут осуществляться. Стандартным для сервера MySQL является порт 3306. Отметив «Enable Strict Mode», мы задаем режим строгого соответствия стандарту SQL (данную опцию рекомендуется оставлять включенной).
    Включение поддержки TCP/IP, и задание порта для MySQL-сервера
  10. Обратите внимание на выставление настроек данного окна. Отметив «Manual Selected Default Character Set / Collation» и выбрав из ниспадающего меню «cp1251» определяем, что изначально для таблиц будет использоваться кодировка Cyrillic Windows (cp1251), что означает корректную работу с русским языком в данной кодировке.
    Диалоговое окно задания кодировки
  11. Если отметить «Install As Windows Service», сервер будет запускаться в виде сервиса, что является рекомендуемым способом запуска. Ниже, в ниспадающем списке, задается имя сервиса. Далее, уберите галочку рядом с «Launch the MySQL Server automatically» — мы будем запускать сервер вручную. Также поставьте галочку рядом с «Include Bin Directory in Windows PATH» — это позволит установить видимость директории «bin», для командной строки.
    Выбор способа запуска MySQL-сервера
  12. Установите пароль пользователя «root». Советую сделать это. Поставьте хотя бы какой-нибудь простенький пароль, только не оставляйте поле пустым, это убережёт вас от возможных неприятностей в дальнейшем.
    Установка пароля для пользователя root
  13. В данном окне обратите внимание на строку «Write configuration file», которая указывает на месторасположение конфигурационного файла MySQL — «my.ini», далее, его необходимо будет немного отредактировать.
    Финальное диалговое окно установки MySQL-сервера
  14. Откройте для редактирования файл «my.ini».
    1. В раздел [client], после строки:
      port=3306
      Добавьте строку определяющую каталог содержащий файлы описания кодировок:
      character-sets-dir=»C:/Program Files/MySQL/MySQL Server 5.5/share/charsets»
    2. В раздел [mysqld], после строки:
      port=3306
      Добавьте следующие две строки, первая из которых вам уже известна, вторая – устанавливает кодировку в которой данные передаются MySQL:
      character-sets-dir=»C:/Program Files/MySQL/MySQL Server 5.5/share/charsets»
      init-connect=»SET NAMES cp1251″
    3. Далее, найдите строку:
      default-storage-engine=INNODB
      Замените изначально устанавливаемый тип таблиц на MYISAM:
      default-storage-engine=MYISAM
  15. Сохраните изменения и закройте файл «my.ini».
    Установка и настройка сервера MySQL завершена.

Установка PHP

      Скачиваем пакет по ссылке

http://windows.php.net/download/

      , обратите внимание что нам нужен ‘VC9 x86 Thread Safe’ вариант.
  1. Распакуйте архив в желаемый каталог (изначально предлагается «C:\php»). Откройте конфигурационный файл содержащий рекомендуемые настройки — «php.ini-development» (находящийся в корне дистрибутива), переименуйте его в php.ini и произведите следующие изменения.
  2. Отредактируем файл php.ini:
    1. Найдите строку:
      post_max_size = 8M
      Увеличьте до 16 Мбайт максимальный размер данных принимаемых методом POST, изменив ее на:
      post_max_size = 16M
    2. Найдите строку:
      ;include_path = «.;c:\php\includes»
      Раскомментируйте ее, убрав перед строкой символ точки с запятой.
      (Внимание исключение! Обратные косые черты при указании пути):
      include_path = «.;c:\php\includes»
      Создайте пустой каталог «C:\php\includes», для хранения подключаемых классов.
    3. Найдите строку:
      extension_dir = «./»
      Установите значением данной директивы путь к папке с расширениями:
      extension_dir = «C:/php/ext»
    4. Найдите строку:
      ;upload_tmp_dir =
      Раскомментируйте ее и укажите в значении следующий путь:
      upload_tmp_dir = «C:/php/upload»
      Создайте пустую папку «C:\php\upload», для хранения временных файлов загружаемых через HTTP.
    5. Найдите строку:
      upload_max_filesize = 2M
      Увеличьте максимально допустимый размер загружаемых файлов до 16 Мбайт:
      upload_max_filesize = 16M
    6. Подключите, расскомментировав, данные библиотеки расширений:
      extension=php_bz2.dll
      extension=php_curl.dll
      extension=php_gd2.dll
      extension=php_mbstring.dll
      extension=php_mysql.dll
      extension=php_mysqli.dll
    7. Найдите строку:
      ;date.timezone =
      Раскомментируйте и установите значением часовой пояс вашего местоположения (список часовых поясов можно найти в документации):
      date.timezone = «Europe/Moscow»
    8. Найдите строку:
      ;session.save_path = «/tmp»
      Раскомментируйте и установите значением данной директивы такой путь:
      session.save_path = «C:/php/tmp»
      Создайте пустую папку «C:\php\tmp» для хранения временных файлов сессий.
    9. Сохраните изменения и закройте файл php.ini.
  3. Далее необходимо добавить каталог с установленным PHP интерпретатором в PATH операционной системы. Для чего пройдите по пути «Start» («Пуск») -> «Control Panel» («Панель управления») -> «System» («Система»), откройте вкладку «Advanced» («Дополнительно»), нажмите кнопку «Environment Variables» («Переменные среды»), в разделе «System Variables» («Системные переменные») сделайте двойной щелчок на строке «Path», добавьте в поле «Variable Value» («Значение переменной»), к тому что там уже существует, путь к каталогу с установленным PHP, например, «C:\php» (без кавычек). Обратите внимание на то что символ точки с запятой разделяет пути. Чтобы внесенные изменения вступили в силу, перезагрузите операционную систему.
    Пример строки Path:
    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\php;C:\Program Files\MySQL\MySQL Server 5.5\bin
  4. Установка и настройка PHP интерпретатора – завершена.
  5. Описание подключаемых библиотек:

    php_bz2.dll – С помощью данного расширения PHP сможет создавать и распаковывать архивы в формате bzip2.

    php_curl.dll – Очень важная и нужная библиотека, позволяющая соединяться и работать с серверами, с помощью огромного количества интернет-протоколов.

    php_gd2.dll – Ещё одна незаменимая библиотека, позволяющая работать с графикой. Вы думали на PHP можно только HTML странички генерировать? А вот и нет! С помощью PHP можно почти всё, в том числе и рисовать.

    php_mbstring.dll – Библиотека содержит функции для работы с много-байтными кодировками, к которым относятся кодировки восточных языков (японский, китайский, корейский), Юникод (UTF-8) и другие.

    php_mysql.dll – Имя библиотеки говорит само за себя — она необходима для работы с сервером MySQL.

    php_mysqli.dll – Данная библиотека является расширением предыдущей и содержит дополнительные функции PHP для работы с сервером MySQL версии 4.1.3 и выше.

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

Установка Apache

      Скачиваем пакет по ссылке

http://www.apachelounge.com/download/

      , обратите внимание что нам нужен ‘Apache 2.4 win32 binaries’.
  1. Распакуйте архив дистрибутива в каталог C:\Apache2.
  2. Откройте в текстовом редакторе файл «C:\Apache2\conf\httpd.conf», являющийся основным конфигурационным файлом сервера Apache.
  3. Правка файла httpd.conf:
    1. Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ «#») данную строку:
      LoadModule rewrite_module modules/mod_rewrite.so
    2. Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:
      LoadModule php5_module «C:/php/php5apache2_4.dll»
    3. Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:
      PHPIniDir «C:/php»
    4. Найдите и раскомментируйте строку:
      ServerName www.example.com:80
      Отредактируйте ее следующим образом установив изначальное имя сервера:
      ServerName localhost:80
    5. Найдите строку:
      DocumentRoot «c:/Apache2/htdocs»
      Назначьте корневую директорию управления сайтами (немного позже мы ее создадим):
      DocumentRoot «C:/apache»
    6. Найдите данный блок:
      <Directory />
      Options FollowSymLinks
      AllowOverride None
      Order deny,allow
      Deny from all
      </Directory>

      И замените его на нижеследующий:
      <Directory />
      Options Includes Indexes FollowSymLinks
      AllowOverride All
      Allow from all
      </Directory>
    7. Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:
      <Directory «c:/Apache2/htdocs»>
      Options Indexes FollowSymLinks
      AllowOverride None
      Order allow,deny
      Allow from all
      </Directory>
    8. Найдите блок:
      <IfModule dir_module>
      DirectoryIndex index.html
      </IfModule>

      Замените его на:
      <IfModule dir_module>
      DirectoryIndex index.html index.htm index.shtml index.php
      </IfModule>
    9. Найдите строку:
      ErrorLog «logs/error.log»
      Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):
      ErrorLog «C:/apache/error.log»
    10. Найдите строку:
      CustomLog «logs/access.log» common
      Замените на:
      CustomLog «C:/apache/access.log» common
    11. Для работы SSI (включения на стороне сервера) следующие строки, находящийся в блоке <IfModule mime_module>, необходимо найти и раскомментировать:
      AddType text/html .shtml
      AddOutputFilter INCLUDES .shtml
    12. Добавьте ниже, в тот же блок <IfModule mime_module>, две строки:
      AddType application/x-httpd-php .php
      AddType application/x-httpd-php-source .phps
    13. И, наконец, найдите и раскомментируйте строки:
      Include conf/extra/httpd-mpm.conf
      Include conf/extra/httpd-autoindex.conf
      Include conf/extra/httpd-vhosts.conf
      Include conf/extra/httpd-manual.conf
      Include conf/extra/httpd-default.conf
    14. Сохраните изменения и закройте файл «httpd.conf»
  4. Теперь откройте файл «C:\Apache2\conf\extra\httpd-vhosts.conf» и произведите в нем следующие изменения:
    1. Существующие блоки примеров виртуальных хостов необходимо удалить, и вставить только нижеследующее:
      <VirtualHost *:80>
      DocumentRoot «C:/apache/localhost/www»
      ServerName localhost
      ErrorLog «C:/apache/localhost/error.log»
      CustomLog «C:/apache/localhost/access.log» common
      </VirtualHost>
    2. Сохраните изменения и закройте файл «httpd-vhosts.conf»
  5. Настройка конфигурационныйх файлов завершена, теперь необходимо установить сервис Apache.
  6. Запускаем командную строку и вводим в ней «C:\Apache2\bin\httpd.exe -k install»
    Установка сервиса Apache
  7. Вот что мы должны увидеть при успешной установке сервиса Apache.
    После установки сервиса Apache

Проверка работы сервера

В файле httpd-vhosts.conf мы задали каталог DocumentRoot, который и будет являться хранилищем для нашего первого сайта. Наш сайт, для начала, будет состоять всего из одной страницы. Делаем страничку: создайте в каталоге www текстовый файл ‘index.txt’, в файл скопируйте код HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
<title>Моя первая страничка</title>
</head>
<body>
Это моя страничка! Apache work!!
</body>
</html>

Сохраните и закройте файл, затем смените ему расширение, чтобы получилось ‘index.html’.

Пришло время проверить работоспособность нашего web-сервера. Заходим в браузер и делаем HTTP запрос на свой ПК, а именно, в поле «адрес» пишем вместо названия сайта свой локальный IP адрес (например у вас он может быть 192.168.0.1), а можно просто написать «localhost».
Результат работы Apache

Наш web-сервер ответил на запрос и выдал нам нашу первую страничку.

Проверка работы PHP

Для проверки php необходимо сделать следующее:

  1. Во первых удалите index.html, вместо него создайте текстовый файл index.txt следующего содержания:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
    <title>Моя первая страничка</title>
    </head>
    <body>
    Это моя страничка! Apache work!!<br>
    <?php echo "Проверка php, дата на сервере: ".date("Y-m-d H:i:s"); ?>
    </body>
    </html>​
  2. Переименуйте index.txt в index.php (обратите внимание на расширение!).
  3. Проверьте страничку запросив ее с сервера по адресу localhost.
    Результат работы Apache

Дополнительные настройки

  1. Создание структуры каталогов виртуальных хостов

    В корне диска необходимо создать каталог «apache» — в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок «error.log» (создается программой при первом запуске, автоматически), глобальный файл доступа «access.log» (создается автоматически). В каталоге «apache» создаем еще одну пустую папку — «localhost», в которой, в свою очередь, создаем папку «www», именно в последней и надо будет держать наше добро в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.

    Пример создания виртуального хоста
    При необходимости установки собственных виртуальных хостов сделайте следующее:

    Откройте файл «httpd-vhosts.conf», и создайте в нём блок, примерно, следующего содержания:
    <VirtualHost *:80>
    # Папка, в которой будет корень вашего хоста.
    DocumentRoot «C:/apache/test.ru/www»
    # Домен по которому вы сможете обращаться к виртуальному хосту.
    ServerName test.ru
    # Алиас (добавочное имя) домена.
    ServerAlias www.test.ru
    # Файл, в который будут записываться ошибки.
    ErrorLog «C:/apache/test.ru/error.log»
    # Файл журнала доступа к хосту.
    CustomLog «C:/apache/test.ru/access.log» common
    </VirtualHost>

    Затем в каталоге «apache», создайте папку «test.ru» (прямо так, с точкой), в которой, в свою очередь, создайте папку «www».

    Следующий шаг создания виртуального хоста – это изменение файла C:\WINDOWS\system32\drivers\etc\hosts операционной системы. Откройте данный файл и добавьте в него две строки:
    127.0.0.1 test.ru
    127.0.0.1 www.test.ru

    Теперь запустите сервер Apache выполнив в командной строке «C:\Apache2\bin\httpd.exe -k start», откройте браузер, введите в адресной строке «test.ru» или «www.test.ru» и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста («www.test.ru», если таковой существует), только закомментировав либо удалив строку: «127.0.0.1 www.test.ru», в вышеупомянутом файле «hosts».

    Документация Apache, при запущенном сервере, доступна по адресу http://localhost/manual/

    Остановить работу Apache можно выполнив в командной строке «C:\Apache2\bin\httpd.exe -k stop». При необходимости перезагрузить Apache, выполните в командной строке «C:\Apache2\bin\httpd.exe -k restart».

  2. Создание пакетных файлов для запуска и остановки сервисов

    Согласитесь, что вручную редактировать файл «hosts» при каждом запуске сервисов – это не удобно, поэтому для более удобного, одновременного запуска сервисов Apache, MySQL, и изменения файла «hosts» мы создадим два пакетных файла: на запуск и остановку, которые будут выполнять всю рутинную работу автоматически.

    При использовании виртуальных хостов необходимо создать в директории C:\apache два файла: vhosts-off.txt – содержащий изначальное содержимое файла «hosts» и vhosts-on.txt – содержащий все виртуальные хосты. Обратите внимание, что при создании новых виртуальных хостов вам необходимо будет добавлять их в файл vhosts-on.txt, а не в C:\WINDOWS\system32\drivers\etc\hosts. Посмотрите на примеры ниже.

    Файл vhosts-off.txt (может содержать одну единственную строку):
    127.0.0.1 localhost

    Пример файла vhosts-on.txt с виртуальными хостами www.test.ru и test.ru:

    127.0.0.1 localhost
    127.0.0.1 www.test.ru
    127.0.0.1 test.ru

    В той же директории C:\apache, создайте два пакетных файла: start-webserver.bat – для запуска сервисов и подмены файла «hosts», и stop-webserver.bat – для остановки сервисов и очистки файла «hosts».

    Файл запуска start-webserver.bat:

    @echo off
    echo.
    if not exist C:\apache\vhosts-on.txt goto no_vhosts
    echo Create virtual hosts:
    copy /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts
    echo.
    :no_vhosts
    NET start Apache2.2
    NET start MySQL

    Файл остановки stop-webserver.bat:

    @echo off
    echo.
    if not exist C:\apache\vhosts-off.txt goto no_vhosts
    echo Restore hosts file:
    copy /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts
    echo.
    :no_vhosts
    NET stop Apache2.2
    NET stop MySQL

    В случае если вы не используете виртуальные хосты или хотите запустить сервисы без подмены файла «hosts», просто уберите из директории C:\apache файлы vhosts-on.txt и vhosts-off.txt.

    Одновременно с сервисами удобно запускать программу Apache Monitor, отображающую в системном лотке состояние сервера Apache, для чего можно создать еще один пакетный файл «start-webserver-monitor.bat», содержание которого аналогично файлу «start-webserver.bat» с добавлением в самый конец следующей строки:

    start "" "C:\Apache2\bin\ApacheMonitor.exe"​

    Теперь для запуска всего инструментария вам понадобится запустить файл «start-webserver-monitor.bat», или «start-webserver.bat», а для остановки «stop-webserver.bat». При желании вы можете переименовать эти файлы, переместить их в любое другое место из папки «C:\apache», либо создать на данные файлы ярлыки, например, на рабочий стол.

На этом все, успехов в покорении HTML и PHP!

Установка Apache на Windows

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

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

Перейти к скринкасту: Установка Apache на Windows

Несмотря на то, что 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.
  • Больше вариантов смотри в статье: «Как организовать среду для web разработки»

Использовать виртуальную машину с 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 в разделе Настройка Apache2.4 для работы с PHP.

Portable Apache на Windows

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

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

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

  • во-первых, данный сайт находится в списке рекомендованных сайтов на сайте самого 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 с использованием пакета VC14Visual C++ 2015 x64 Redistributable Package, который должен быть установлен в вашей системе. Компоненты VC14, обычно уже имеются в системе, но если они не установлены, то скачать VC14 для инсталляции можно на официальном сайте Microsoft по ссылке: Распространяемый компонент Microsoft Visual C++ 2015 Update 3 RC.

ШАГ 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 в Ubuntu» и «Главный config WEB сервера Apache в Ubuntu», т.к. вся логика, приемы настройки и значения директив будут в данном случае одинаковые как для конфигурации 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 вручную в окне командной строки из любого места файловой системы простой командой:

> httpd

,т.е. без привязки к каталогу инсталяции 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 службой Apache24\bin\ApacheMonitor.exe, которая входит в данный дистрибутив 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)

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

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

>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 и может быть от туда вызвана.

Скриншот запущенной программы ApacheMonitor.exe

Скриншот запущенной программы ApacheMonitor.exe

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

Смотри также:

Настройка работы PHP с web сервером Apache2.4 на Windows

Настройка виртуального хоста Apache

Еще, дополнительно, о настройке можно почитать на сайте Apache: CUSTOMIZING APACHE FOR WINDOWS.

  • Как освободить оперативку на windows 10
  • Как остановить службу установщик windows
  • Как остановить брендмауэры windows 10
  • Как освободить занятый порт windows 10
  • Как остановить процесс обновления windows 10