Как установить апач сервер для windows

Все способы:

  • Шаг 1: Скачивание и распаковка файлов
  • Шаг 2: Изменение конфигурационного файла
  • Шаг 3: Первый запуск локального веб-сервера
  • Вопросы и ответы: 17

В этой статье мы разберем только основные принципы установки и первого запуска веб-сервера Apache на компьютере под управлением Windows. Учитывайте, что все остальные действия, такие как: установка PHP, подключение MySQL, добавление других необходимых компонентов для локального сервера, придется выполнять вручную, из-за чего могут изменяться настройки Apache. Если во время редактирования глобальных параметров возникнут проблемы, не стесняйтесь обращаться к официальной документации и искать в поисковике решение ошибок по их кодам.

Шаг 1: Скачивание и распаковка файлов

Apache для Windows распространяется в виде ZIP-архива, в котором находятся все нужные файлы. Установка через Терминал, как это осуществляется в дистрибутивах Linux, в этом случае недоступна, поэтому для получения файлов выполните следующие действия:

Скачать Apache с официального сайта

  1. Кликните по кнопке выше, чтобы перейти на официальный сайт веб-сервера, где нажмите по ссылке с названием последней доступной версии Apache.
  2. Установка apache в Windows-1

  3. Вы окажетесь на странице описания версии, после чего выберите «Files for Microsoft Windows».
  4. Установка apache в Windows-2

  5. В разделе «Downloading Apache for Windows» нажмите на ссылку «Apache Lounge».
  6. Установка apache в Windows-3

  7. Выберите версию для разрядности своей операционной системы и начните загрузку.
  8. Установка apache в Windows-4

  9. Пока файлы скачиваются, создайте папку, куда будут помещены все элементы, связанные с веб-сервером. Мы выбрали для этого системный раздел жесткого диска, создали папку «Server», а в ней — «Bin». Это стандартные названия каталогов, поэтому при редактировании конфигурационного файла будем учитывать именно данное расположение.
  10. Установка apache в Windows-5

  11. Перетащите папку «Apache24» из скачанного архива в созданный ранее каталог «Bin».
  12. Установка apache в Windows-6

Шаг 2: Изменение конфигурационного файла

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

  1. Перейдите по пути C:\Server\bin\Apache24\conf\.
  2. Установка apache в Windows-7

  3. Дважды кликните по файлу «httpd.conf» для его открытия.
  4. Установка apache в Windows-8

  5. Если у вас есть продвинутый текстовый редактор, выберите его для просмотра файла конфигурации. В противном случае используйте стандартный «Блокнот».
  6. Установка apache в Windows-9

  7. В документе найдите строку Define SRVROOT "c:/Apache24".
  8. Установка apache в Windows-10

  9. Замените ее на Define SRVROOT "c:/Server/bin/Apache24", чтобы указать новый путь к файлам. Учитывайте, что в строке мы указали созданный ранее путь. Если у вас он отличается, поменяйте выражение в кавычках.
  10. Установка apache в Windows-11

  11. Далее найдите строку #ServerName www.example.com:80, которая по умолчанию заключена в комментарий и неактивна.
  12. Установка apache в Windows-12

  13. Измените ее на ServerName localhost, указав тем самым локальный адрес, который в дальнейшем и будет использоваться для проверки веб-сервера.
  14. Установка apache в Windows-13

  15. Отыщите строки DocumentRoot "${SRVROOT}/htdocs" и <Directory "${SRVROOT}/htdocs">, которые отвечают за расположение связанных с сервером файлов.
  16. Установка apache в Windows-14

  17. Замените их на DocumentRoot "c:/Server/data/htdocs" и <Directory "c:/Server/data/htdocs">.
  18. Установка apache в Windows-15

  19. Сейчас параметр DirectoryIndex имеет только значение index.html, поэтому его тоже нужно найти и отредактировать.
  20. Установка apache в Windows-16

  21. Добавьте еще несколько доступных форматов файлов, чтобы в итоге строка обрела вид DirectoryIndex index.php index.html index.htm.
  22. Установка apache в Windows-17

  23. Для строки AllowOverride None поменяйте состояние на All, удалив предыдущее выражение.
  24. Установка apache в Windows-18

  25. Осталось только найти #LoadModule rewrite_module modules/mod_rewrite.so и убрать значок #, активировав тем самым строку.
  26. Установка apache в Windows-19

  27. В итоге она должна отображаться так, как это показано на следующем скриншоте.
  28. Установка apache в Windows-20

  29. Если с поиском конкретных строк у вас возникают проблемы, используйте сочетание клавиш Ctrl + F, чтобы вызвать инструмент «Найти» и вписать там необходимое выражение.
  30. Перед выходом не забудьте сохранить изменения в конфигурационном файле.

