Apache

Что такое Apache?

HTTP-сервер Apache:

  • это мощный, гибкий, HTTP/1.1-совместимый веб-сервер
  • реализует последние протоколы, включая HTTP/1.1 (RFC 2616)
  • настраивается и расширяется с сторонними модулями
  • можно настроить, написав «модули» (modules), используя API-интерфейс Apache
  • предоставляет полный исходный код и поставляется с неограниченной лицензией
  • работает в Windows 2000, Netware 5.x и выше, OS / 2 и большинстве версий Unix, а также в нескольких других операционных системах
  • активно развивается
  • поощряет обратную связь пользователей с помощью новых идей, отчетов об ошибках и исправлений

Apache реализует многие часто запрашиваемые функции, в том числе:

  • Базы данных DBM, а также реляционные базы данных и LDAP для аутентификации
  • позволяет вам легко настраивать страницы с защитой паролем с огромным количеством авторизованных пользователей, не заботясь о сервере.
  • Индивидуальные ответы на ошибки и проблемы
  • Позволяет настраивать файлы или даже скрипты CGI, которые возвращаются сервером в ответ на ошибки и проблемы, например. настроить сценарий для перехвата 500 ошибок сервера и выполнить «на лету» диагностику как для пользователей, так и для вас самих.
  • Несколько директив DirectoryIndex. Позволяет вам указать DirectoryIndex index.html index.cgi, который инструктирует сервер либо отправлять назад index.html, либо запускать index.cgi при запросе URL-адреса каталога, в зависимости от того, что находит в каталоге.
  • Неограниченное гибкое переписывание URL-адресов и псевдонимы — у Apache нет фиксированного ограничения на количество псевдонимов и перенаправления, которые могут быть объявлены в файлах конфигурации. Кроме того, мощный механизм перезаписи может быть использован для решения большинства проблем с манипулированием URL-адресами.
  • Консолидация контента — то есть возможность автоматически обслуживать клиентов различной степени сложности и соответствия уровня HTML, а также документы, которые обеспечивают наилучшее представление информации, которую клиент способен принять.
  • Виртуальные хосты. Позволяет серверу различать запросы, сделанные для разных IP-адресов или имен (сопоставленных на одном компьютере). Apache также предлагает динамически настраиваемый массовый виртуальный хостинг.
  • Настраиваемые надежные журналы трубопроводов (Piped Logs). Вы можете настроить Apache для генерации журналов в том формате, который вы хотите. Кроме того, на большинстве архитектур Unix Apache может отправлять файлы журналов в канал, разрешая вращение журнала, фильтрацию ударов, разделение в реальном времени нескольких vhosts на отдельные журналы и асинхронное разрешение DNS на лету.

Как и почему был создан HTTP-сервер Apache?

В документе About Apache объясняется, как проект Apache развивался с самого начала как результат проекта httpd проекта NCSA до его текущего статуса как одного из самых быстрых, эффективных и самых функциональных веб-серверов.

Что такое HTTP-сервер Apache?

Проект HTTP-сервера Apache — совместная разработка программного обеспечения, направленная на создание надежной, коммерческой, функциональной и свободно доступной реализации исходного кода HTTP-сервера. Проект совместно управляется группой добровольцев, расположенных во всем мире, используя Интернет для связи, планирования и разработки сервера и связанной с ним документации. Этот проект является частью Apache Software Foundation. Кроме того, сотни пользователей внесли в проект идеи, код и документацию. Этот файл предназначен для краткого описания истории HTTP-сервера Apache и распознавания многих участников.

Как появился Apache?

