Apache

Running Apache as a Service ¶

Apache comes with a utility called the Apache Service Monitor. With it you can see and manage the state of all installed Apache services on any machine on your network. To be able to manage an Apache service with the monitor, you have to first install the service (either automatically via the installation or manually).

You can install Apache as a Windows NT service as follows from the command prompt at the Apache subdirectory:

If you need to specify the name of the service you want to install, use the following command. You have to do this if you have several different service installations of Apache on your computer. If you specify a name during the install, you have to also specify it during any other -k operation.

If you need to have specifically named configuration files for different services, you must use this:

If you use the first command without any special parameters except , the service will be called and the configuration will be assumed to be .

Removing an Apache service is easy. Just use:


The specific Apache service to be uninstalled can be specified by using:

Normal starting, restarting and shutting down of an Apache service is usually done via the Apache Service Monitor, by using commands like and or via normal Windows service management. Before starting Apache as a service by any means, you should test the service’s configuration file by using:

You can control an Apache service by its command line switches, too. To start an installed Apache service you’ll use this:

To stop an Apache service via the command line switches, use this:

or

You can also restart a running service and force it to reread its configuration file by using:

By default, all Apache services are registered to run as the system user (the account). The account has no privileges to your network via any Windows-secured mechanism, including the file system, named pipes, DCOM, or secure RPC. It has, however, wide privileges locally.

Never grant any network privileges to the account! If you need Apache to be able to access network resources, create a separate account for Apache as noted below.

It is recommended that users create a separate account for running Apache service(s). If you have to access network resources via Apache, this is required.

  1. Create a normal domain user account, and be sure to memorize its password.
  2. Grant the newly-created user a privilege of and . On Windows NT 4.0 these privileges are granted via User Manager for Domains, but on Windows 2000 and XP you probably want to use Group Policy for propagating these settings. You can also manually set these via the Local Security Policy MMC snap-in.
  3. Confirm that the created account is a member of the Users group.
  4. Grant the account read and execute (RX) rights to all document and script folders ( and for example).
  5. Grant the account change (RWXD) rights to the Apache directory.
  6. Grant the account read and execute (RX) rights to the binary executable.

It is usually a good practice to grant the user the Apache service runs as read and execute (RX) access to the whole Apache2.5 directory, except the subdirectory, where the user has to have at least change (RWXD) rights.

If you allow the account to log in as a user and as a service, then you can log on with that account and test that the account has the privileges to execute the scripts, read the web pages, and that you can start Apache in a console window. If this works, and you have followed the steps above, Apache should execute as a service with no problems.

Error code 2186 is a good indication that you need to review the «Log On As» configuration for the service, since Apache cannot access a required network resource. Also, pay close attention to the privileges of the user Apache is configured to run as.

When starting Apache as a service you may encounter an error message from the Windows Service Control Manager. For example, if you try to start Apache by using the Services applet in the Windows Control Panel, you may get the following message:

You will get this generic error if there is any problem with starting the Apache service. In order to see what is really causing the problem you should follow the instructions for Running Apache for Windows from the Command Prompt.

Шаг 5. Настройка редиректа

Чтобы все запросы по http автоматически перенаправлялись на https, необходимо настроить перенаправление (redirect). Есть несколько способов это сделать.

В конфигурационном файле

Открываем файл с настройкой виртуальных доменов (как в шаге 3) и дописываем следующее:

<VirtualHost *:80>     ServerName site.ru     RewriteEngine On     RewriteCond %{HTTPS} off     RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} </VirtualHost>

* в конкретном примере, мы перенаправили все запросы для сайта site.ru. ** обратите особое внимание, что если у Вас уже есть VirtualHost *:80 для настраиваемого сайта, необходимо его закомментировать или отредактировать

Установка модуля rewrite

Чтобы перенаправление работало в Apache, необходимо установить модуль rewrite.

а) в CentOS открываем конфигурационный файл и проверяем наличие строки:

vi /etc/httpd/conf.modules.d/00-base.conf

LoadModule rewrite_module modules/mod_rewrite.so

* если ее нет, добавляем; если она закомментирована, снимаем комментарий. 

