Apache программа что это

Содержание

WEB-сервер Apache

Apache HTTP-сервер, назван именем группы племён североамериканских индейцев апачей; кроме того, является искажённым сокращением от англ. a patchy server; среди русских пользователей общепринято переводное апач) — свободный веб-сервер.

Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6.

Статьи по HTTP-серверу Apache

  • «Установка Apache 2 на сервер с ОС Debian 9»
  • «Установка PHP 7.3 на сервер с Debian 9 (связка NGiNX + Apache)»
  • «Apache. С чего следует начать?»
  • « apache2ctl ( apachectl ) — программа для управления сервером Apache»
  • «apachectl -M — список загруженных модулей Apache»
  • «Установка модуля Apacheapache2-mpm-itk ( libapache2-mpm-itk ) на сервер под ОС Debian 9»
  • «Подключение модуля mpm-itk к серверу Apache под Debian 9»

apache2.conf — основной конфиг Apache 2

Файл конфигурации .htaccess

Как передать реальный IP для Apache, работающем за прокси NGiNX

Информация о материале Родительская категория: Серверы Категория: Apache Просмотров: 6412 Файл дополнительной конфигурации NGiNX и модуль remoteip для Apache 2 для передачи реального IP для Apache, работающем за прокси NGiNX.

Что такое Apache Kafka за 5 минут

Как передать реальный IP для Apache, работающем за прокси NGiNX

После того, как все настройки сервера в связке NGiNX + Apache сделаны, (читать по → этой ссылке), администратор сервера сталкивается в вопросом о том, как передать реальный IP пользователя web-серверу Apache, работающему за проксирующим NGiNX. И это не праздны вопрос и не тривиальная задача. Мало того, что в логи Апача пишутся IP не реальных пользователей, а IP локального NGiNX (127.0.0.1), то есть не несут никаких сведений о том, какой пользователь был на сайте, но и перестают работать все сервисы, привязанные к IP пользователю на сайтах. Как это быстро исправить, рассмотрим в этой статье.

Минимальный конфиг виртуального хоста Apache 2 для настройки работы домена в связке Apache + NGiNX

Информация о материале Родительская категория: Серверы Категория: Apache Просмотров: 2123 Подробная инструкция по созданию минимального файла конфигурации виртуального хоста Apache 2 для настройки работы домена в связке Apache + NGiNX.

Минимальный конфиг виртуального хоста Apache 2 для настройки работы домена в связке Apache + NGiNX

В предыдущей статье был рассмотрен минимальный конфиг виртуального хоста веб-сервера NGiNX, работающей в качестве прокси-сервера для другого веб-сервера — Apache. Надо понимать, что всё это рассматривается на платформе сервера, работающего на Debian 9, но приведённые настройки должны работать на на других операционных системах. В этой статье рассмотрим минимальный файл конфигурации виртуального хоста веб-сервера Apache, в связке с рассмотренным конфигом NGiNX, данное решение позволяет поднимать большое количество сайтов (доменов) на одном рабочем сервере.

Что такое Apache Kafka и зачем это нужно

Подключение модуля mpm-itk к серверу Apache под Debian 9

Информация о материале Родительская категория: Серверы Категория: Apache Просмотров: 1444 Подключение модуля mpm-itk к серверу Apache под Debian 9 и автоматической сменой конфигурации MPM этого WEB-сервера.

Подключение модуля mpm-itk к серверу Apache под Debian 9

После установки модуля Apache libapache2-mpm-itk на сервер под ОС Debian 9, модуль находится на диске сервера, но для его работы, его нужно подключить к Апачу. Данный модуль служит для того, чтобы запускать процессы Apache с правами того пользователя, который является владельцем файлов сайта (по сути, владельцем сайта). О том, как это включить этот модуль и как проверить то, что модуль действительно подключился, рассмотрим в этой статье.

Установка Apache 2 на сервер с ОС Debian 9

Информация о материале Родительская категория: Серверы Категория: Apache Просмотров: 1770 В статье подробно рассмотрена пошаговая установка Apache 2 на удалённый сервер с ОС Debian 9.