Ссылка на информацию (http://httpd.apache.org/ABOUT_APACHE.html)

В феврале 1995 года самым популярным серверным программным обеспечением в Интернете был демон HTTP для общего доступа, разработанный Робом МакКолом (Rob McCool) в Национальном центре суперкомпьютерных приложений (National Center for Supercomputing Applications — NCSA), Университета штата Иллинойс (University of Illinois), Урбана-Шампейн (Urbana-Champaign).

Однако развитие этого httpd застопорилось после того, как Роб покинул NCSA в середине 1994 года, и многие веб-мастера разработали свои собственные расширения и исправления ошибок, которые нуждались в общем распространении. Небольшая группа этих веб-мастеров, связавшись через частную электронную почту, собралась вместе для координации своих изменений (в виде «патчей»).

Брайан Белендорф (Brian Behlendorf) и Клифф Сколник (Cliff Skolnick) собрали список рассылки, общее информационное пространство и логины для основных разработчиков на машине в Калифорнийском заливе с пропускной способностью, предоставленной компанией HotWired. К концу февраля восемь основных участников составили основу оригинальной Apache Group:

  • Brian Behlendorf
  • Roy T. Fielding
  • Rob Hartill
  • David Robinson
  • Cliff Skolnick
  • Randy Terbush
  • Robert S. Thau
  • Andrew Wilson

с дополнительными взносами от:

  • Eric Hagberg
  • Frank Peters
  • Nicolas Pioch

Используя базу данных NCSA httpd 1.3, мы добавили все опубликованные исправления ошибок и полезные улучшения, которые мы смогли найти, протестировали результат на наших собственных серверах и сделали первый официальный публичный выпуск (0.6.2) сервера Apache в апреле 1995 года По совпадению, NCSA возобновил собственное развитие за тот же период, и Брэндон Лонг и Бет Фрэнк из группы разработки NCSA Server присоединились к списку в марте в качестве почетных членов, чтобы эти два проекта могли поделиться идеями и исправлениями.

Ранний сервер Apache был большим хитом, но мы все знали, что кодовая база нуждается в общем капитальном ремонте и редизайне. В мае-июне 1995 года, в то время как Роб Хартилл и остальная группа сосредоточились на внедрении новых функций для 0.7.x (например, предварительно распавшихся дочерних процессов) и поддержки быстро растущего сообщества пользователей Apache, Роберт Тау разработал новую архитектуру сервера (код названный Шамбалой), который включал модульную структуру и API для лучшей расширяемости, распределения памяти на основе пула и адаптивной модели процесса предварительного форкирования. Группа переключилась на эту новую серверную базу в июле и добавила функции от 0.7.x, в результате чего Apache 0.8.8 (и ее братья) в августе.

После обширного бета-тестирования, многие порты для скрытия платформ, новый набор документации (Дэвид Робинсон) и добавление многих функций в виде наших стандартных модулей, Apache 1.0 был выпущен 1 декабря 1995 года.

Менее чем через год после того, как группа была сформирована, сервер Apache передал httpd NCSA в качестве сервера №1 в Интернете, и, согласно опросу Netcraft, он сохраняет эту позицию сегодня.

В 1999 году члены Apache Group создали Apache Software Foundation для предоставления организационной, юридической и финансовой поддержки Apache HTTP Server. Фонд поставил программное обеспечение на прочную основу для будущего развития и значительно расширил количество программных продуктов с открытым исходным кодом, которые подпадают под сферу действия этого фонда.

Вовлечены

Если вы просто хотите отправить случайное предложение / исправление, вы можете просто использовать форму сообщения об ошибке в <http://httpd.apache.org/bug_report.html>. Вы также можете подписаться на рассылку объявлений (announce@httpd.apache.org), которую мы используем для трансляции информации о новых выпусках, исправлениях и предстоящих событиях. Существует много информации о процессе разработки (большая часть из них с серьезной необходимостью обновления), которую можно найти по адресу <http://httpd.apache.org/dev/>.

ПРИМЕЧАНИЕ. Список рассылки разработчиков НЕ является форумом поддержки пользователей; это для людей, активно работающих над разработкой кода сервера. Существует также подпроект «docs» для тех, кто активно занимается разработкой и переводом документации. Если у вас есть вопросы о пользователе / конфигурации, подпишитесь на список пользователей или попробуйте группы новостей USENET «» или «» (в зависимости от используемой вами платформы).

Разработка

Существует основная группа участников, сформированных первоначально из учредителей проекта, и время от времени увеличиваются другими выдающимися вкладчиками. Есть «коммиттеры» (committers), которым предоставляется доступ к репозиториям управления исходным кодом для поддержки проекта или документов, а основная группа теперь управляет проектом, который называется кратким комитетом управления проектами Apache HTTP (Project Management Committee — PMC). Фактически, каждый проект Apache Software Foundation имеет свой собственный PMC, для определения коммиттеров, направления проекта и общего управления.

Термины «The Apache Group» или «Apache Core» больше не используются.

Проект — это меритократия — чем больше работы вы выполняете, тем больше вам будет разрешено делать. Учредители группы устанавливают исходные правила, но их можно изменить голосованием активных членов PMC. Существует группа людей, у которых есть логины на нашем сервере и доступ к репозиториям исходного кода. У всех есть доступ только для чтения к репозиториям. Изменения в коде предлагаются в списке рассылки и обычно проголосованы активными членами — три +1 («да») и нет -1 («нет» голосов или вето) необходимы для совершения изменения кода во время цикл выпуска; Обычно документы сначала совершаются (создаются), а затем меняются по мере необходимости, при этом конфликты разрешаются большинством голосов.

Наш основной способ общения — это список рассылки. Приблизительно 40 сообщений в день проходят по списку и, как правило, очень разговорные по тону. Мы обсуждаем новые функции для добавления, исправления ошибок, проблемы пользователей, события в сообществе веб-серверов, даты выпуска и т. д.

Фактическая разработка кода происходит на локальных машинах разработчиков, причем предлагаемые изменения передаются с использованием патча (вывод унифицированного команда «diff -u oldfile newfile»), а затем применяется к репозиториям управления исходным кодом одним из коммиттеров.

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

Новые члены Комитета по управлению проектами HTTP Apache добавляются, когда один участник часто назначается одним членом и единогласно одобряется участниками голосования. В большинстве случаев этот «новый» участник активно вносит свой вклад в работу группы более шести месяцев, поэтому обычно это простое решение.

Руководящие принципы проекта постоянно развиваются под контролем PMC, поскольку члены группы меняются, а наши инструменты развития/координации улучшаются.

Почему программное обеспечение Apache бесплатно?

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

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

Мы понимаем, что это часто рассматривается как экономическое преимущество одной компании «владеть» рынком — в индустрии программного обеспечения, что означает строго контролировать конкретный канал, который все остальные должны платить за его использование.

Обычно это делается путем «владения» протоколами, через которые компании ведут бизнес, за счет всех других компаний.

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

Кроме того, Apache Software Foundation является органическим объектом; те, кто извлекает выгоду из этого программного обеспечения, используя его, часто вносят свой вклад в него, предоставляя улучшения функций, исправления ошибок и поддержку других в публичных списках и новостных группах.

Усилие, затрачиваемое каким-либо конкретным человеком, обычно довольно светлое, но полученный продукт становится очень сильным. Такие сообщества могут происходить только со свободно доступным программным обеспечением — когда кто-то платил за программное обеспечение, они обычно не хотят исправлять свои ошибки бесплатно.

Можно утверждать, что сила Апача исходит из того, что она свободна, и если бы она была сделана «не бесплатной», она сильно пострадала бы, даже если бы эти деньги были потрачены на настоящую команду разработчиков.

Мы хотим, чтобы Apache Software использовалась очень широко — крупными компаниями, небольшими компаниями, исследовательскими институтами, школами, отдельными лицами, в среде интрасети, везде — хотя это может означать, что компании, которые могут позволить себе коммерческое программное обеспечение, и будут платить за он не моргает, может получить «бесплатную поездку» с помощью Apache.

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

То есть Apache HTTP Sever происходит только от Apache Software Foundation, но многие поставщики поставляют свой собственный продукт «на основе Apache {Project}». Нет {{Vendor} Apache {Product} «, т. к. это злоупотребление марками Apache Software Foundation.

Почему имя «Apache»?

Название «Apache» было выбрано из уважения к индейскому племени индейцев из Апача (Indé), хорошо известному своими превосходными навыками в стратегии ведения войны и их неисчерпаемой выносливостью. Для получения дополнительной информации об Apache Nation мы предлагаем искать Google или AllTheWeb.

Во-вторых, и более популярно (хотя и неправильно) принято, это считается милым именем, которое застряло. Apache — это «A PAtCHy server». Он был основан на каком-то существующем коде и серии «файлов патчей».

В наши дни Apache как таковой означает гораздо больше. Это, прежде всего, Apache Software Foundation, в рамках которого существуют десятки проектов.

Как производительность Apache httpd сравнивается с другими серверами?

Контрольные показатели, как правило, являются мерой конфигурации, а не качеством сервера. То есть, если вы являетесь экспертом в IIS, вы можете заставить его работать быстрее, чем вы можете запустить Apache. Поэтому вы можете найти сравнения различных HTTP-серверов, которые доказывают, что каждый из них быстрее всех остальных. Мы склонны брать тесты производительности сервера с зерном соли.

Насколько тщательно протестирован Apache httpd?

Apache работает на более чем 120 миллионах интернет-серверов (по состоянию на апрель 2010 года) (Source, Netcraft). Он был тщательно протестирован разработчиками и пользователями. Комитет управления проектами Apache HTTP Server поддерживает строгие стандарты перед выпуском новых версий своего сервера, и наш сервер работает без сбоев на более чем половине всех WWW-серверов, доступных в Интернете. Когда появляются ошибки, мы выпускаем исправления и новые версии, как только они доступны.

Каковы будущие планы Apache httpd?

  • продолжать быть «открытым исходным кодом» для HTTP-сервера без взимания платы за использование
  • идти в ногу с достижениями в протоколе HTTP и веб-разработках в целом
  • собирать предложения по исправлениям/улучшениям от своих пользователей
  • удовлетворять потребности поставщиков большого объема, а также случайных пользователей

Кому обращаться за помощью?

Смотри http://httpd.apache.org/support.html

Есть ли еще информация об Apache httpd?

Действительно есть. Смотри официальный сайт веб-сервера Apache — http://httpd.apache.org. Существует также много книг о HTTP-сервере Apache.

Где я могу получить (скачать) Apache httpd?

Вы можете узнать, как загрузить исходный код для Apache на официальном веб-сервере Apache — http://httpd.apache.org.

Почему в моей платформе нет текущей бинарной версии?

Иногда доступность двоичных файлов для одной или другой платформы по адресу http://httpd.apache.org/dist/httpd/binaries/ была источником путаницы для сообщества пользователей, особенно для большого подмножества, которое использует платформу Windows и не является способный самостоятельно создавать httpd и предварительные условия.

Создание двоичных файлов для общего использования не является частью процесса выпуска httpd. По политическим соображениям группа официально не выпускает бинарные файлы и не может обеспечить их постоянную доступность. (Механизмы не существуют для проверки, тестирования и одобрения их — мы можем только официально освободить источник).

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

Некоторые источники для двоичных файлов Windows документируются при использовании HTTP-сервера Apache в Microsoft Windows.

Могу ли я использовать логотип Apache на своем продукте или на веб-сайте?

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

Поделись записью