Шаг 3: Первый запуск локального веб-сервера

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

  1. Щелкните правой кнопкой мыши по меню «Пуск» и из появившегося меню выберите пункт «Windows PowerShell (администратор)».
  2. Введите команду c:\Server\bin\Apache24\bin\httpd.exe -k install и нажмите Enter для ее активации. Она установит компоненты Apache и подготовит их к работе.
  3. Установка apache в Windows-24

  4. После получения информации об успешной установке сервисов переходите к следующему шагу.
  5. Установка apache в Windows-25

  6. Запуск веб-сервера осуществляется через команду c:\Server\bin\Apache24\bin\httpd.exe -k start.
  7. Установка apache в Windows-26

  8. Появится оповещение Безопасности Windows, которое следует подтвердить, нажав «Разрешить доступ».
  9. Установка apache в Windows-27

  10. Откройте любой браузер и перейдите по адресу http://localhost/. Если на странице появилась надпись «Index of /», значит, все действия выполнены правильно.
  11. При получении ошибки в консоли, свидетельствующей об отсутствии необходимых папок, перейдите в каталог «Server», создайте там директорию «data» с подпапкой «htdocs».
  12. Установка apache в Windows-29

Наша группа в TelegramПолезные советы и помощь

Apache HTTP-сервер представляет из себя кроссплатформенное программное обеспечение, назначение которого прежде всего это – размещение сайтов. Веб-сервер Apache поддерживает различные операционные системы, в том числе и Windows. Здесь разберём, как установить и настроить Apache для работы веб-страницы на Windows Server. В качестве примера будем использовать виртуальный выделенный сервер под управлением Windows Server 2022.

Предварительные работы

Перед тем, как приступить непосредственно к настройке веб-сервера, необходимо установить пакет Visual C++, содержащий компоненты среды, необходимые для запуска приложений C++, а именно, Visual C++ Redistributable for Visual Studio 2015. Данный пакет требуется для запуска Apache. Чтобы получить дистрибутив, перейдите по ссылке, где кликните Download.

В следующем окне отметьте 64-х разрядную версию дистрибутива и ещё раз нажмите Download.

После чего запустите на выполнение загруженный установщик, где активируйте согласие с условиями соглашения, затем нажмите Install.

Загрузка и установка веб-сервера

Теперь можно обратиться к установке непосредственно веб-сервера. Zip-архив Apache доступен на его странице загрузки. Перейдите на неё и кликните в строку, содержащую 64-х битную версию веб-сервера.

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

Настройка веб-сервера

Далее, переходим к настройке конфигурации Apache. Для этого необходимо внести изменения в конфигурационный файл httpd.conf, который расположен в папке conf каталога веб-сервера. Откройте файл для редактирования и прежде всего найдите строку Define SRVROOT "C:/Apache24". После чего приведите её в соответствие с тем, куда вы разместили и как переименовали каталог Apache24. В нашем примере изменять данную строку необходимости нет.

Если в установленной версии конфигурационного файла отсутствует параметр Define SRVROOT, то имя каталога необходимо прописать в следующих строках, заменив значение ${SRVROOT} на путь к директории веб-сервера:

  • ServerRoot "${SRVROOT}"
  • DocumentRoot "${SRVROOT}/htdocs"
  • <Directory "${SRVROOT}/htdocs">
  • ScriptAlias /cgi-bin/ "${SRVROOT}/cgi-bin/"

Затем найдите строку, которая содержит Options Indexes FollowSymLinks, и дополните её ещё одним значением, чтобы строка выглядела следующим образом:

Options Indexes FollowSymLinks ExecCGI

Далее, необходимо разрешить веб-серверу выполнять файлы .cgi и .pl. Это должно позволить запускать CGI- и Perl-скрипты вне директории cgi-bin. Для этого отыщите следующую строку:

#AddHandler cgi-script .cgi

И в начале строки удалите символ #, тем самым актировав данную настройку. Следующей строкой добавьте ещё одну:

AddHandler cgi-script .pl

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

ScriptInterpreterSource Registry

Для применения внесённых изменений сохраните файл httpd.conf.

Запуск веб-сервера

На следующем шаге мы попробуем запустить веб-сервер. Сделать это можно из командной строки или из оболочки PowerShell. В первом случае откройте командную строку, для чего используйте комбинацию клавиш Win R, либо строку поиска, где наберите cmd.

В открывшейся командной строке запустите исполняемый файл httpd.exe из директории bin, расположенной в каталоге веб-сервера:

C:\Apache24\bin\httpd.exe

Запуск командной оболочки PowerShell так же производится при помощи клавиш Win R или строки поиска, где следует набрать powershell. Активация веб-сервера производится командой:

& "C:\Apache24\bin\httpd.exe"

Чтобы убедиться, что веб-сервер работает, откройте на вашем VPS браузер и перейдите в нём по адресу http://localhost:

Настройка брандмауэра

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

Запуск брандмауэра осуществляется с использованием опять же комбинации Win R, где следует набрать firewall.cpl. После открытия окна Windows Defender Firewall кликните в строку Advanced settings.

В открывшемся окне перейдите в Inbound Rules и кликните в New Rule.

В стартовом окне мастера активируйте строку Program и нажмите Next.

Затем при помощи кнопки Browse выберите файл httpd.exe из каталога bin, после чего нажмите Next.

В следующем окне отметьте все чекбоксы и снова нажмите Next.

И наконец, в строке Name укажите название нового правила и для его сохранения кликните Finish.

Теперь ваша веб-страница будет доступна из сети в том числе и с вашей локальной рабочей станции. Чтобы перейти к ней наберите в адресной строке браузера IP-адрес вашего удалённого сервера или имя домена, A-запись которого настроена на этот IP-адрес.

Запуск Apache как службы

На данном этапе необходимо произвести запуск веб-сервера так, чтобы он функционировал как служба. Это позволит отказаться от использования командной строки и оболочки PowerShell для запуска Apache, поскольку веб-сервер будет работать в фоновом режиме. Для этого откройте командную строку, перейдите в каталог bin и запустите файл httpd.exe со следующими параметрами:

httpd.exe -k install

Таким образом, Apache теперь будет работать как служба и проверить это можно в менеджере служб. Чтобы это сделать используйте комбинацию клавиш Win R, где введите services.msc. В списке найдите службу Apache2.4, откройте её и убедитесь, что служба запущена. Если это не так, нажмите Start.

Последнее обновление: 25.11.2023

Для работы с PHP нам потребуется веб-сервер. Обычно в связке с PHP применяется веб-сервер Apache. Официальный
сайт проекта — https://httpd.apache.org/. Там же можно найти всю подробную информацию о релизах, скачать исходный код.
Однако официальный сайт не предоставляет готовых сборок для ОС Windows.

Перед установкой Apache следует отметить, что если наша ОС Windows, то в системе должны быть установлен пакет для C++, который можно найти по адресу
для 64-битной и для 32-битной.

Итак, если нашей ОС является Windows, перейдем на сайт http://www.apachelounge.com/, который предоставляет дистрибутивы Apache для Windows:

Загрузка веб-сервера Apache

В разделе Apache 2.4 binaries VS17 выберем последнюю версию дистрибутива сервера. На странице загрузок мы можем
найти две версии пакета Apache — для 64-битных систем и для 32-битных.

После загрузки пакета Apache распакуем загруженный архив. В нем найдем папку непосредственно с файлами веб-сервера — каталог Apache24.
Переместим данный каталог на диск C, чтобы полный путь к каталогу составлял C:/Apache24.

Запуск Apache

В распакованном архиве в папке bin найдем файл httpd.exe

Запуск веб-сервера Apache

Это исполняемый файл сервера. Запустим его. Нам должна открыться следующая консоль:

веб-сервер Apache httpd.exe

Пока работает это приложение, мы можем обращаться к серверу. Для его тестирования введем в веб-браузере адрес
http://localhost. После этого веб-браузер должен отобразить следующую страницу:

it works в веб-сервере Apache

Эта страница символизирует, что наш веб-сервер работает, и мы можем с ним работать.

Конфигурация веб-сервера

Теперь проведем конфигурацию сервера, чтобы связать его с ранее установленным интерпретатором PHP.. Для этого найдем в папке веб-сервера
в каталоге conf (то есть C:\Apache24\conf ) файл httpd.conf

конфигурация веб-сервера Apache и связь с PHP

Откроем этот файл в текстовом редакторе. httpd.conf настраивает поведение веб-сервера.
Мы не будем подобно затрагивать его описания, а только лишь произведем небольшие изменения, которые потребуются нам для работы с PHP.

Прежде всего подключим PHP. Для этого нам надо подключить модуль php, предназначенный для работы с apache. В частности, в папке
php мы можем найти файл php8apache2_4.dll:

php8apache2_4.dll и веб-сервер Apache и связь с PHP

Для подключения php найдем в файле httpd.conf конец блока загрузки модулей LoadModule

//......................
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule watchdog_module modules/mod_watchdog.so
#LoadModule xml2enc_module modules/mod_xml2enc.so

И в конце этого блока добавим строчки

LoadModule php_module "C:/php/php8apache2_4.dll"
PHPIniDir "C:/php"

Далее укажем место, где у нас будут храниться сайты. Для этого создадим, например, на диске С каталог localhost. Затем найдем в файле httpd.conf
строку

DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">

По умолчанию в качестве хранилища документов используется каталог «c:/Apache24/htdocs». Заменим эту строку на следующую:

DocumentRoot "c:/localhost"
<Directory "c:/localhost">