Установка Apache 2 на сервер с ОС Debian 9

В этой статье подробно рассмотрим установку сервера Apache 2 на сервер с ОС Debian 9. В этом нет ничего сложного или замысловатого, но есть некоторые моменты (типа обновления списка пакетов и предварительного апгрейда системы) про которые легко забыть. Большой ошибки не будет в том, чтобы просто накатить и развернуть пакет Apache на сервере, но в целях безопасности дальнейшей работы всей системы, всё-таки лучше делать всё последовательно и обо всём вовремя вспоминать.

apache2.conf — конфиг Apache 2 в ISPmanager Lite 5 (Debian 8 связка NGiNX + Apache)

Информация о материале Родительская категория: Apache Категория: apache2.conf Просмотров: 3498 apache2.conf — готовый конфиг Apache 2 в ISPmanager Lite 5 (Debian 8 связка NGiNX + Apache) и пояснения к нему.

apache2.conf — конфиг Apache 2 в ISPmanager Lite 5 (Debian 8 связка NGiNX + Apache)

При переезде на новый сервер без ISPmanager нужно вручную правильно собрать связку NGiNX + Apache. Для того, чтобы было на что ориентироваться, если что-то пойдёт не так, я сохранил исходные конфиги серверов у себя на локальном компьютере. Но, для того, чтобы не лазить по архивам, выискивая нужные файлы, выкладываю конфиг Apache 2 в ISPmanager Lite 5 (Debian 8 связка NGiNX + Apache). К тому же удобнее смотреть в браузере и на сервере в Notepad++, чем в нескольких вкладках.

Установка модуля Apache apache2-mpm-itk (libapache2-mpm-itk) на сервер под ОС Debian 9

Информация о материале Родительская категория: Серверы Категория: Apache Просмотров: 3032 Как установить модуль Apache apache2-mpm-itk (libapache2-mpm-itk) на сервер Debian 9. Инструкция по установке apache2-mpm-itk на сервер Apache 2.

Установка модуля Apache apache2-mpm-itk (libapache2-mpm-itk) на сервер под ОС Debian 9

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

apachectl -M — список загруженных модулей Apache

Информация о материале Родительская категория: Серверы Категория: Apache Просмотров: 2000 Как посмотреть список загруженных модулей Apache с помощью команды apachectl -M или в папке для хранения подключенных модулей Apache /etc/apache2/mods-enabled

apachectl -M — список загруженных модулей Apache

При конфигурировании и обслуживании WEB-сервера Apache важно понимать и точно знать, какие модули к нему подключены (и, значит, установлены в систему). Для того, чтобы узнать, какие модули включены у Apache, можно полазить по файлам этого сервера, а можно воспользоваться командой apachectl -M , которая именно для этой цели предназначена. О том, что это за команда можно прочитать по → этой ссылке, а о том, как её найти в попытках разобраться, что она делает, см. по → этой ссылке.

apache2ctl (apachectl) — программа для управления сервером Apache

Информация о материале Родительская категория: Серверы Категория: Apache Просмотров: 4759 Что такое apache2ctl (или apachectl). /usr/sbin/apache2ctl — bash-скрипт консольного управления сервером Apache. Apache control script.

Читайте также:
Что за программа шпион ВК
apache2ctl (apachectl) — программа для управления сервером Apache

При работе с WEB-сервером Apache часто приходится сталкиваться с командами, начинающимися с apache2ctl (или apachectl ). В этой статье кратко рассмотрим, что это за зверь, откуда у него ноги растут и какой список команд может принимать и обрабатывать apachectl . Первая встреча с ним описана в → этой статье. Ниже копнём немного глубже и посмотрим на то, что же всё-таки из себя представляет apache2ctl .

Как поменять порт WEB-сервера Apache

Информация о материале Родительская категория: Серверы Категория: Apache Просмотров: 11847 Как поменять http-порт 80 Apache на порт 8080. Проверка конфигурации Apache. Перенос Апача с 80-го порта на порт 8080.