systemctl restart httpd

б) в Ubuntu:

a2enmod rewrite

systemctl restart apache2

Архитектура

Ядро

Ядро Apache включает в себя основные функциональные возможности, такие как обработка конфигурационных файлов, протокол HTTP и система загрузки модулей. Ядро (в отличие от модулей) полностью разрабатывается Apache Software Foundation, без участия сторонних программистов.

Теоретически, ядро apache может функционировать в чистом виде, без использования модулей. Однако, функциональность такого решения крайне ограничена.

Ядро Apache полностью написано на языке программирования C.

Система конфигурации

Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации:

  • Конфигурация сервера (httpd.conf).
  • Конфигурация виртуального хоста (httpd.conf c версии 2.2, extra/httpd-vhosts.conf).
  • Конфигурация уровня каталога (.htaccess).

Имеет собственный язык конфигурационных файлов, основанный на блоках директив. Практически все параметры ядра могут быть изменены через конфигурационные файлы, вплоть до управления MPM. Большая часть модулей имеет собственные параметры.

Часть модулей использует в своей работе конфигурационные файлы операционной системы (например /etc/passwd и /etc/hosts).

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

Мультипроцессорные модели (MPM)

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

Название Разработчик Поддерживаемые OS Описание Назначение Статус
Apache Software Foundation Linux, FreeBSD Гибридная мультипроцессорно-мультипоточная модель. Сохраняя стабильность мультипроцессорных решений, она позволяет обслуживать большое число клиентов с минимальным использованием ресурсов. Среднезагруженные веб-серверы. Стабильный.
Apache Software Foundation Linux, FreeBSD MPM, основанная на предварительном создании отдельных процессов, не использующая механизм threads. Большая безопасность и стабильность за счёт изоляции процессов друг от друга, сохранение совместимости со старыми библиотеками, не поддерживающими threads. Стабильный.
Apache Software Foundation Linux Гибридная модель, с фиксированным количеством процессов. Высоконагруженные серверы, возможность запуска дочерних процессов используя другое имя пользователя для повышения безопасности. В разработке, нестабильный.
Apache Software Foundation Novell NetWare Мультипоточная модель, оптимизированная для работы в среде NetWare. Серверы Novell NetWare Стабильный.
Apache Software Foundation Microsoft Windows Мультипоточная модель, созданная для операционной системы Microsoft Windows. Серверы под управлением Windows Server. Стабильный.
Steinar H. Gunderson Linux, FreeBSD MPM, основанная на модели prefork. Позволяет запуск каждого виртуального хоста под отдельными uid и gid. Хостинговые серверы, серверы, критичные к изоляции пользователей и учёту ресурсов. Стабильный.
Sean Gabriel Heacock Linux, FreeBSD Модель, созданная на базе MPM perchild. Позволяет запуск каждого виртуального хоста под отдельными uid и gid. Не использует потоки. Обеспечение повышенной безопасности, работа с библиотеками, не поддерживающими threads. Стабильная версия от 4 октября 2007 года, экспериментальная — от 10 сентября 2009 года.

Система модулей

Apache HTTP Server поддерживает модульность. Существует более 500 модулей, выполняющих различные функции. Часть из них разрабатывается командой Apache Software Foundation, но основное количество — отдельными open source-разработчиками.

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

В модулях реализуются такие вещи, как:

  • Поддержка языков программирования.
  • Добавление функций.
  • Исправление ошибок или модификация основных функций.
  • Усиление безопасности.

Часть веб-приложений, например панели управления ISPmanager и VDSmanager реализованы в виде модуля Apache.

Механизм виртуальных хостов

Apache имеет встроенный механизм виртуальных хостов. Он позволяет полноценно обслуживать на одном IP-адресе множество сайтов (доменных имён), отображая для каждого из них собственное содержимое.

Для каждого виртуального хоста можно указать собственные настройки ядра и модулей, ограничить доступ ко всему сайту или отдельным файлам. Некоторые MPM, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и guid.

Также, существуют модули, позволяющие учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.

Configuration Files and Directives ¶