Изменим пути файлам, в которые будут заноситься сведения об ошибках или посещении сайта. Для этого найдем строку

ErrorLog "logs/error.log"

И заменим ее на

ErrorLog "c:/localhost/error.log"

Далее найдем строку

CustomLog "logs/access.log" common

И заменим ее на

CustomLog "c:/localhost/access.log" common

Таким образом, файл error.log, в который записываются ошибки, и файл access.log, в который заносятся все
данные о посещении веб-сайта, будут располагаться в папке c:/localhost.

Затем найдем строчку:

#ServerName www.example.com:80

И заменим ее на

ServerName localhost

Далее найдем блок <IfModule mime_module>:

<IfModule mime_module>
    #
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig conf/mime.types

И под строкой <IfModule mime_module> добавим две строчки:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

То есть должно получиться:

<IfModule mime_module>
	AddType application/x-httpd-php .php
	AddType application/x-httpd-php-source .phps
    #
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig conf/mime.types

В данном случае мы добавили поддержку для файлов с расширением .php и .phps.

И в конце найдем блок <IfModule dir_module>:

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

И заменим его на следующий:

<IfModule dir_module>
	DirectoryIndex index.html index.php
</IfModule>

В данном случае мы определяем файлы, которые будут выполняться при обращении к корню файла или каталога. То есть по сути определяем главные страницы
веб-сайта: index.html и index.php.

Это минимально необходимая конфигурация, которая нужна для работы с PHP.

Теперь наша задача — убедиться, что php подключен и работает правильно. Для этого перейдем в папку c:/localhost, которую мы создали для хранения
файлов веб-сервера, и добавим в нее обычный текстовый файл. Переименуем его в index.php и внесем в него следующее содержание:

<?php
phpinfo();
?>

В данном случае мы создали простейший скрипт, который выводит общую информацию о PHP.

Теперь заново запустим файл httpd.exe и обратимся к этому скрипту, набрав в строке браузера
адрес http://localhost/index.php

phpinfo

Что тут произошло? При обращении к сайту на локальной машине в качестве адреса указывается http://localhost.
Затем указывается имя ресурса, к которому идет обращение. В данном случае в качестве ресурса используется файл
index.php. И так как в файле httpd.conf в качестве хранилища документов веб-сервера указан каталог C:\localhost, то именно в этом каталоге и будет
веб-сервер будет производить поиск нужных файлов.

И поскольку выше при конфигурировании мы указали, что в качестве главной страницы может использоваться файл index.php, то мы можем также обратиться к
этому ресурсу просто http://localhost/

Таким образом, теперь мы можем создавать свои сайты на php.

Установка веб-сервера в качестве службы

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

C:\Apache24\bin\httpd.exe -k install

Установка Apache и PHP

То есть в данном случае прописываем полный путь к файлу httpd.exe (C:\Apache24\bin\httpd.exe) и далее указываем команду на установку службы -k install.

Если установка завершится удачно, то в командная строка отобразит сообщение «The Apache2.4 service is successfully installed». Также будет проведено тестирование сервера.

После установки службы убедимся, что она запущена

Установка Apache и PHP в качестве службы Windows

Last Updated :
06 Jun, 2024

Apache HTTP Server, commonly known as Apache, is a widely used, powerful, and secure web server it is an ideal choice for hosting web applications. Popular deployment options include Apache Lounge, Bitnami WAMP Stack, WampServer, and XAMPP. Each option has its advantages and disadvantages, but in this guide, we will focus on Apache Lounge due to its high customizability.

Installing Apache HTTP Server on Windows

1. Downloading Apache HTTP Server

First, visit the official Apache HTTP Server download page: Apache HTTP Server Downloads.

Choosing the appropriate Apache server is recommended as per needs. for this article, we choose Apache Lounge.

apache

choose 32 or 64 according to your system

2. Installing Apache HTTP Server

1. First extract the downloaded ZIP folder to a directory of your choice (C:\Apache24).

2. Configure Environment Variables

  • Open the Start menu, search for “env” and select “Edit the system environment variables.”
  • Inside “System variables,” find the Path variable, select it, and click “Edit.”
  • Add the path to the Apache bin directory(C:\Apache24\bin).

3. Open the cmd with adminstator privilages and run following command.

httpd.exe -k install
apachesuccesssfulsetu-(1)

successful setup of apache

3. Configuring Apache HTTP Server

1. Edit the Configuration File:

  • Go to the Apache httpd.conf file (C:\Apache24\) and open the httpd.conf file using a text editor like Notepad. Adjust the configuration settings as necessary. Important settings to review include:
  • ServerRoot: This specifies the directory where Apache is installed (for instance, C:/Apache24).
  • Listen: Here, you define the port number that Apache will utilize (typically set to 80 by default).
  • DocumentRoot: Specify the directory where your web files are located (e.g., C:/Apache24/htdocs).
  • ServerName: Enter the domain name or IP address of your server (e.g., localhost or 127.0.0.1 for local development).