Как поменять порт WEB-сервера Apache

Apache (сейчас Apache 2) до сих пор является WEB-сервером по умолчанию и большинство хостингов ставит его единственным HTTP-сервером. Однако, с появлением NGiNX ситуация поменялась, и на 80-м порту предполагается наличие более шустрого NGiNX тогда, как более навороченный Apache ставится уже за ним с тем, чтобы обрабатывать сложные запросы по сборке динамических страниц «на лету». А вся статика (типа картинок, JavaScript и CSS-файлов) отдаётся быстро и сразу NGiNX’ом. Так как порт 80 для всех браузеров до сих пор остался портом для http-запросов, то на этом порту на сервере должен стоять NGiNX, а Apache, как правило, вешается на дополнительный для http порт 8080. В этой статье рассмотрим, как поменять настройки Apache на сервере так, чтобы он отвечал с порта 8080, освободив 80-й порт для NGiNX.

Источник: mb4.ru

Установка и настройка сервера Apache

Apache — это популярнейший свободный веб-сервер. Состоянием на 2020 год он используется на 33% всех сайтов интернета, а это приблизительно 304 миллиарда сайтов. Этот веб-сервер был разработан в далеком 1995, как замена для популярного того сервера NCSA и исправил множество его проблем. Ходят слухи что его имя походит от a patchy, заплатка, так как он исправлял ошибки NCSA.

Сейчас же, это кроссплатформенная программа, поддерживающая Windows, Linux и MacOS и обеспечивающая достаточную гибкость, настраиваемость и функциональность. Программа имеет модульную структуру, что позволяет расширять ее функциональность почти до бесконечности с помощью модулей.

Установить Apache в Linux можно с помощью нескольких команд, но программа предоставляет очень большое количество настроек, которые можно изменить, а также модулей, после включения которых она будет работать лучше. В этой статье будет рассмотрена установка и настройка Apache, в качестве основной системы мы будем использовать Ubuntu, но вы можете повторить эти действия в любом другом дистрибутиве. Будет рассмотрена не только установка самой программы, но и способы ее настройки, настройка виртуальных хостов apache, а также самые полезные модули.

Установка Apache

На данный момент, самая новая версия программы 2.4 поэтому и будет рассмотрена настройка apache 2.4. Как я уже говорил, в Linux программа устанавливается буквально в пару команд. Для установки в Ubuntu сначала обновим систему до самой новой версии:

sudo apt update
sudo apt upgrade

Затем установка apache2:

sudo apt install apache2

В других дистрибутивах пакет программы называется либо так, либо httpd и его установка у вас не вызовет трудностей.

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

sudo systemctl enable apache2

Настройка 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. Вообще говоря, можно было бы обойтись без этих папок, взять все и по старинке свалить в один файл, и все бы работало, но сейчас так никто не делает.

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

apache

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

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

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

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

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

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

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

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

apache1

Директивы 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.pro: Allow from losst.pro.

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

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

apache2

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

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

apache3

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

Настройка сервера Apache через htaccess

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

Важно заметить, что для того, чтобы сервер читал инструкции из .htaccess настройки для этой папки в основном файле или файле виртуального хоста не должны содержать AllowOverride None, чтобы могли работать все настройки нужно AllowOverride All.

А в остальном, здесь может выполняться любая настройка сервера apache, от включения модулей, до обычного изменения доступа к папке. Поскольку все параметры мы уже рассмотрели просто приведем пару примеров:

Order Deny,Allow
Deny from all

Запрещает всем доступ к этой папке, важно применить, для папок с конфигурацией. Чаще всего .htaccess используется для работы с модулем mod_rewrite, который позволяет изменять запросы на лету:

RewriteEngine on
RewriteRule ^product/([^/.]+)/?$ product.php?id=$1 [L]

Но это очень обширная тема и выходит за рамки этой статьи.

Настройка модулей Apache

Как я уже говорил, Apache — модульная программа, ее функциональность можно расширять с помощью модулей. Все доступные модули загрузчики и конфигурационные файлы модулей находятся в папке /etc/apache/mods-available. А активированные в /etc/apache/mods-enable.