The Apache HTTP Server is configured via simple text files. These files may be located any of a variety of places, depending on how exactly you installed the server. Common locations for these files may be found in the httpd wiki. If you installed httpd from source, the default location of the configuration files is . The default configuration file is usually called . This, too, can vary in third-party distributions of the server.

The configuration is frequently broken into multiple smaller files, for ease of management. These files are loaded via the directive. The names or locations of these sub-files are not magical, and may vary greatly from one installation to another. Arrange and subdivide these files as makes the most sense to you. If the file arrangement you have by default doesn’t make sense to you, feel free to rearrange it.

The server is configured by placing configuration directives in these configuration files. A directive is a keyword followed by one or more arguments that set its value.

The question of «Where should I put that directive?» is generally answered by considering where you want a directive to be effective. If it is a global setting, it should appear in the configuration file, outside of any , , , or other section. If it is to apply only to a particular directory, then it should go inside a section referring to that directory, and so on. See the Configuration Sections document for further discussion of these sections.

Файл apache2.conf

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

Он находится в каталоге /etc /apache2, и, поскольку это текстовый файл, его можно легко редактировать с помощью текстового редактора. Свойства файла конфигурации — глобальные переменные сервера и расширение функциональности.


Глобальные переменные сервера — это переменные, которые определяют общее функционирование:

Таблица директив «Апач». Имя сервера обозначено переменной ServerName, поэтому любое перенаправление или ссылка, существующие в HTML-документах, работают хорошо. Большинство переменных конфигурации распределены среди других небольших файлов, хранящихся в mods-available. .htaccess — это скрытый текстовый файл, который позволяет настроить работу сервера. «Апач» — конкретный каталог без необходимости изменять основной файл конфигурации apache2.conf

Когда веб-клиент запрашивает файл с сервера, он смотрит из корневого каталога в подкаталог, содержащий запрошенный для .htaccess, и принимает во внимание содержащиеся в нем директивы перед выполнением запроса.

Принцип .htaccess:

  1. Запрещает перечисление файлов в каталоге.
  2. Перенаправляет веб-трафик.
  3. Настраивает страницы ошибок.
  4. Ограничивает доступ к определенным файлам.
  5. Запрещает доступ к определенным IP-адресам или диапазонам IP-адресов.
  6. Расширяет функциональность, что связано с вызовами других модулей и файлами конфигурации. Всем директивам, связанных с этим пунктом, будет предшествовать слово «Включить».

Настройка Apache

Уже прошло то время, когда конфигурация Apache хранилась в одном файле. Но оно и правильно, когда все распределено по своим директориям, в конфигурационных файлах легче ориентироваться.