2. Save the Configuration File:

After making the necessary changes, save and close the httpd.conf file.

4. Starting Apache HTTP Server

1. Start the server : In the Command Prompt (running as Administrator), use the following command to start the Apache service:

httpd.exe -k start

2. Verify the Installation:

  • Open a web browser and enter http://localhost or http://127.0.0.1 in the address bar.
  • Find the default page or the message «it Works!». shows the successful setup of Apache HTTP server.
apache-successful-steup

apache serving form port 8080

5. Error Might Occur Starting Apache HTTP Server

1. Error with ServerName

AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::7531:6159:7f2:1e7a. Set the 'ServerName' directive globally to suppress this message

possible solution : go to httpd.config file in apache24 installed directory and uncomment the ServerName localhost:80 to make it globally directive.

2. Error with port

(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted.  : AH00072: make_sock: could not bind to address [::]:80
(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted. : AH00072: make_sock: could not bind to address 0.0.0.0:80
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

Possible solution: change the listen port to 8080 or any port of your choise in httpd.config file.

6.Managing Apache HTTP Server:

1. To start the apache server we run the following command in the cmd(running as adminstartor).

httpd.exe -k start

2. Stopping the Apache HTTP server in the cmd(running as adminstartor) we run this command.

httpd.exe -k stop

3. Restarting the apache HTTP server in the cmd(running as adminstartor) run the following command.

httpd.exe -k restart


Как установить локальный сервер Apache 2.4 на компьютер с Windows?

Использование Apache HTTP Server в Microsoft Windows

Этот документ объясняет, как установить, настроить и запустить Apache 2.4 под Microsoft Windows. Если у вас есть вопросы после просмотра документации (и любых журналов событий и ошибок), вам следует обратиться к списку рассылки, поддерживаемому равноправными пользователями.

В этом документе предполагается, что вы устанавливаете бинарный дистрибутив Apache. Если вы хотите скомпилировать Apache самостоятельно (возможно, для помощи в разработке или отслеживании ошибок), см. Компиляция Apache для Microsoft Windows.

Требования к операционной системе

Основной платформой Windows для запуска Apache 2.4 является Windows 2000 или более поздняя версия. Всегда получайте и устанавливайте текущий пакет обновления, чтобы избежать ошибок операционной системы.

Версии Apache HTTP Server более поздние, чем 2.2, не будут работать ни в одной операционной системе, предшествующей Windows 2000.

Загрузка Apache для Windows

Сам по себе Apache HTTP Server Project не предоставляет бинарные выпуски программного обеспечения, только исходный код. Отдельные коммиттеры могут предоставлять бинарные пакеты для удобства, но это не релиз, подлежащий доставке.

Если вы не можете скомпилировать Apache HTTP Server самостоятельно, вы можете получить бинарный пакет из многочисленных бинарных дистрибутивов, доступных в Интернете.

Популярные варианты развертывания Apache httpd (и, необязательно, PHP и MySQL) в Microsoft Windows включают в себя:

  • ApacheHaus
  • Apache Lounge
  • Bitnami WAMP Stack
  • WampServer
  • XAMPP

Настройка Apache для Windows

Apache настраивается с помощью файлов в подкаталоге conf. Это те же файлы, которые используются для настройки версии Unix, но есть несколько разных директив для Apache в Windows. Смотрите указатель директив для всех доступных директив.

Основные отличия в Apache для Windows:

  • Поскольку Apache для Windows является многопоточным, он не использует отдельный процесс для каждого запроса, как Apache в Unix. Вместо этого обычно работают только два процесса Apache: родительский процесс и дочерний процесс, который обрабатывает запросы. Внутри дочернего процесса каждый запрос обрабатывается отдельным потоком.
  • Директивы управления процессом также различны:

    MaxConnectionsPerChild: Как и директива Unix, она контролирует, сколько соединений будет обслуживать один дочерний процесс перед выходом. Однако, в отличие от Unix, процесс замены не доступен мгновенно. Используйте значение по умолчанию MaxConnectionsPerChild 0, если не указано, как изменить поведение для устранения утечки памяти в сторонних модулях или внутрипроцессных приложениях.

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

    ThreadsPerChild: эта директива является новой. Он сообщает серверу, сколько потоков он должен использовать. Это максимальное количество соединений, которые сервер может обработать за один раз, поэтому убедитесь, что это число достаточно высоко для вашего сайта, если вы получаете много посещений. Рекомендуемое значение по умолчанию — ThreadsPerChild 150, но его необходимо настроить, чтобы отразить наибольшее ожидаемое количество одновременных соединений для принятия.

  • Директивы, которые принимают имена файлов в качестве аргументов, должны использовать имена файлов Windows вместо Unix. Однако, поскольку Apache может интерпретировать обратный слеш как последовательность «escape-символов», вы должны постоянно использовать прямой слеш в именах путей, а не обратный слеш.
  • Хотя в Windows имена файлов обычно не чувствительны к регистру, URL-адреса по-прежнему обрабатываются внутренне как регистрозависимые, прежде чем они сопоставляются с файловой системой. Например, все директивы <Location>, Alias и ProxyPass используют регистрозависимые аргументы. По этой причине особенно важно использовать директиву <Directory> при попытке ограничить доступ к контенту в файловой системе, поскольку эта директива применяется к любому контенту в каталоге, независимо от того, как к нему осуществляется доступ. Если вы хотите убедиться, что в URL используются только строчные буквы, вы можете использовать что-то вроде:

  • RewriteEngine On
    RewriteMap lowercase int:tolower
    RewriteCond "%{REQUEST_URI}" "[A-Z]"
    RewriteRule "(.*)" "${lowercase:$1}" [R,L]

  • При работе Apache требуется доступ на запись только в каталог журналов и любое настроенное дерево каталогов кэша. Из-за проблемы нечувствительных к регистру и коротких имен в формате 8.3 Apache должен проверить все указанные пути. Это означает, что каждый каталог, который оценивает Apache, от корня диска до листа каталога, должен иметь разрешения на чтение и просмотр каталога. Если Apache2.4 установлен в C:\Program Files, то для Apache должны быть видны корневой каталог, Program Files и Apache2.4.
  • Apache для Windows содержит возможность загружать модули во время выполнения, без перекомпиляции сервера. Если Apache скомпилирован нормально, он установит несколько дополнительных модулей в каталог \Apache2.4\modules. Чтобы активировать те или иные модули, необходимо использовать директиву LoadModule. Например, чтобы активировать модуль статуса, используйте следующее (в дополнение к директивам по активации статуса в access.conf):
  • LoadModule status_module "modules/mod_status.so"

    Информация о создании загружаемых модулей также доступна.

  • Apache также может загружать расширения ISAPI (Интерфейс прикладного программирования интернет-сервера), например, используемые Microsoft IIS и другими серверами Windows. Более подробная информация доступна. Обратите внимание, что Apache не может загружать фильтры ISAPI, и обработчики ISAPI с некоторыми расширениями функций Microsoft не будут работать.
  • При запуске сценариев CGI метод, используемый Apache для поиска интерпретатора сценария, настраивается с помощью директивы ScriptInterpreterSource.
  • Поскольку в Windows часто сложно управлять файлами с такими именами, как .htaccess, может оказаться полезным изменить имя этого файла конфигурации для каждого каталога с помощью директивы AccessFilename.
  • Любые ошибки во время запуска Apache регистрируются в журнале событий Windows при работе в Windows NT. Этот механизм действует как резервная копия для тех ситуаций, когда Apache еще не готов использовать файл error.log. Вы можете просмотреть журнал событий приложений Windows с помощью средства просмотра событий, например, Пуск — Настройки — Панель управления — Администрирование — Просмотр событий.

Запуск Apache как сервиса

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

Вы можете установить Apache в качестве службы Windows NT следующим образом из командной строки в подкаталоге Apache bin:

httpd.exe -k install

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

httpd.exe -k install -n "MyServiceName"

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

httpd.exe -k install -n "MyServiceName" -f "c:\files\my.conf"

Если вы используете первую команду без каких-либо специальных параметров, кроме -k install, служба будет называться Apache2.4, и предполагается, что конфигурация будет conf\ httpd.conf.

Удаление службы Apache легко. Просто используйте:

httpd.exe -k uninstall

Определенную службу Apache, которую нужно удалить, можно указать с помощью:

httpd.exe -k uninstall -n "MyServiceName"

Обычный запуск, перезапуск и завершение работы службы Apache обычно выполняется через Apache Service Monitor, с помощью таких команд, как NET START Apache2.4 и NET STOP Apache2.4, или с помощью обычного управления службами Windows. Прежде чем запускать Apache как службу любым способом, необходимо проверить файл конфигурации службы, используя:

httpd.exe -n "MyServiceName" -t

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

httpd.exe -k start -n "MyServiceName"

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

httpd.exe -k stop -n "MyServiceName"

или

httpd.exe -k shutdown -n "MyServiceName"

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

httpd.exe -k restart -n "MyServiceName"

По умолчанию все службы Apache зарегистрированы для запуска в качестве системного пользователя (учетная запись LocalSystem). Учетная запись LocalSystem не имеет прав доступа к вашей сети через какой-либо механизм, защищенный Windows, включая файловую систему, именованные каналы, DCOM или безопасный RPC. Однако он имеет широкие привилегии на локальном уровне.

Никогда не предоставляйте никаких сетевых привилегий учетной записи LocalSystem! Если вам нужен Apache для доступа к сетевым ресурсам, создайте отдельную учетную запись для Apache, как указано ниже.

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

  1. Создайте обычную учетную запись пользователя домена и обязательно запомните ее пароль.
  2. Предоставьте только что созданному пользователю привилегию входить в систему как сервис и действовать как часть операционной системы. В Windows NT 4.0 эти привилегии предоставляются через Диспетчер пользователей для доменов, но в Windows 2000 и XP вы, вероятно, захотите использовать групповую политику для распространения этих параметров. Вы также можете установить их вручную с помощью оснастки MMC Local Security Policy.
  3. Убедитесь, что созданная учетная запись является членом группы «Пользователи».
  4. Предоставьте учетной записи права на чтение и выполнение (RX) всем папкам документов и сценариев (например, htdocs и cgi-bin).
  5. Предоставьте права на изменение учетной записи (RWXD) в директории logs Apache.
  6. Предоставьте учетной записи права на чтение и выполнение (RX) двоичного исполняемого файла httpd.exe.

Обычно рекомендуется предоставлять пользователю доступ к службе Apache в режиме чтения и выполнения (RX) для всего каталога Apache2.4, за исключением подкаталога logs, где пользователь должен иметь права как минимум на изменение (RWXD).

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

Код ошибки 2186 является хорошим признаком того, что вам необходимо просмотреть конфигурацию «Вход в систему» для службы, поскольку Apache не может получить доступ к требуемому сетевому ресурсу. Также обратите пристальное внимание на привилегии пользователя, настроенного для запуска Apache.

При запуске Apache как службы вы можете получить сообщение об ошибке из диспетчера управления службами Windows. Например, если вы попытаетесь запустить Apache с помощью апплета Services на панели управления Windows, вы можете получить следующее сообщение:

Could not start the Apache2.4 service on \\COMPUTER
Error 1067; The process terminated unexpectedly.

(Не удалось запустить службу Apache2.4 на \\ COMPUTER
Ошибка 1067; Процесс неожиданно завершился.)

Вы получите эту общую ошибку, если возникнут проблемы с запуском службы Apache. Чтобы увидеть, что действительно вызывает проблему, вы должны следовать инструкциям по запуску Apache для Windows из командной строки.

Если у вас возникли проблемы со службой, рекомендуется выполнить приведенные ниже инструкции, чтобы попытаться запустить httpd.exe из окна консоли, и устранить ошибки, прежде чем пытаться запустить его как службу снова.

Запуск Apache как консольного приложения

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

Чтобы запустить Apache из командной строки как консольное приложение, используйте следующую команду:

httpd.exe

Apache выполнится и будет работать до тех пор, пока не будет остановлен нажатием Control-C.

Вы также можете запустить Apache с помощью ярлыка «Запуск Apache» в консоли, расположенной в меню Пуск -> Программы -> Apache HTTP Server 2.4.xx -> Управление сервером Apache во время установки. Это откроет окно консоли и запустит Apache внутри него. Если у вас не установлен Apache в качестве службы, окно будет отображаться до тех пор, пока вы не остановите Apache, нажав Control-C в окне консоли, в котором работает Apache. Сервер закроется через несколько секунд. Однако, если у вас установлен Apache в качестве службы, ярлык запускает службу. Если служба Apache уже запущена, ярлык ничего не делает.

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

httpd.exe -k shutdown

Запуску в качестве службы следует отдавать предпочтение перед запуском в окне консоли, потому что это позволяет Apache завершать любые текущие операции и корректно очищаться.

Но если сервер работает в окне консоли, вы можете остановить его, только нажав Control-C в том же окне.

Вы также можете Apache перезапустить. Это заставляет его перечитать файл конфигурации. Любые выполняемые операции разрешено выполнять без перерыва. Чтобы перезапустить Apache, нажмите Control-Break в окне консоли, которое вы использовали для запуска Apache, или введите

httpd.exe -k restart

если сервер работает как сервис.

Примечание для людей, знакомых с версией Apache для Unix: эти команды предоставляют Windows-эквивалент для kill -TERM pid и kill -USR1 pid. Используемая опция командной строки -k была выбрана в качестве напоминания о команде kill, используемой в Unix.

Если окно консоли Apache закрывается сразу или неожиданно после запуска, откройте командную строку в меню Пуск -> Программы. Перейдите в папку, в которую вы установили Apache, введите команду httpd.exe и прочитайте сообщение об ошибке. Затем перейдите в папку logs и просмотрите файл error.log на предмет ошибок конфигурации. Предполагая, что httpd установлен в C:\Program Files\Apache Software Foundation\Apache2.4\, вы можете сделать следующее:

c:
cd "\Program Files\Apache Software Foundation\Apache2.4\bin"
httpd.exe

Затем дождитесь остановки Apache или нажмите Control-C. Затем введите следующее:

cd ..\logs
more < error.log

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

  • -f указывает абсолютный или относительный путь к конкретному файлу конфигурации:
  • httpd.exe -f "c:\my server files\anotherconfig.conf"

    или

    httpd.exe -f files\anotherconfig.conf

  • -n указывает установленную службу Apache, файл конфигурации которой будет использоваться:
  • httpd.exe -n "MyServiceName"

В обоих этих случаях правильный ServerRoot должен быть установлен в файле конфигурации.

Если вы не укажете файл конфигурации с помощью -f или -n, Apache будет использовать имя файла, скомпилированное на сервере, например conf\httpd.conf. Этот встроенный путь относится к каталогу установки. Вы можете проверить имя скомпилированного файла по значению, помеченному как SERVER_CONFIG_FILE, при вызове Apache с ключом -V, например так:

httpd.exe -V

Затем Apache попытается определить свой ServerRoot, выполнив следующие действия в следующем порядке:

  1. Директива ServerRoot через ключ командной строки -C.
  2. Ключ -d в командной строке.
  3. Текущий рабочий каталог.
  4. Запись реестра, которая была создана, если вы выполнили бинарную установку.
  5. Корень сервера скомпилирован в сервер. По умолчанию это /apache, вы можете проверить это с помощью httpd.exe -V и найти значение, помеченное как HTTPD_ROOT.

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

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

Тестирование установки

После запуска Apache (в окне консоли или в качестве службы) он будет прослушивать порт 80 (если только вы не изменили директиву Listen в файлах конфигурации или не установили Apache только для текущего пользователя). Чтобы подключиться к серверу и получить доступ к странице по умолчанию, запустите браузер и введите этот URL:

http://localhost/

Apache должен ответить с приветственной страницей, и вы должны увидеть «It Works!». Если ничего не происходит или вы получаете сообщение об ошибке, посмотрите файл error.log в подкаталоге logs. Если ваш хост не подключен к сети или у вас есть серьезные проблемы с конфигурацией DNS (службы доменных имен), вам, возможно, придется использовать этот URL:

http://127.0.0.1/

Если вы используете Apache на альтернативном порту, вам нужно явно указать это в URL:

http://127.0.0.1:8080/

Как только ваша базовая установка заработает, вы должны правильно ее настроить, отредактировав файлы в подкаталоге conf. Опять же, если вы измените конфигурацию службы Windows NT для Apache, сначала попытайтесь запустить ее из командной строки, чтобы убедиться, что служба запускается без ошибок.

Поскольку Apache не может использовать тот же порт совместно с другим приложением TCP/IP, вам может потребоваться остановить, удалить или перенастроить некоторые другие службы перед запуском Apache. Эти конфликтующие службы включают в себя другие WWW-серверы, некоторые реализации брандмауэра и даже некоторые клиентские приложения (такие как Skype), которые будут использовать порт 80, чтобы попытаться обойти проблемы брандмауэра.

Настройка доступа к сетевым ресурсам

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

Mapped drive letters
           e.g., Alias "/images/" "Z:/"
UNC paths
           e.g., Alias "/images/" "//imagehost/www/images/"

Сопоставленные буквы дисков позволяют администратору поддерживать сопоставление с конкретным компьютером и путем вне конфигурации Apache httpd. Однако эти сопоставления связаны только с интерактивными сеансами и не доступны напрямую для Apache httpd, когда он запускается как служба. Используйте только пути UNC для сетевых ресурсов в httpd.conf, чтобы к ресурсам можно было обращаться последовательно независимо от того, как запущен Apache httpd. (Тайные и подверженные ошибкам процедуры могут обойти ограничение на сопоставленные буквы дисков, но это не рекомендуется.)

Пример DocumentRoot с UNC-путем
DocumentRoot "//dochost/www/html/"

Пример DocumentRoot с IP-адресом в UNC-пути
DocumentRoot "//192.168.1.50/docs/"

Пример Alias и соответствующий каталог с UNC-путем
Alias "/images/" "//imagehost/www/images/"
<Directory "//imagehost/www/images/">
#...
</Directory>

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

Настройка Windows

  • Если в экземпляре операционной системы используется более нескольких десятков конвейерных регистраторов, часто необходимо увеличить «desktop heap». Для получения более подробной информации обратитесь к документации по журналу.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Takeown f c windows old r a
  • Add the path to your mingw w64 bin folder to the windows path environment variable
  • Qualcomm atheros ar938x wireless network adapter драйвер windows 10
  • Всякие программы для windows
  • Как убрать фото icloud из моего компьютера в windows 10