Читайте также:
Программа непрерывного образования что это

Но вам необязательно анализировать содержимое этих папок. Настройка Apache 2.4 с помощью добавления модулей выполняется с помощью специальных команд. Посмотреть все запущенные модули можно командой:

apache4

Включить модуль можно командой:

sudo a2enmod имя_модуля

sudo a2dismod имя_модуля

После включения или отключения модулей нужно перезагрузить apache:

sudo systemctl restart apache2

Во время выполнения одной из этих команд создается или удаляется символическая ссылка на файл модуля с расширением load в директории mods-available. Можете посмотреть содержимое этого файла, там только одна строка. Например:

apache5

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

Настройки модулей находятся в той же папке, только в файле с расширением .conf вместо load. Например, посмотрим настройки того же модуля для сжатия deflate:

apache6

Файлы в папке conf-available, это такие же модули, только они установлены отдельно от apache, это может быть конфигурационные файлы для включения модуля php или любого другого языка программирования. Здесь работает все точно так же, только команды для включения и отключения этих модулей немного другие:

a2disconf имя модуля

Как вы убедились, включать модули очень просто. Давайте включим несколько необходимых, но не включенных по умолчанию модулей:

sudo a2enmod expires
sudo a2enmod headers
sudo a2enmod rewrite
sudo a2enmod ssl

Модули expires и headers уменьшают нагрузку на сервер. Они возвращают заголовок Not Modified, если документ не изменился с последнего запроса. Модуль expiries позволяет устанавливать время, на которое браузер должен кэшировать полученный документ. Rewrite позволяет изменять запрашиваемые адреса на лету, очень полезно при создании ЧПУ ссылок и т д. А последний для включения поддержки шифрования по SSL. Не забудьте перезагрузить apache2 после завершения настроек.

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

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

Настройки хостов Apache расположены в папке /etc/apache2/sites-available/. Для создания нового хоста достаточно создать файл с любым именем (лучше кончено с именем хоста) и заполнить его нужными данными. Обернуть все эти параметры нужно в директиву VirtualHost. Кроме рассмотренных параметров здесь будут использоваться такие:

  • ServerName — основное имя домена
  • ServerAlias — дополнительное имя, по которому будет доступен сайт
  • ServerAdmin — электронная почта администратора
  • DocumentRoot — папка с документами для этого домена

apache7

Виртуальные хосты, как и модули нужно активировать. Для этого есть специальные утилиты. Чтобы активировать наберите:

sudo a2ensite test.site

Здесь test.site — имя файла виртуального хоста. Для отключения тоже есть команда:

sudo a2dissite test.site

Настройка виртуальных хостов Apache завершена и на публичном сервере это все бы уже работало, но если вам нужна настройка Apache на домашней машине, то вы ваш новый сайт не откроется в браузере. Браузер не знает такого сайта. И откуда ему знать? DNS службы не могут ничего сообщить об этом доменном имени. Но в системе Linux мы можем сами указать ip адреса для доменных имен в файле /etc/hosts. Поэтому добавляем в конец файла такие строки:

127.0.0.1 test.site
127.0.0.1 www.test.site

Вот, ну теперь будет работать, открывайте браузер, проверяйте.

Выводы

Вот и все. Установка и настройка Apache linux завершена, вы можете использовать программу для размещения ваших сайтов. Более того, вы не просто настроили ее, вы разобрались со всеми подробностями и теперь знаете чуточку больше. Если у вас остались еще вопросы, пишите в комментариях!

Источник: losst.pro

Apache программа что это

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна

Apache HTTP-сервер (от англ. a patchy server, «сервер с заплатками», кроме того, здесь есть аллюзия и к индейскому племени апачей. Среди русских пользователей общепринято искажённое произношение апа́ч) — это полнофункциональный, расширяемый веб-сервер, полностью поддерживающий протокол HTTP/1.1, с открытым кодом.