Все настройки содержатся в папке /etc/apache/:

  • Файл /etc/apache2/apache2.conf отвечает за основные настройки
  • /etc/apache2/conf-available/* — дополнительные настройки веб-сервера
  • /etc/apache2/mods-available/* — настройки модулей
  • /etc/apache2/sites-available/* — настойки виртуальных хостов
  • /etc/apache2/ports.conf — порты, на которых работает apache
  • /etc/apache2/envvars

Как вы заметили есть две папки для conf, mods и site. Это available и enabled. При включении модуля или хоста создается символическая ссылка из папки available (доступно) в папку enable (включено). Поэтому настройки лучше выполнять именно в папках available. Вообще говоря, можно было бы обойтись без этих папок, взять все и по старинке свалить в один файл, и все бы работало, но сейчас так никто не делает.

Сначала давайте рассмотрим главный файл конфигурации:

Timeout — указывает как долго сервер будет пытаться продолжить прерванную передачу или прием данных. 160 секунд будет вполне достаточно.

KeepAlive On — очень полезный параметр, позволяет передавать несколько файлов, за одно соединение, например, не только саму html страницу, но и картинки и css файлы.

MaxKeepAliveRequests 100 — максимальное количество запросов за одно соединение, чем больше, тем лучше.

KeepAliveTimeout 5 — таймаут соединения, обычно для загрузки страницы достаточно 5-10 секунд, так что больше ставить не нужно, но и рвать соединение раньше чем загрузились все данные тоже не нужно.

User, Group — пользователь и группа, от имени которых будет работать программа.

HostnameLookups — записывать в логи вместо ip адресов доменные имена, лучше отключить, чтобы ускорить работу.

LogLevel — уровень логирования ошибок. По умолчанию используется warn, но чтобы логи заполнялись медленнее достаточно включить error

Include — все директивы include отвечают за подключение рассмотренных выше конфигурационных файлов.

Директивы Directory отвечают за настройку прав доступа к той или иной директории в файловой системе. Синтаксис здесь такой:

Здесь доступны такие основные опции:

AllowOverride — указывает нужно ли читать .htaccess файлы из этой директории, это такие же файлы настроек и таким же синтаксисом. All — разрешать все, None — не читать эти файлы.


DocumentRoot — устанавливает из какой папки нужно брать документы для отображенияа пользователю

Options — указывает какие особенности веб-сервера нужно разрешить в этой папке. Например, All — разрешить все, FollowSymLinks — переходить по символическим ссылкам, Indexes — отображать содержимое каталога если нет файла индекса.

Require — устанавливает, какие пользователи имеют доступ к этому каталогу. Require all denied — всем запретить, Require all granted — всем разрешить. можно использовать вместо all директиву user или group чтобы явно указать пользователя.

Order — позволяет управлять доступом к директории. Принимает два значения Allow,Deny — разрешить для всех, кроме указанных или Deny,Allow — запретить для всех, кроме указанных. Теперь мы можем запретить доступ к директории для всех: Deny from all, а затем разрешить только для приложения от losst.ru: Allow from losst.ru.

Здесь все эти директивы не используются, поскольку нас устраивают значения по умолчанию, но вот в файлах .htaccess они могут быть очень полезны.

У нас остался файл /etc/apache2/ports.conf:

В нем только одна директива, Listen, которая указывает программе на каком порту нужно работать.

Последний файл /etc/apache2/envvars, его вы вряд ли будете использовать, в нем указанны переменные, которые можно использовать в других конфигурационных файлах.

Дальше поговорим немного о htacess. Совсем немного.

Verify

It is essential that you verify the integrity of the downloaded files using the PGP signatures. Please read How to Verify Downloaded Files for more information on how and why you should verify our releases.

The PGP signatures can be verified using PGP or GPG. First download the KEYS file as well as the .asc signature files for the relevant release packages. Make sure you get these files from the main distribution directory, rather than from a mirror. Then verify the signatures using

% pgpk -a KEYS
% pgpv apache-tika-X.Y.Z-src.zip.asc

or

% pgp -ka KEYS
% pgp apache-tika-X.Y.Z-src.zip.asc

or

% gpg --import KEYS
% gpg --verify apache-tika-X.Y.Z-src.zip.asc apache-tika-X.Y.Z-src.zip

Configuring Access to Network Resources ¶

Access to files over the network can be specified using two mechanisms provided by Windows:

Mapped drive letters
e.g.,
UNC paths
e.g.,

Mapped drive letters allow the administrator to maintain the mapping to a specific machine and path outside of the Apache httpd configuration. However, these mappings are associated only with interactive sessions and are not directly available to Apache httpd when it is started as a service. Use only UNC paths for network resources in httpd.conf so that the resources can be accessed consistently regardless of how Apache httpd is started. (Arcane and error prone procedures may work around the restriction on mapped drive letters, but this is not recommended.)

Variables ¶

The expression parser provides a number of variables of the form . Note that the value of a variable may depend on the phase of the request processing in which it is evaluated. For example, an expression used in an directive is evaluated before authentication is done. Therefore, will not be set in this case.

The following variables provide the values of the named HTTP request headers. The values of other headers can be obtained with the . Using these variables may cause the header name to be added to the Vary header of the HTTP response, except where otherwise noted for the directive accepting the expression. The may be used to circumvent this behavior.

Name

Other request related variables

Name Description
The HTTP method of the incoming request (e.g. )
The scheme part of the request’s URI
The path part of the request’s URI
Same as
The full local filesystem path to the file or script matching the request, if this has already been determined by the server at the time is referenced. Otherwise, such as when used in virtual host context, the same value as
Same as
The date and time of last modification of the file in the format , if this has already been determined by the server at the time is referenced.
The user name of the owner of the script.
The group name of the group of the script.
The trailing path name information, see
The query string of the current request
«» if the current request is a subrequest, «» otherwise
The complete request line (e.g., «»)
The IP address of the remote host
The port of the remote host (2.4.26 and later)
The host name of the remote host
The name of the authenticated user, if any (not available during )
The user name set by
The of the current vhost
The server port of the current vhost, see
The of the current vhost
The protocol used by the request (e.g. HTTP/1.1). In some types of internal subrequests, this variable has the value .
A number that encodes the HTTP version of the request: . For example, corresponds to HTTP/1.1 and corresponds to HTTP/0.9
The major version part of the HTTP version of the request, e.g. for HTTP/1.0
The minor version part of the HTTP version of the request, e.g. for HTTP/1.0
The of the current vhost
The configured (e.g. «»)
The content type of the response (not available during )
The name of the handler creating the response
«» if the request uses http/2, «» otherwise
«» if the request uses https, «» otherwise
«» if the connection uses IPv6, «» otherwise
The HTTP error status of the request (not available during )
The error log id of the request (see )
The error log id of the connection (see )
The peer IP address of the connection (see the module)

Misc variables

Name Description
The current year (e.g. )
The current month (, …, )
The current day of the month (, …)
The hour part of the current time (, …, )
The minute part of the current time
The second part of the current time
The day of the week (starting with for Sunday)
The date and time in the format
The server version string
The date of the API version (module magic number)

Some modules register additional variables, see e.g. .

Any variable can be embedded in a string, both in quoted strings from boolean expressions but also in string expressions, resulting in the concatenation of the constant and dynamic parts as expected.

История

Сервер был написан в начале 1995 года и считается, что его имя восходит к шуточному названию «a patchy » (с англ. — «в заплатках»), так как он устранял ошибки популярного тогда сервера Всемирной паутины NCSA HTTPd 1.3. В дальнейшем, с версии 2.х, сервер был переписан заново и теперь не содержит кода NCSA. На данный момент разработка ведётся в ветке 2.4, а в версиях 1.3, 2.0 и 2.2 производятся лишь исправления ошибок безопасности. На текущий момент последняя версия ветки 2.4 — 2.4.41 (14 августа 2019), для первой версии это 1.3.42.

Веб-сервер Apache разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation и включён во многие программные продукты, среди которых СУБД Oracle и IBM WebSphere.

С апреля и до настоящего времени является самым популярным HTTP-сервером в Интернете. Статистика Netcraft показывает следующие данные об использовании Apache:

  • в августе 2007 года он работал на 51 % всех веб-серверов
  • в мае 2009 года — на 46 %
  • в январе 2011 года — на 59 %, то есть более чем на 160 млн сайтов
  • в январе 2016 года — на 33,56 %, то есть более чем на 304 млн сайтов.

Apache имеет долю рынка в России до 17,45 %. Это самый популярный веб-сервер после NGINX с долей рынка 64,89 %.

Конфигурация и безопасность

Для того чтобы понять, что такое Apache в свете безопасности, нужно рассмотреть его конфигурацию. Большая часть конфигурации выполняется в файле apache2.conf и httpd.conf, в зависимости от системы, в которой ПО работает. Любое изменение этого файла требует перезапуска сервера или повторного принудительного чтения.

Лицензия на программное обеспечение, по которой распространяется базовое ПО «Апач», является отличительной частью истории Apache HTTP Server и сообщества открытого исходного кода. Лицензия позволяет распространять продукты с открытым и закрытым исходным кодом.


Фонд свободного ПО не считает таковым Apache License, совместимого с версией 2 GNU General Public License (GPL), в которой программное обеспечение лицензируется и не интегрировано с ПО. Это нужно учитывать, перед тем как настроить веб-сервер Apache, распространяемого под лицензией GPL. Тем не менее версия 3 GPL включает в себя положение, которое позволяет ему быть совместимым с лицензиями, имеющими оговорки о патентном возмещении.

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

Функциональные возможности

Интеграция с другим ПО и языками программирования

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

К ним относятся:

  • PHP (mod_php).
  • Python (mod python, mod wsgi).
  • Ruby (apache-ruby).
  • Perl (mod perl).
  • ASP (apache-asp).
  • Tcl (rivet)

Кроме того, Apache поддерживает механизмы CGI и FastCGI, что позволяет исполнять программы на практически всех языках программирования, в том числе C, C++, Lua, sh, Java.

Безопасность

Apache имеет различные механизмы обеспечения безопасности и разграничения доступа к данным. Основными являются:

  • Ограничение доступа к определённым каталогам или файлам.
  • Механизм авторизации пользователей для доступа к каталогу на основе HTTP-аутентификации (mod_auth_basic) и digest-аутентификации (mod_auth_digest).
  • Ограничение доступа к определённым каталогам или всему серверу, основанное на IP-адресах пользователей.
  • Запрет доступа к определённым типам файлов для всех или части пользователей, например запрет доступа к конфигурационным файлам и файлам баз данных.
  • Существуют модули, реализующие авторизацию через СУБД или PAM.

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

Также существует механизм suexec, используемый для запуска скриптов и CGI-приложений с правами и идентификационными данными пользователя.

Для реализации шифрования данных, передающихся между клиентом и сервером, используется механизм SSL, реализованный через библиотеку OpenSSL. Для удостоверения подлинности веб-сервера используются сертификаты X.509.

Интернационализация

Начиная с версии 2.0 появилась возможность определения сервером локали пользователя. Сообщения об ошибках и событиях, посылаемые браузеру, теперь представлены на нескольких языках и используют SSI-технологию.

Также, можно реализовать средствами сервера отображение различных страниц для пользователей с различными локалями. Apache поддерживает множество кодировок, в том числе Unicode, что позволяет использовать страницы, созданные в любых кодировках и на любых языках.

Обработка событий

Администратор может установить собственные страницы и обработчики для всех HTTP-ошибок и событий, таких как 404 (Not Found) или 403 (Forbidden). В том числе существует возможность запуска скриптов и отображения сообщений на разных языках.

Server Side Includes

Основная статья: Server Side Includes

В версиях 1.3 и старше был реализован механизм Server Side Includes, позволяющий динамически формировать HTML-документы на стороне сервера.

Hostnames and DNS ¶

In order to connect to a server, the client will first have to resolve the servername to an IP address — the location on the Internet where the server resides. Thus, in order for your web server to be reachable, it is necessary that the servername be in DNS.

If you don’t know how to do this, you’ll need to contact your network administrator, or Internet service provider, to perform this step for you.

More than one hostname may point to the same IP address, and more than one IP address can be attached to the same physical server. Thus, you can run more than one web site on the same physical server, using a feature called virtual hosts.

If you are testing a server that is not Internet-accessible, you can put host names in your hosts file in order to do local resolution. For example, you might want to put a record in your hosts file to map a request for to your local system, for testing purposes. This entry would look like:

A hosts file will probably be located at or .

Clients, Servers, and URLs ¶

Addresses on the Web are expressed with URLs — Uniform Resource Locators — which specify a protocol (e.g. ), a servername (e.g. ), a URL-path (e.g. ), and possibly a query string (e.g. ) used to pass additional arguments to the server.

A client (e.g., a web browser) connects to a server (e.g., your Apache HTTP Server), with the specified protocol, and makes a request for a resource using the URL-path.

The URL-path may represent any number of things on the server. It may be a file (like ) a handler (like server-status) or some kind of program file (like ). We’ll discuss this more below in the section.

The server will send a response consisting of a status code and, optionally, a response body. The status code indicates whether the request was successful, and, if not, what kind of error condition there was. This tells the client what it should do with the response. You can read about the possible response codes in HTTP Server wiki.

Минимальные требования и преимущества

Apache получил широкое признание в сети, с 1996 года он является наиболее часто используемым HTTP-сервером. Достигнул своей максимальной доли рынка в 2005 году, когда сервер использовался на 70 % сайтов во всем мире. В последние годы его доля на рынке сократилась. Примечательно то, что для Apache такой спад не свидетельствует о непопулярности и деградации технологии.

Минимальные требования для эксплуатации:

  1. Процессор – Pentium.
  2. Оперативная память — 64 Мб.
  3. ОС-Microsoft Windows, GNU/Linux.
  4. Размер установки- 50 Мб.

Преимущества:

  1. Модульная конструкция.
  2. Открытый исходный код.
  3. Мультиплатформенная конструкция.
  4. Растяжимость.
  5. Популярность — легко получить помощь и поддержку.

Конструкция

Фюзеляж «Апач» стандартной формы (полумонокок), сделанный из алюминиевых сплавов и высокопрочных и вязких материалов. Машина построена по одновинтовой схемес 4-х лопастным несущим и рулевым винтами. Хвостовой винт Х-образной конфигурации является менее шумным, а расположение лопастей под разными углами подавляет часть шума, производимого несущим винтом.

За посадку «Апач» отвечает 3-х стоечное, нескладное шасси с одним хвостовым колесом и усиленной амортизацией. Оно выдерживает нормальную посадку (со скоростью до 3,05 м/с) и экстренную (до 12,8 м/с). Допускается взлёт и посадка вертолета с поверхностей с небольшим углом наклона (до 12° в продольном направлении и до 15° в поперечном).

На геликоптере «Апач» применили передовое на момент создания оборудование. Все системы наведения, отслеживания цели и оценки поля боя располагались в носовой части.

В состав оборудования вертолета AH-64входили:

  1. Система обнаружения и указания цели TADS.
  2. За обеспечение ночного видения лётчиков отвечает система PNVS, представляющая собой усовершенствованную версию комплекса FLIP. В состав оборудования входит бортовая система ИК-обзора передней полусферы с 30 кратным увеличением.
  3. Шлемы пилотов «Апач» оснастили комплексной системой прицеливания IHADSS. Она даёт возможность полноценно управлять имеющимся вооружением посредством движения головы.

В электронно-оптическую систему TADS (Target Acquisitionand Designation Sights, система ночного видения) входят:

  • лазерный указатель, оснащённый системой слежения (LRF/D);
  • система ИК-обзора передней полусферы;
  • телевизионная система отображения, работающая в дневное время (DT).

Система PNVS давала пилоту «Апач» всю актуальную информацию, необходимую для выполнения боевых задач. Вся техника вертолёта давала лётчикам следующие углы обзора:

  • ± 120° по азимуту.
  • +30°/-60° по углу места.

За полёт вертолета «Апач» отвечают два турбовальных двигателя, взлётная мощность каждого составляла 1695 л.с. Моторы AH-64 установлены в гондолах по бокам фюзеляжа. Подача топлива осуществлялась из двух защищённых баков, совокупная ёмкость которых равна 1157 л. Один бак установлен за сидением летника, а второй – за основным редуктором. Дополнительно на крыльевых узлах подвески вооружения можно прикрепить 4 подвесных топливных бака по 870 л.

Снизу и по бокам кабина пилотов защищена бронёй. Между сиденьями установлена прозрачная защитная перегородка, сделанная из кевлара и полиакрилата. Броня AH-64 обеспечивала частичную защиту от бронебойных пуль калибром до 12,7 мм и снарядов малокалиберных зенитных орудий. Дополнительную защиту несут топливные баки, а также применено дублирование гидравлических систем.

Экипаж машины «Апач» состоит из 2 человек, расположенных тандемно в кабине. Впереди установлено кресло второго летчика-оператора бортового вооружения. За ним расположено приподнятое на 483 мм рабочее место основного пилота.

Вооружение комбинировали в различных пропорциях, исходя из целей и задач операции. Здесь размещали:

  • до 16 противотанковых ракет «Хеллфайр» (поражавшие точечные цели и оснащённые автономной системой наведения);
  • 76шт 70-мм ракет со складным оперением «Hydra»;
  • на концах обоих крыльев можно было разместить УР «Стингер».

Кроме этого под фюзеляжем «Апач» установили одноствольную автоматическую пушку M230E1 «Chain Gun» с максимальным боекомплектом на 1 200 патронов.


С этим читают