Сервер может работать практически на всех распространенных платформах. Существуют готовые исполняемые файлы сервера для Windows NT, Windows 9x, OS/2, Netware 5.x и нескольких UNIX-систем. При этом он очень прост в установке и конфигурации.

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

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

Самая простая функция, которую может выполнять Apache – стоять на сервере и обслуживать обычный HTML-сайт. При получении запроса на определенную страницу сервер отправляет ее ответ браузеру. В качестве запроса выступает адрес, набранный в адресной строке браузера.

Для разделения дизайна и функциональной части сайта, а также для упрощения изменения статических объектов существует технология SSI. Она позволяет помещать всю повторяющуюся информацию в один файл (например, top.inc), а затем вставлять в страницы ссылку на нее. Затем, при необходимости изменения информации,– меняется информация только в одном файле. Сервер Apache поддерживает эту технологию и позволяет использовать серверные включения в полном объеме.

Функции Web-сервера выполняет не сам компьютер, а программа, установленная на нём: то есть, когда браузер пользователя подключается к Web-серверу и посылает заголовок GET (просьба передать файл), его запрос обрабатывает именно Apache. Apache проверяет, существует ли указанный в заголовке GET файл, и, если есть, отправляет его вместе с заголовками браузеру.

Apache – это своего рода стандарт Web-сервера в Интернете. Его основным конкурентом является IIS (Internet Information Server) от Microsoft, который работает под Windows. Apache, хотя и существуют его версии под Windows, преимущественно устанавливается на Unix-подобных операционных системах – Lin ux и FreeBSD. Нужно также заметить, что большинство хостеров используют именно Apache, a не IIS. IIS обычно устанавливается на корпоративных серверах, работающих под Windows.

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

В Apache существует поддержка технологии CGI и PHP, а также возможность подключения языков. Это значительно упрощает работу с динамическими интернет-страницами (которыми, по сути, сегодня являются почти все веб-страницы).

На данный момент сервер Apache сейчас установлен на 67% серверов по всему миру.

История создания

Сервер Apache разработан и поддерживается организацией Apache Project.

Первоначально он был разновидностью Web-сервера NCSA, разработанного в Национальном центре разработок суперкомпьютеров Иллинойского университета. Но в 1994 году главный разработчик NCSA ушел из проекта, оставив своих последователей самостоятельно разбираться в его сервере.

Со временем начали появляться исправления и дополнения к серверу NCSA – так называемые patches (патчи, в переводе с английского – «заплатки»). А в апреле 1995 года вышла первая версия сервера Apache, который был основан на версии 1.3 сервера NCSA. Первая версия Apache просто вобрала в себя все известные исправления сервера NCSA. Да и само название Apache произошло именно от этого – «A PatCHy».

Позже Apache стал самостоятельной разработкой. Со второй версии код был переписан заново таким образом, чтобы в нем не содержалось ни намека на код NCSA. Сейчас сервер Apache поддерживается группой программистов-добровольцев Apache Group.

Сервер Apache изначально разрабатывался для ОС Linux и Unix, но со временем были выпущены его версии для ОС Windows и OS/2.

На данный момент разработка ведётся в ветке 2.2, а в версиях 1.3 и 2.0 производятся лишь исправления ошибок безопасности. Сегодня последняя версия ветки 2.4 — это версия 2.4.3, вышедшая 21 августа 2012. Для первой версии последние исправления маркируются как 1.3.42.

Читайте также:
Что за программа обновления автопарка

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

С апреля 1996 и до настоящего времени является самым популярным HTTP-сервером в Интернете. Наивысшие показатели были достигнуты в 2012 году – Apache работал на 67% серверов всего мира. В 2011 году его доля составляла 59%, в 2009-ом – 46%, а в 2007-ом – 51%.

Архитектура Apache

Ядро 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). Помимо этого, параметры могут быть заданы через ключи командной строки.

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

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

С помощью модулей можно реализовать следующее:

  1. Расширение поддерживаемых языков программирования
  2. Добавление дополнительных функций либо модификация основных.
  3. Исправление ошибок
  4. Усиление безопасности.

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

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

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

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

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

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

  • 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.

Существуют внешние средства обеспечения безопасности, например mod_security.

Языки

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

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

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

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

Server Side Includes

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

Управлением SSI занимается модуль mod_include, включённый в базовую поставку Apache.

Apache vs IIS

Споры о выборе Apache или IIS являются столь же давними, как и споры о выборе ОС – Linux или Windows. Поэтому, прежде чем сделать окончательный выбор, стоит адекватно оценить преимущества и недостатки обеих.

Основные преимущества Apache и серверных систем LAMP:

  1. низкие затраты, так как нет необходимости приобретать лицензии на программное обеспечение;
  2. гибкое программирование благодаря открытому исходному кода;
  3. улучшенная безопасность, так как Apache был разработан для операционной системы не-Windows (а большинство вредоносных программ написано под ОС от Microsoft), то он всегда имел репутацию более безопасной системы, чем IIS производства Microsoft.

Преимущества Internet Information Services (IIS):

  1. Windows и IIS поддерживаются корпорацией Microsoft, тогда как Apache поддерживается только пользовательским сообществом;
  2. IIS поддерживает платформу.NET Microsoft и сценарии ASPX;
  3. модули позволяют включить потоковую передачу аудио и видеоконтента.

Сравнив преимущества двух данных серверов, можно сделать несколько выводов. Во-первых, если при выборе сервера стоимость лицензий является главным критерием, то однозначно стоит выбирать комбинацию LAMP, поскольку она избавлена от затрат на лицензирование. Во-вторых, если исходить из критерия безопасности, то Apache снова лидирует – его система несколько более эффективна. В-третьих, IIS работает только на ОС Windows и любые вариации в выборе операционной системы снова приведут к Apache.

Единственный же вариант, при котором связка IIS на платформе Windows станет наилучшим выбором, это максимально удобные для пользователя средства администрирования как главный критерий. Причем, выполняемый сценарий должен полагаться исключительно на ASPX.

Впрочем, возможно разработать решение, которое будет поддерживать работу на обоих серверах.

Источник: gitak.ru

Apache HTTP Server для Windows

Apache HTTP Server — самый популярный веб-сервер (HTTPD) в Интернете с апреля 1996 года. Распространяется с открытым исходным кодом, поддерживает большинство известных операционных систем, таких как Unix/Linux, Windows и т.д. Цель разработчиков — создание безопасного, эффективного, гибкого и расширяемого сервера, отвечающего современным стандартам.

  • Улучшена стабильность
  • Исправлены мелкие ошибки

ТОП-сегодня раздела «Web серверы»

Простой и надёжный инструмент, необходимый каждому веб-мастеру, включающий набор.

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

Apache HTTP Server самый популярный веб-сервер в Интернете с апреля 1996 года. Распространяется с.

PHPTriad — лучший набор для вебмастера (для отладки скриптов), это инсталяционный пакет.

Eserv Mail Server — комплект программ для Windows, превращающих компьютер в intranet- и internet-сервер, позволяющий решать практически любые задачи.

Eproxy Proxy Server — http/https/ftp прокси-сервер. Прокси-сервер – это программа, с помощью которой все.

Отзывы о программе Apache HTTP Server

Вася про Apache HTTP Server 2.4.18 [04-03-2019]

УУУ, только начал постигать азы, а уже задолбался!
3 | 2 | Ответить

baklan про Apache HTTP Server 2.4.18 [10-10-2018]

Что за говно сайт?
Где для винды?
2 | 5 | Ответить

oden про Apache HTTP Server 2.4.9 [28-09-2014]

Спасибо за помощь отстой читай коменты
5 | 24 | Ответить

Serafim про Apache HTTP Server 2.4.9 [16-06-2014]

ребят мне одному кажется. или тут лежит архив для linux? а где для винды?
17 | 15 | Ответить

из деревни про Apache HTTP Server 2.4.9 [06-06-2014]

Хороший, мощный, функциональный сервер.
5 | 3 | Ответить

Источник: www.softportal.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru