Что такое веб-сервер Apache и как им пользоваться 🍂
12 апреля 2021
Хостинг
22 876
Время чтения ≈ 11 минут
Интернет невозможно представить без всевозможных сайтов. Все они работают за счёт веб-серверов – программ, отвечающих за передачу данных от физических хранилищ до браузеров пользователей.
Веб-сервер работает в качестве «посредника» между пользователем и физическим сервером. При получении запроса от посетителя он ищет необходимую страницу в каталоге с сайтом и отправляет её в ответ. Браузер принимает полученный файл, обрабатывает его и отображает на экране посетителя.
Передача информации веб-сервера выполняется по протоколу HTTP (HyperText Transfer Protocol), изначально созданного для работы с HTML-страницами. Уже позже стало возможным отправлять через HTTP файлы любых типов. В последнее время преобладают сайты, работающие через HTTPS. Это улучшенная версия HTTP, которая отличается от предшественника тем, что поддерживает шифрование трафика TLS/SSL между пользователем и сервером.
Звание самого популярного веб-сервера в мире уже более 25 лет удерживает за собой Apache HTTP Server, который принято называть сокращенно Apache или «Апач». Сегодня программа обслуживает более 40% всех существующих серверов, включая проекты IBM, eBay, PayPal и Facebook.
Рассмотрим причины популярности Apache подробнее. Это не только пополнит копилку знаний об интернет-технологиях, но и поможет сделать правильный выбор веб-сервера для размещения сайта в будущем.
Что это такое
Apache – это свободное программное обеспечение для размещения веб-сервера. Он хорошо показывает себя в работе с масштабными проектами, поэтому заслуженно считается одним из самых популярных веб-серверов. Кроме того, Apache очень гибок в плане настройки, что даёт возможность реализовать все особенности размещаемого веб-ресурса.
История создания
Apache HTTP Server был выпущен в 1995 году разработчиком Робертом Маккулом из Университета штата Иллинойс (UIUC). Продукт возник как доработанная версия другого HTTP-клиента – NCSA HTTPd 1. 3, созданного Робертом ранее.
Основой для модификации стали многочисленные «патчи» или программные «заплатки» для NCSA. Именно отсюда (а не от индейского племени апачей) изначально и происходит название Apache. Оно расшифровывается как «a patchy server» или «сервер с патчами».
Разработкой и поддержкой продукта с 1999 года занимается организация Apache Software Foundation (ASF) – сообщество экспертов-энтузиастов со всего мира. Этим же некоммерческим фондом была создана официальная лицензия ПО – Apache License.
В 2000 году ASF представило новую версию Apache 2.0 с полностью переработанной архитектурой, свободной от кода NCSA. С этого момента веб-сервер развивается по двум основным веткам – 1.х и 2.х.
Как устроен Apache
Архитектура
Apache состоит из ядра и динамической модульной системы. Параметры системы изменяются с помощью конфигурационных файлов.
Ядро
Ядро Apache разработано Apache Software Foundation на языке C. Основные функции — обработка конфигурационных файлов, протокол HTTP/HTTPS и загрузка модулей. Ядро может работать без модулей, но будет иметь ограниченный функционал.
Модульная система
Модуль – отдельный файл, подключение которого расширяет изначальный функционал ядра. Они могут включаться в состав ПО при первоначальной установке или подгружаться позже через изменение конфигурационного файла.
Большинство из них отвечает за определенный аспект обработки клиентского запроса – поддержку различных языков программирования, безопасность, кэширование, аутентификацию и т.д. Таким образом, большая задача разбивается на несколько фаз, каждую из которых решает отдельный, узкоспециализированный модуль.
Для Apache существует больше 500 модулей. Многие популярные веб-приложения сразу выпускаются в виде модуля к Apache. Например, ISPmanager и VDSmanager.
Конфигурация
Система конфигурации Apache работает на текстовых файлах с прописанными настройками. Она подразделяется на три условных уровня, для каждого из которых имеется свой конфигурационный файл:
- Уровень конфигурации сервера (файл httpd. conf) – основной конфигурационный файл. Действие распространяется на весь механизм веб-сервера.
- Уровень каталога (файл .htaccess) – дополнительный конфигурационный файл. Его директивы охватывают только каталог, где расположен файл, а также вложенные подкаталоги.
- Уровень виртуального хоста (файл httpd.conf> или extra/httpd-vhosts.conf).
Обычно конфигурационные файлы Apache находятся в папке «conf», а дополнительные конфигурационные файлы во вложенной в нее папке «extra». Внести изменения можно как через редактирование самого файла, так и через командную строку.
Виртуальные хосты
Веб-хост – это компонент сервера, отвечающий за обслуживание одного размещенного на нем объекта (сайта, виртуального сервера). Система виртуальных хостов Apache позволяет одновременно запускать несколько проектов с одного IP-адреса.
В Apache можно установить настройки модуля и ядра, а также вводить лимиты на потребление серверных ресурсов (трафик, RAM, CPU) для каждого виртуального хоста в отдельности. Это технологическая основа всего механизма веб-хостинга.
Достоинства и недостатки Apache
Плюсы
- Доступность
- Гибкость настройки. Apache использует несколько конфигурационных файлов для управления веб-сервером. Это позволяет настроить ПО под узконаправленные задачи.
- Функциональность. У Apache динамическая модульная структура. Можно быстро подключать дополнительный функционал в виде скачиваемых модулей, даже без обращения к внешним источникам. Это позволяет решать целый комплекс важнейших задач в области безопасности, кэширования, редактирования URL, распределения нагрузки. Благодаря гибридным модулям MPM, Apache может одинаково успешно обслуживать статический и динамический контент.
Есть возможность оперативно отключать ненужные модули и ускорять работу веб-сервера - Кроссплатформенность. Apache работает как на Windows, так и на всех Unix-подобных системах. Администрирование веб-сервером не имеет серьёзных отличий на разных ОС. Индивидуален только процесс установки и расположение директорий с файлами программы.
- Совместимость. Apache работает на базе скриптовых или веб-ориентированных языков (PHP, Python, Tcl, Ruby, Perl, ASP), что делает его совместимым с самым широким спектром баз данных и серверного ПО. Многие веб-приложения и инструменты сразу выходят со средствами запуска из-под Apache в виде PHP-модуля. Веб-сервер, поддерживает технологии FastCGI и CGI, позволяющие пользоваться программными продуктами на объектно-ориентированных языках Java, sh, C, C++.
- Масштабируемость. Подходит для веб-ресурсов любого масштаба. Apache хорошо работает как на одностраничном сайте (лендинге), так и на многостраничном сайте с ежедневной аудиторией в десятки тысяч посетителей.
- Поддержка пользователей. Apache удерживает первенство популярности среди веб-серверов с 1996 года. За прошедшее время для него создана обширнейшая база документации – как официальной, так и созданной сторонними разработчиками. Готовые, подробно описанные руководства можно найти практически на любой сценарий.
Минусы
- Производительность. Скорость обработки запросов Apache несколько ниже, по сравнению со своими конкурентами. Гибкость веб-сервера в некоторых случаях вредит производительности. Например, Apache приходится каждый раз считывать несколько конфигурационных файлов на сервере, затрачивая системные ресурсы и время. Но этот и многие другие факторы можно исправить, отключив ненужные опции. Правда в таком случае функциональность Apache не будет сильно отличаться от других веб-серверов.
- Сложная конфигурация повышает уязвимость. Возможность подключать модули в Apache это не всегда преимущество. Чем больше модулей, тем сложнее становятся настройки. Соответственно, больше шансов допустить критические пробелы в контуре безопасности.
- Синтаксис конфигов.. В файлах с параметрами программы используются разнообразные переменные, поэтому настройка и управление веб-сервером может показаться сложной новичкам. Упростить администрирование Apache можно с помощью бесплатного инструмента Apache GUI.
- Излишний функционал. Даже без дополнительных модулей Apache предоставляет пользователям массу возможностей. Правда, большинство использует лишь небольшую часть базового функционала приложения. Поэтому часто после установки приходится тратить время на отключение «лишних» модулей.
Альтернативы Apache
NGINX
Nginx (Engine-X, «энжинкс») — второе по популярности веб-серверное приложение и главный конкурент Apache. Было выпущено в 2004 году под открытой лицензией BSD. Изначально приложение создавалось для решения проблемы масштабирования, известной как «10 тысяч соединений» (С10к). Это значит, что до Nginx веб-сервер не был способен одновременно обрабатывать пользовательские запросы более чем с 10 000 подключений.
У этого веб-сервера асинхронная событийно-ориентированная архитектура (event-driven), которая позволяет добиваться быстрого масштабирования даже при минимальных ресурсах. Вместо того, чтобы создавать новый процесс для каждого пользовательского запроса, Nginx обрабатывает множество соединений в едином потоке.
Nginx отлично подходит для веб-проектов с высокой посещаемостью. Однако веб-сервер не может самостоятельно работать с динамическим контентом. Поэтому его чаще используют для статических веб-сайтов или например, в связке с PHP-FPM или Apache HTTP Server как прокси-сервер.
Lighttpd
Веб-сервер Lighttpd (произносится «лайти») — кроссплатформенное программное обеспечение на языке С. Выпущено в 2003 году под лицензией BSD. «Лайти» работает на операционных системах Windows и семейства Unix/Linux. Приложение поддерживает технологии FastCGI, SCGI, HTTP proxy, Auth, перезаписи URL и AJP (с версии 1.5).
Как и Nginx, изначально «Лайти» создавалось для решения проблемы «С10к». Неудивительно, что его специализация — веб-проекты с большой посещаемостью. В числе компаний, использующих Lighttpd, такие гиганты, как Google, Википедия, Яндекс и Ubuntu.
Microsoft IIS
Internet Information Services (IIS) — набор сервисов для создания веб-сервера от компании Microsoft. Распространяется в комплекте с операционными системами Windows NT как дополнительно устанавливаемый компонент. Веб-сервер поддерживает технологии CGI, FastCGI, ISAPI и SSI.
Главная сила IIS – в глубокой интеграции и поддержке продуктов Microsoft. Его часто выбирают те, чьи ресурсы работают на движке ASP.NET и используют скриптовый язык ASPX. Главный недостаток – жесткая привязка к операционной системе Windows и отсутствие версий для Unix/Linux.
Tomcat
Apache Tomcat — это контейнер сервлетов, который обрабатывает спецификации Java. Например, Java Servlet, Java Server Pages (JSP), Java EL и WebSocket. Продукт был разработан фондом Apache Software Foundation на основе открытой лицензии Apache License 2. 0. Tomcat используется как в качестве самостоятельного веб-сервера, так и в связке с Apache HTTP Server.
Приложение написано на языке Java и способно автоматически загружать Java-библиотеки. Его основная специализация — веб-проекты с динамическим содержимым. Но у Apache Tomcat хуже возможности для настройки, что сужает его сферу применения. Например, для запуска WordPress эффективнее использовать обычный HTTP-сервер Apache.
Заключение
Сервер Apache – универсальный инструмент для быстрого и безопасного запуска интернет-проектов разного масштаба. Веб-сервер совместим с большинством существующих операционных систем, программных продуктов и языков разработки.
Для работы с «Апач» пользователю нужен определенный уровень IT грамотности. Желательно знать основы программирования и веб-администрирования. Но процесс сильно упрощает активное сообщество поддержки и отлично развитая база официальной документации.
Раскройте все возможности и преимущества веб-сервера Apache с надёжным хостингом от Eternalhost!
Оцените материал:
[Всего голосов: 3 Средний: 5/5]
Что такое Apache и зачем он нужен — Журнал «Код»
Мы знаем, что если набрать адрес сайта в браузере, то при определённых условиях на экране появится этот сайт. Чтобы он появился, на каком-то удалённом компьютере должна поработать программа, которая отвечает за выдачу этого сайта. Одна из самых распространённых программ, которая совершает эту работу, — Apache, он же «Апач». Вот сегодня о нём.
Что вообще такое сервер
Сервером могут называть две вещи:
- Компьютер или виртуальная машина, на которой запускаются программы для работы сайтов и служб.
- Сами программы, которые что-то отдают пользователю по запросу — файлы, видеоролики, музыку и т. д. Apache — это как раз программа.
Программы-сервера ещё иногда разделяют на веб-сервера, ftp-сервера, почтовые сервера и т. д. То есть если программа обрабатывает запросы на сайты — это веб-сервер. Если программа отвечает за обмен файлами по протоколу ftp — это ftp-сервер. Все эти программы могут работать на одном физическом или виртуальном компьютере, просто отвечать за свой тип запросов.
Смысл веб-сервера
Apache — это как раз веб-сервер, то есть он обрабатывает запросы и отдаёт в ответ на них сайты. Он работает примерно так:
- У него есть список портов, которые он «слушает», — представьте, что это столики, которые обслуживает официант.
- Если на какой-то порт приходит запрос, это равносильно тому, как если бы гость ресторана сделал заказ. Сервер изучает этот заказ и заглядывает в свои внутренние правила: можно ли этот заказ исполнять.
- Чаще всего внутренние правила звучат так: возьми такие-то файлы, запусти такой-то процесс, получи от него такой-то результат и передай его тому, кто этот запрос сделал.
- Иногда клиент заказывает что-то, что нельзя подавать — в правилах стоит запрет. Например, это какой-то секретный документ. Тогда сервер смотрит, как ответить клиенту в этой ситуации. Например, он покажет страницу с ошибкой.
- Когда запрос выполнен (успешно или с ошибкой), сервер снова ждёт нового запроса.
Что такое порт в программировании
Откуда появился Апач
Первая версия этого веб-сервера появилась в 1995 году, когда браузеры стали набирать популярность. Цепочка была такая:
В интернет начали приходить простые пользователи, а не только айтишники → они стали искать и читать то, что им интересно → чтобы им это отдать, серверы напрягались, потому что раньше такой нагрузки не было → старый софт перестал справляться, и появился Апач.
Всё дело в том, что в старом софте и протоколах, которые использовались, был один слабый момент: когда нагрузка становилась большой, система не справлялась, начинала глючить и выдавать не то, не тем и не в нужное время. А название Apachе родилось как созвучное фразе «a patchy server» — сервер, который накладывает заплатки и патчи на существующие технологии.
С тех пор технологии поменялись, а название осталось.
Принцип работы Апача
Апач работает на трёх уровнях: на уровне всего сервера, виртуального хоста и каталога. Настройки каждого уровня задаются в своих файлах.
Уровень всего сервера — это по каким правилам Апач обрабатывает вообще все запросы, которые к нему приходят. Например, можно сказать ему так: на любой запрос показывай ошибку «Доступ запрещён».
👉 За этот уровень отвечает файл httpd.conf.
Уровень виртуального хоста означает, что на компьютере может жить одновременно несколько сайтов, за которые отвечает один веб-сервер. Все запросы распределяются по своим хостам (виртуальным сайтам).
Правила на этом уровне отвечают за то, как конкретный хост будет отвечать на запросы — откуда брать данные, как их обрабатывать и что с ними делать дальше.
👉 За этот уровень отвечает файл extra/httpd-vhosts.conf.
Уровень каталога регулирует, в какие каталоги у пользователя есть доступ, а в какие его пускать нельзя. Если этого не сделать, то, например, кто угодно сможет зайти в каталог с базой данных онлайн-магазина и скачать себе список всех товаров, покупателей и узнать уровень дохода и выручки.
👉 За этот уровень отвечает файл .htaccess. Мы с ним уже встречались в статьях про защиту сервера и про публикацию сайта.
Чтобы настроить Апач, нужно поменять соответствующие настройки в этих файлах. Веб-сервер в них смотрит при каждом запросе, поэтому все новые правила применяются сразу же, как вы их пропишете. Это как если шеф-повар скажет официантам: «Стейки на стопе» — это значит, что мясо на стейки закончилось, больше заказов на стейки не принимайте. Перезагружать для этого сервер не нужно.
Модули
Сам по себе Апач умеет не очень много, но если к нему подключить нужные модули, то всё сразу меняется. Есть отдельные модули:
- для кеширования данных,
- безопасности,
- распределения нагрузки,
- поддержки разных языков программирования,
- поддержки разных протоколов и запросов,
- исправления ошибок и повышения стабильности.
Опытные сисадмины собирают персональную конфигурацию Апача под свои задачи, чтобы получить нужную комбинацию возможностей. Нет смысла подключать все модули, потому что их очень много, а для работы каждого нужны память и ресурсы процессора.
Сделать свой модуль может кто угодно — у Апача открытый исходный код, поэтому можно разобраться, как он устроен и как подключить свой модуль.
В чём хорош Апач
Масштабируемость. Если нагрузка на сервер становится больше, можно запустить второй апач на другом сервере, настроить его на работу с тем же сайтом и распределить нагрузку.
Поддержка и справочная информация. Апачу уже больше 25 лет — за это время накопилось огромное количество документации, примеров использования, комплектов модулей и готовых сценариев. Если у вас есть проблема или вопрос по Апачу, то её до этого уже точно кто-то решил и выложил ответ в сеть.
Поддержка других языков программирования. Нужна поддержка PHP? Есть такое. Python? Легко. Perl? Тоже без проблем. Даже если вам понадобится запускать на сервере что-то на C++ или Java, то Апач тоже сможет с этим помочь.
Что такое PHP и почему его все ненавидят
А ещё у Апача есть версии вообще почти под все операционные системы. Поэтому можно поставить его на свой домашний компьютер и получить поддержку Вордпресса, PHP и остальных систем, для которых раньше нужно было всё заливать на удалённый сервер.
Минусы и недостатки
Когда посетителей на сервере много, Апач работает медленно. А всё потому, что в 1995 году высокой нагрузкой считалось, условно, 1000 посетителей в минуту, а сейчас — миллион. И когда обращений к сайту становится слишком много (а Апач обрабатывает каждое соединение по очереди) — сервер не справляется и тормозит.
Второй недостаток — уязвимость подключаемых модулей. Сам Апач проверен на надёжность и безопасность много раз, а вот в модулях могут быть проблемы. Если подключить модуль, в котором есть дыры в безопасности, то через них можно получить доступ и к серверу, и к файлам, которые на нём хранятся.
Как попробовать
Вы можете запустить собственный веб-сервер прямо на своём компьютере за пять минут. Самый простой способ — скачать MAMP: это пакет для веб-разработчика, в который встроен менеджер баз данных, веб-сервер, движок PHP и другие полезные для веба штуки. Работает так:
- Скачиваете MAMP для своей операционки.
- Устанавливаете.
- Запускаете программу и в ней говорите Start.
- MAMP скажет вам, что сервер запущен, откликается по такому-то адресу и смотрит в такую-то директорию на вашем компе (всё это можно настроить, а можно оставить так). Скорее всего, ваш веб-сервер начнёт откликаться из браузера по запросу http://localhost.
- Зайдите на http://localhost/MAMP/ — там будет вся информация о вашем сервере вплоть до ключей от базы данных и ссылки на запуск инструмента администрирования БД phpMyAdmin.
Далее можно, например, скачать дистрибутив Вордпресса, распаковать его в папку, где работает ваш сервер, и попробовать эту штуку установить. Придётся создавать БД через phpMyAdmin, но об этом в другой раз.
Обратите внимание: MAMP — это локальный сервер. Из внешнего интернета его не видно. Если хотите настроить видимый из внешнего интернета сайт, это несколько сложнее.
Текст:
Михаил Полянин
Редактор:
Максим Ильяхов
Художник:
Даня Берковский
Корректор:
Ирина Михеева
Вёрстка:
Кирилл Климентьев
Соцсети:
Виталий Вебер
Apache | это… Что такое Apache?
Apache HTTP-сервер (произносится /ə.ˈpæ.ʧi/, назван именем группы племён североамериканских индейцев апачей; кроме того, является сокращением от англ. a patchy server; среди русских пользователей общепринято искажённое апа́ч) — свободный веб-сервер.
Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.
Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6.
Содержание
|
История
Сервер был написан в начале 1995 года и считается, что его имя восходит к шуточному названию «a patchy» (англ. «заплаточка»), так как он устранял ошибки популярного тогда сервера Всемирной паутины NCSA HTTPd 1.3. В дальнейшем, с версии 2.х сервер был переписан заново и теперь не содержит кода NCSA, но имя осталось. На данный момент разработка ведётся в ветке 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-сервером в Интернете. Статистика Netcraft показывает следующие данные об использовании Apache:
- в августе 2007 года он работал на 51 % всех веб-серверов[2]
- в мае 2009 года — на 46 %[3]
- в январе 2011 года — на 59 %, т.е. более чем на 160 млн сайтов[4].
Архитектура
Ядро
Ядро 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 | Описание | Назначение | Статус |
---|---|---|---|---|---|
worker | Apache Software Foundation | Linux, FreeBSD | Гибридная мультипроцессорно-мультипоточная модель. Сохраняя стабильность мультипроцессорных решений, она позволяет обслуживать большое число клиентов с минимальным использованием ресурсов. | Среднезагруженные веб-серверы. | Стабильный. |
pre-fork | Apache Software Foundation | Linux, FreeBSD | MPM, основанная на предварительном создании отдельных процессов, не использующая механизм threads. | Большая безопасность и стабильность за счёт изоляции процессов друг от друга, сохранение совместимости со старыми библиотеками, не поддерживающими threads. | Стабильный. |
perchild | Apache Software Foundation | Linux | Гибридная модель, с фиксированным количеством процессов. | Высоконагруженные серверы, возможность запуска дочерних процессов используя другое имя пользователя для повышения безопасности. | В разработке, нестабильный. |
netware | Apache Software Foundation | Novell NetWare | Мультипоточная модель, оптимизированная для работы в среде NetWare. | Серверы Novell NetWare | Стабильный. |
winnt | Apache Software Foundation | Microsoft Windows | Мультипоточная модель, созданная для операционной системы Microsoft Windows. | Серверы под управлением Windows Server. | Стабильный. |
Apache-ITK | Steinar H. Gunderson | Linux, FreeBSD | MPM, основанная на модели prefork. Позволяет запуск каждого виртуального хоста под отдельными uid и gid. | Хостинговые серверы, серверы, критичные к изоляции пользователей и учёту ресурсов. | Стабильный. |
peruser | Sean Gabriel Heacock | Linux, FreeBSD | Модель, созданная на базе MPM perchild. Позволяет запуск каждого виртуального хоста под отдельными uid и gid. Не использует потоки. | Обеспечение повышенной безопасности, работа с библиотеками, не поддерживающими threads. | Стабильная версия от 4 октября 2007 года, экспериментальная — от 10 сентября 2009 года. |
Система модулей
Apache HTTP Server поддерживает модульность. Существует более 500 модулей[5], выполняющих различные функции. Часть из них разрабатывается командой Apache Software Foundation, но основное количество — отдельными open source-разработчиками.
Модули могут быть как включены в состав сервера в момент компиляции, так и загружены динамически, через директивы конфигурационного файла.
В модулях реализуются такие вещи, как:
- Поддержка языков программирования.
- Добавление функционала.
- Исправление ошибок или модификация основных функций.
- Усиление безопасности.
Часть веб-приложений, например панели управления ISPmanager и VDSmanager реализованы в виде модуля Apache.
Механизм виртуальных хостов
Apache имеет встроенный механизм виртуальных хостов. Он позволяет полноценно обслуживать на одном IP-адресе множество сайтов (доменных имён), отображая для каждого из них собственное содержимое.
Для каждого виртуального хоста можно указать собственные настройки ядра и модулей, ограничить доступ ко всему сайту или отдельным файлам. Некоторые MPM, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и guid.
Также, существуют модули, позволяющие учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.
Функциональные возможности
Интеграция с другим ПО и языками программирования
Существует множество модулей, добавляющих к Apache поддержку различных языков программирования и систем разработки.
К ним относятся:
- PHP (mod_php).
- Python (mod python, mod wsgi).
- Ruby (apache-ruby).
- Perl (mod perl).
- ASP (apache-asp)[6].
- Tcl (rivet[7])
Кроме того, 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
Основная статья: Server Side Includes
В версиях 1.3 и старше был реализован механизм Server Side Includes, позволяющий динамически формировать HTML-документы на стороне сервера.
Управлением SSI занимается модуль mod_include, включённый в базовую поставку Apache.
См. также
В Википедии есть портал «Свободное программное обеспечение» |
- Список веб-серверов
- LAMP — комплект из Linux, Apache, MySQL, PHP и пр.
- WAMP— комплект из Windows, Apache, MySQL, PHP и пр.
Примечания
- ↑ Programming Language Index (англ.). Apache Software Foundation. Архивировано из первоисточника 30 мая 2012. Проверено 21 июня 2009.
- ↑ Web Server Survey — August 2007 (англ.). Netcraft (август 2007). Архивировано из первоисточника 30 мая 2012. Проверено 21 июня 2009.
- ↑ Web Server Survey — May 2009 (англ.). Netcraft (май 2009). Архивировано из первоисточника 30 мая 2012. Проверено 21 июня 2009.
- ↑ January 2011 Web Server Survey (англ.). Архивировано из первоисточника 25 августа 2011. Проверено 14 января 2011.
- ↑ Apache Module Registry (англ.)
- ↑ Apache::ASP (англ.)
- ↑ Rivet — Webscripting for Tcl’ers
Литература
- Скотт Хокинс. Администрирование веб-сервера Apache и руководство по электронной коммерции = Apache Web Server Administration and e-Commerce Handbook. — М.: Вильямс, 2001. — 336 с. — ISBN 0-13-089873-2
Ссылки
- Официальный сайт (англ.)
- Apache HTTP Server Wiki (англ.)
- Apache 2 on Windows (англ.)
- Настройка связки Apache + PHP + MySQL + phpMyAdmin для Windows7 (рус.)
- Установка сервера Apache, MySQL и PHP на Windows (рус.)
- Детальное руководство по установке и настройке виртуального сервера Apache на примере сборки XAMPP (рус.)
- Архитектура Apache. Проект The Apache Modeling Project (рус.)
- Проект по переводу документации к Apache на русский (рус.)
Apache – что это, как устроен, достоинства и недостатки — Блог
Автор: Артур Бережной
2 мин.
Apache – свободный веб-сервер, кроссплатформенное программное обеспечение, обеспечивающее работу примерно 1/3 сайтов в глобальной сети Интернет. Разработкой и поддержкой этого ПО занимается сообщество ASF (Apache Software Foundation), сформировавшееся в 1999 году. Именно эта организация разработала Apache License, которая столь широко используется на других проектах.
Артур Бережной
эксперт широкого профиля
О чем вы узнаете в этой статье?
- Как организован Apache: об архитектуре
- Ядро Apache
- Система конфигурации Apache
- Преимущества и недостатки веб-сервера Apache
- Пару слов напоследок
В этой статье мы расскажем, как организован Apache HTTP Server, каковы его преимущества и недостатки по сравнению с другими популярными веб-серверами.
Как организован Apache: об архитектуре
Основной функциональной особенностью Apache является модульная система, которая позволяет отключать или подключать отдельные компоненты по своему усмотрению. Кроме того, модули мультипроцессинга Apache, отвечающие за обработку запросов клиентов, позволяют гибко настраивать политику обработки подключений. Вот ключевые MPM-модули Apache:
- mpm_prefork – формирует однопоточные процессы на входящие запросы;
- mpm_worker – генерирует процессы, которые обеспечивают управление несколькими потоками одновременно, по одному потоку на одно соединение;
- mpm_event – в чем-то похож на предыдущий модуль, но в данном случае реализована оптимизация под keep-alive соединения.
Это трио позволяет гибко конфигурировать и настраивать политику обработки соединений и запросов, и именно в этом заключается фундаментальное преимущество Apache.
Веб-сервер Apache является кроссплатформенным программным обеспечением, он прекрасно работает как на всех Unix-подобных системах, так и на Windows Server. Это также вносит свою лепту в рост популярности данного ПО. А благодаря модульной структуре системные администраторы могут включать и отключать дополнительные компоненты, чтобы расширить базовый арсенал возможностей, или отключить какие-то лишние, снизив таким образом нагрузку на сервер. В теории вы можете отключить вообще все лишние модули, оставив одно только ядро, но в этом случае функциональность веб-сервера будет крайне ограниченной.
Ядро Apache
Оно полностью написано на языке программирования C, его функциональные возможности ограничены обработкой конфигурационных файлов и исполнение протокола HTTP. Также ядро оснащено системой загрузки модулей, этот функционал никак не отключается и является фундаментальным.
Различные модули имеют, как правило, узкую специализацию – например, это может быть кэширование входящих запросов или аутентификация. Для Apache существуют сотни динамических модулей, которые конфигурируются через ядро.
Система конфигурации Apache
Осуществляется через текстовые конфиги, в которых хранятся параметры и настройки для работы системных компонентов и ПО. Например, в файле httpd.conf содержатся директивы, управляющие функционированием всего веб-сервера, а .htaccess хранит в себе данные о настройках Apache в рамках того каталога, где размещен файл, а также в его дочерних директориях.
Уровень виртуального хоста модерируется через файл extra/httpd-vhosts.conf, этот файл имеет критическое значение для тех компаний, которые запускают множество VPS на одном физическом сервере.
Apache очень гибкий веб-сервер, через эти конфиги вы можете скорректировать практически любые параметры ядра. Это позволяет сисадминам более глубоко настраивать систему под индивидуальные задачи предприятия.
Преимущества и недостатки веб-сервера Apache
Постараемся максимально объективно оценить все плюсы и минусы Apache. Начнем с его преимуществ:
- Это полностью бесплатное ПО, ничего не нужно платить даже в случае коммерческого использования продукта.
- Совместимость с различным ПО, написанным на языках Python, PHP, Perl и многих других.
- Отличная масштабируемость.
- Высокий уровень стабильности и отказоустойчивости. Здесь, правда, есть нюанс – в кривых руках даже Mercedes не заведется. Нужно с умом подключать модули к Apache и грамотно его конфигурировать, в противном случае можно легко получить нестабильную машину с кучей проблем.
- Apache может интерпретировать запросы как физический ресурс в файловой системе, требующий дополнительной обработки.
- Регулярно получает обновления и улучшения, в том числе и для системы безопасности.
- Легко настраивается и достаточно дружелюбен по отношению к новым пользователям. При этом мнимая простота не лишает этот веб-сервер функциональности – вариантов настройки здесь бесконечное множество.
- Кроссплатформенность.
- Отлично сочетается с сайтами на WordPress, доля которых по состоянию на 2021 год составляет примерно 39.5% от общего числа сайтов. Также Apache совместим с Drupal, Joomla и другими.
- Обширное комьюнити – в случае каких-то проблем вы легко сможете найти человека, который знает, как всё исправить и заставить работать.
- Возможность конфигурирования на уровне директорий через файл .htaccess. Это сильно повышает гибкость сервера.
- Открытый исходный код позволяет при наличии знания и опыта глубоко адаптировать программное обеспечение под свои задачи.
По недостаткам здесь всё намного скромнее. Во-первых, Apache считается не самым удачным вариантом для сайтов с очень высоким трафиком, в таких случаях лучше подойдет Nginx. Во-вторых, отдельные модули могут быть уязвимы с точки зрения безопасности, поэтому их нужно внимательно конфигурировать. И третье – большинство встроенных функций и возможностей в веб-сервер Apache могут оказаться избыточными и ненужными для держателей сайтов. Для разработчиков – да, здесь пригодится всё. Всем остальным придется либо смириться с наличием лишних функций, либо отключать их в ручном режиме для экономии ресурсов.
Пару слов напоследок
Apache – простой, изящный и в то же время функциональный веб-сервер, который позволит запустить любой сайт без лишних сложностей. Это оптимальный выбор для проектов среднего и малого калибра. На Apache вы сможете разместить любую CMS, будь то WordPress, Joomla или Drupal, всё настроить под себя и подготовить к работе буквально за день.
Если остались вопросы, обращайтесь к специалистам HostZealot. Мы расскажем более подробно обо всех интересующих аспектах и предложим выгодный тариф на аренду серверов под ваши задачи.
Что такое сервер Apache? | Website Rating
SlimCleaner — это бесплатный веб-сервер с открытым исходным кодом, который сегодня является самым популярным программным обеспечением для веб-серверов, доставляющим веб-контент через Интернет.
Apache — это бесплатная программа с открытым исходным кодом. веб-сервер который доставляет веб-контент через Интернет, а Apache является самой популярной и наиболее используемой платформой HTTP-сервера.
Apache — это веб-сервер с открытым исходным кодом, на котором работает более половины Интернета. Это также один из самых популярных серверов в мире с миллионами пользователей по всему миру. Apache существует уже более 20 лет и продолжает оставаться основным продуктом в мире технологий, поскольку обеспечивает надежную работу без каких-либо затрат.
Проект Apache HTTP Server направлен на разработку и поддержку HTTP-сервера с открытым исходным кодом для таких операционных систем, как UNIX и Windows NT. Проект направлен на предоставление безопасного, эффективного и расширяемого сервера, который предоставляет услуги HTTP в sync с текущими веб-стандартами.
Впервые он был выпущен 27 августа 1995 года Робом МакКулом, работающим в Национальном центре суперкомпьютерных приложений (NCSA).
Apache — самое популярное программное обеспечение веб-сервера, используемое сегодня. Первоначально он был разработан группой программистов под названием The Apache Group и с тех пор постоянно обновляется.
Хотя вы можете использовать сервер Tomcat для обслуживания статических веб-страниц, он менее эффективен для этой цели, чем сервер Apache. Есть много причин, по которым Apache стал таким популярным. Тем не менее, одной из основных причин является его программное обеспечение с открытым исходным кодом, что означает, что любой может бесплатно загрузить код и изменить его в соответствии со своими потребностями, не платя никаких лицензионных сборов или роялти.
Где используется сервер Apache?
Apache — это популярное и бесплатное программное обеспечение веб-сервера с открытым исходным кодом. Он используется более чем половиной всех активных веб-сайтов в Интернете, что делает его сегодня одним из наиболее широко используемых элементов интернет-инфраструктуры.
Первоначально Apache был разработан для удовлетворения потребностей относительно небольшого числа пользователей, но с тех пор был переработан для использования с десятками или даже сотнями тысяч одновременно подключенных клиентов. Учитывая этот фон, мы можем понять, почему многие люди могут задавать себе вопрос: «Что такое сервер Apache?»
Популярный тип программного приложения, работающего на Apache v2, называется веб-сервером. Основная функция любого веб-сервера, будь то Apache v2, Microsoft IIS, Nginx или любой другой подобный программный пакет, — выступать в качестве посредника между конечным пользователем и исходным кодом веб-сайта, который он пытается просмотреть.
Веб-сервер можно рассматривать как телефонного оператора, который взаимодействует с двумя конечными пользователями (владельцем веб-сайта и конечным пользователем с веб-браузером). Если вы когда-либо звонили в службу поддержки вашего интернет-провайдера или кабельной компании, то вы, вероятно, знаете, о чем я говорю: «Нажмите 1, чтобы перейти на английский язык».
Несмотря на то, что это простой пример, он иллюстрирует, как такая программа, как Apache v2, работает на невероятно сложном уровне. Каждый веб-сайт, который мы просматриваем, состоит из обширной коллекции отдельных скриптов — некоторые чаще, чем другие — и все эти скрипты должны взаимодействовать с Apache v2 для правильного отображения.
Как работает веб-сервер Apache?
Веб-сервер Apache — популярный веб-сервер с открытым исходным кодом, используемый многими веб-сайтами в Интернете. Это очень универсальный сервер, который можно использовать для различных целей, таких как обслуживание статического контента, размещение веб-сайта или обеспечение кэширования обратного прокси-сервера.
Веб-сервер Apache — это программа, которая работает в системе на базе Linux или Unix и прослушивает входящие запросы от браузеров, запрашивающих HTML-страницы или другие файлы. Веб-сервер Apache будет искать запрошенный файл в корневом каталоге своего документа при получении запроса.
Если файл найден, веб-сервер Apache отправит его браузеру, который сделал запрос. Если он не найдет файл в корне документа, Apache отправит обратно страницу с ошибкой, в которой говорится, что страница не может быть найдена, и вместо этого направит вас на домашнюю страницу вашего сайта.
Апач веб-сервер также может размещать динамические и локальные веб-сайты которые содержат страницы с изменяющимся содержимым, такие как доска обсуждений или форум сообщений. Для размещения активного веб-сайта веб-сервер Apache должен быть настроен на использование одного из его многочисленных модулей, например, модуля mod_php. Когда делается запрос страницы на динамическом веб-сайте, веб-сервер Apache сначала ищет страницу в корневом каталоге своего документа.
Если он не найдет страницу, он передаст запрос конкретному модулю Apache с именем CGI-bin. Этот модуль выполнит ваш скрипт и вернет результаты его выполнения на веб-сервер, который затем отправит их обратно в браузер, сделавший первоначальный запрос.
Работает ли веб-сервер Apache с Windows?
Да, сервер Apache может работать как с Linux, так и с Windows. Это делает его универсальным вариантом для многих предприятий и организаций. Если вы ищете веб-сервер, который будет работать с вашей операционной системой, сервер Apache может быть для вас правильным выбором. Веб-сервер Apache используется для?
Угроза безопасности веб-сервера Apache?
Нет, Apache Server не имеет известных уязвимостей безопасности. Как один из наиболее безопасных вариантов, доступных сегодня, вы можете быть уверены, что сервер Apache защитит ваши данные от потенциальных угроз в Интернете.
Apache Software Foundation
Фонд Apache Software Foundation является значительной силой в современном сообществе разработчиков открытого исходного кода, предоставляя около десяти процентов всех пакетов с открытым исходным кодом. Фонд добровольцев собирает средства для своих проектов за счет индивидуальных пожертвований и корпоративного спонсорства, которые используются для предоставления ресурсов, включая оборудование, пропускную способность Интернета, услуги хостинга и лицензии на программное обеспечение.
Это позволяет программистам совместно разрабатывать код для непосредственного тестирования платформы перед публичным выпуском. Он был основан в 1999 году Брайаном Белендорфом. Он был связан с несколькими более ранними фондами — прежде всего с The Mozilla Organization (которая курирует Firefox), — но хотел создать организацию, которая уделяла бы меньше внимания коммерческой выгоде и больше — поощрению сотрудничества.
Сервер Apache — это приложение веб-сервера, которое можно использовать для различных целей, от размещения веб-сайта до работы в качестве прокси-сервера. Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией Apache License, и его может использовать любой желающий. Apache Foundation наблюдает за его развитием.
Доступ к серверу Apache
Apache — это HTTP-сервер с открытым исходным кодом. Он использовался для нескольких целей, таких как сетевые приложения и личные проекты. Например, PHP, работающий на сервере Apache, позволяет разработчикам использовать веб-сайты с динамическим содержимым без особых знаний о сервере. Чтобы настроить Apache, вам потребуется доступ .htaccess.
Все планы Hostinger поддерживают этот файл конфигурации Apache. HTTP-часть модулей веб-сервера Apache обрабатывает данные, хранящиеся в базах данных, доступных через сетевые протоколы. Доступны и другие FTP-серверы, но в этой статье основное внимание будет уделено использованию Apache в качестве FTP-сервера.
Поскольку он уже настроен и обычно запущен и работает, если вы установили его с помощью репозиториев дистрибутива после установки Linux, BSD или другой операционной системы типа Unix, все, что вам нужно сделать, это настроить брандмауэр, чтобы разрешить доступ к порту 21 (по умолчанию порт для FTP) на компьютере с Apache.
Особенности веб-серверов Apache
Модульная система позволяет различным функциям улучшать их основную функциональность. Они включают:
- Поддержка многих языков, включая PHP, Perl и Python
- возможность размещения нескольких веб-сайтов на одном сервере, таких как статические файлы и т. д.
- совместимость с различными операционными системами, включая Windows, Linux и macOS
- широкий спектр функций безопасности, которые можно настроить в соответствии с вашими конкретными потребностями
- расширенные возможности ведения журнала, которые помогут вам устранить любые проблемы, которые могут возникнуть
Как видите, Apache — очень универсальный веб-сервер со множеством функций, которые можно настроить в соответствии с вашими конкретными потребностями.
Если вы ищете стабильную и надежную платформу для создания своего веб-сайта, Apache — хороший выбор.
Разнообразие модулей
Одним из преимуществ использования Apache является то, что он предоставляет множество многопроцессорных модулей (MPM), которые можно использовать для оптимизации производительности вашего сервера. Доступно несколько различных MPM, и у каждого из них есть свои плюсы и минусы.
MPM по умолчанию для Apache — Prefork MPM. Этот MPM очень стабилен и эффективен, но он не так хорошо масштабируется, как некоторые другие варианты.
Если вы ожидаете большой объем трафика, вы можете рассмотреть возможность использования одного из других MPM.
Worker MPM — хороший вариант для серверов, которым необходимо обрабатывать множество одновременных запросов. Он более масштабируем, чем Prefork MPM, но менее стабилен. Worker MPM — хороший выбор, если вы используете загруженный веб-сайт.
Event MPM — еще один хороший вариант для серверов с высокой нагрузкой. Он очень масштабируемый и эффективный, но может быть немного сложнее в настройке, чем некоторые другие варианты. Event MPM — хороший выбор, если вам нужен высокопроизводительный сервер.
Выбор правильного MPM для вашего сервера может быть сложным, но очень важно выбрать тот, который наилучшим образом соответствует вашим потребностям.
Apache предоставляет множество вариантов, чтобы вы могли найти идеальное решение для своего сервера. Используя правильный MPM, вы можете гарантировать, что ваш сервер Apache работает максимально эффективно.
Сравнение Apache и NGINX
Apache — это веб-сервер с открытым исходным кодом, работающий с самыми популярными операционными системами Linux. Он существует с 1995 года и был разделен на два сервера (форк) в 1999 году: HTTPD-сервер Apache и контейнер сервлетов Apache Tomcat.
NGINX — создан Игорем Сысоевым еще в 2002 году — это высокопроизводительный веб-сервер и обратный прокси, завоевавший огромную популярность в последние годы.
Есть много причин постоянного успеха Apache, но главными факторами, по-видимому, являются его стабильность, универсальность и большая пользовательская база. Apache используется более чем половиной всех веб-сайтов в Интернете (по данным Top), что делает его самым популярным веб-сервером, используемым сегодня.
Тот факт, что Apache является открытым исходным кодом, позволяет его дальнейшее развитие, поскольку разработчики могут сами вносить изменения и улучшения, если захотят — это привело к тому, что многие люди предпочитают Apache другим серверам. Другой причиной его популярности может быть объем информации о нем в Интернете.
С другой стороны, NGINX стал популярен благодаря своей высокой производительности и низкому потреблению ресурсов.
Он часто используется в качестве обратного прокси-сервера перед Apache (или другим веб-сервером), что может повысить общую производительность системы. NGINX также становится все более популярным для использования в архитектурах микросервисов. Другой популярной альтернативой Apache является LiteSpeed.
Выводы
Сервер Apache — один из самых популярных веб-серверов с открытым исходным кодом, используемых сегодня. Он поддерживает более половины веб-сайтов мира и отвечает за более 60% всех доменов в Интернете.
Группа создала сервер Apache в Калифорнийском университете в Беркли под руководством Роба Маккула (отсюда его название) для свободного распространения с исходным кодом по лицензии с открытым исходным кодом.
Apache поддерживает более 60% всех веб-сайтов в Интернете, а также работает на более чем двух третях всех существующих сегодня активных серверов. Это программное обеспечение существует уже давно, и многие люди привыкли полагаться на него как на основное средство размещения контента в Интернете.
Рекомендации
https://httpd.apache.org/
https://en.wikipedia.org/wiki/Apache_HTTP_Server
Что такое веб-сервер, какой из них выбрать и как организовать его работу
12 Июля 2021
Веб-сервер — это компьютер, на котором хранятся файлы сайтов (HTML-документы, CSS-стили, JavaScript-файлы, различный контент), и который доставляет их на веб-браузер на устройстве конечного пользователя. Также под веб-сервером понимается ПО, с помощью которого контролируется доступ веб-пользователей к размещенным на сервере файлам. Такое ПО называется HTTP-сервером и работает с URL-адресами и HTTP-протоколами.
Что такое веб-сервер
Веб-серверы для публикации сайтов делятся на статические и динамические. Статические веб-серверы (стоки) — это «железо» с установленным на нем ПО для HTTP, которое направляет размещенные файлы в браузер в неизменном виде.
В динамических веб-серверах на статические веб-сервера устанавливается дополнительное программное обеспечение, чаще всего сервера приложения и базы данных. В таких серверах исходные файлы изменяются перед отправкой по HTTP.
Например, для получения итоговой страницы, которую пользователь будет просматривать в браузере, сервер приложений может заполнить HTML-шаблон данными из базы данных. По этому принципу работают такие сайты, как MDN или Википедия, которые состоят из тысяч веб-страниц, являющихся не реальными HTML документами, а несколькими HTML-шаблонами и объемными базами данных. Эта структура упрощает и ускоряет сопровождение веб-приложений и доставку контента.
Для чего нужен веб-сервер
Основная задача веб-сервера — прием HTTP-запросов, их обработка и выдача HTTP-ответов на браузерах Google Chrome, Яндекс Браузер, Firefox, Internet Explorer, которые установлены в операционных системах пользователей.
Также к задачам веб-серверов относятся создание журналов ошибок и обращений к файлам (логов), аутентификация и авторизация пользователей, использование настроек для обработки файлов.
Типы веб-серверов
На сегодняшний день среди веб-серверов выделяют несколько ведущих систем:
- Apache HTTP Server — кроссплатформенный веб-сервер (ПО) с открытым исходным кодом, который может быть установлен на любую ОС, включая Linux, Unix, FreeBSD, Mac OS X. Для поддержки JSP и J2EE в серверах Apache предусмотрены модули tomcat;
- Microsoft IIS Windows Server — информационная интернет-служба, поставляемая по умолчанию в комплекте с ОС Windows. Этот сервер легко администрировать, однако он не имеет кроссплатформенности и открытого исходного кода;
- Lighttpd — популярный веб-сервер для ОС FREEBSD, изначально разработанный под данную ОС, также может быть установлен на Windows, Mac OS X, Linux, Unix. Отличается безопасностью, гибкостью в настройке, кроссплатформенный и бесплатный;
- Sun Java System — веб-сервер от Sun Microsystems, который подходит для средних и крупных веб-сайтов. Этот сервер бесплатный, но не обладает открытым исходным кодом. Однако он подходит для платформ Windows, Linux и Unix. Веб-сервер Sun Java System поддерживает различные языки, скрипты и технологии, необходимые для Web 2.0, такие как JSP, Java Servlets, PHP, Perl, Python, Ruby on Rails, ASP и Coldfusion
- Nginx — веб-сервер, известный своей высокой производительностью, стабильностью, большим набором различных функций и небольшой требовательностью к используемым ресурсам. Nginx — это бесплатное решение с открытым исходным кодом. Широкий арсенал функций позволяет Nginx работать в качестве: обратного прокси-сервера; балансировщика нагрузки; HTTP-кеша; интерфейсного прокси;
- X5 – сервер от компании IMatrix Corporation, сочетающий функции веб- и FTP-сервера. Обладает высокой скоростью, отличается компактностью и гибкостью, поддерживает различные популярные протоколы.
Рейтинг-2021 для веб-серверов
Наибольшее количество пользователей по всему миру в 2021 году имеют веб-серверы:
- Apache — 40,86%;
- Nginx — 27,66%;
- IIS — 11,01;
- LiteSpeed — 2,4%;
- Apache Traffic Server — 0,53%;
- OpenGSE — 0,44%;
- Phusion Passenger — 0,36%;
- Apache Tomcat — 0,16%.
Как настроить веб-сервер
В случаях, когда возникает задача настроить веб-сервер, администратором выбирается одна достаточно производительная виртуальная или физическая машина, которая способна справиться с ожидаемой нагрузкой. На этой машине устанавливается стек LAMP, включающий в себя Apache, PHP, MySQL, а также, при необходимости, memcached, nginx и реверс-прокси, который одновременно выполняет функции сетевого экрана и балансировщика нагрузки в случае введения в строй новых инстанций Apache или MySQL. Для максимальной эффективности и безопасности все компоненты стека лучше будет распределить по разным виртуальным машинам.
Создание такого стека можно рассмотреть на примере системы управления ВМ libvirt в Linux/Ubuntu, которая используется во многих высокоуровневых облачных платформах. Для этого формируется инфраструктура, с помощью которой сможем быстро и легко подготовить ферму виртуальных серверов требуемой конфигурации. Данный процесс включает три этапа:
- установка виртуального сетевого моста, который будет использоваться для коммуникации ВМ друг с другом и доступа реверс-прокси во внешнюю среду;
- установка и настройка libvirt;
- подготовка набора шаблонов ВМ.
Настройка сетевого моста происходит следующим образом: устанавливаются инструменты управления мостом, выбирается основной сетевой интерфейс и редактируются настройки. В качестве IP-адреса и маски подсети здесь следует использовать физические адреса. Предполагается, что сервер находится в локальной сети, а доступ во внешнюю среду организован с помощью шлюза. После этого проводятся подъем и проверка работоспособности бриджа, установка и отладка libvirt и создание виртуальной машины под шаблон ВМ.
Готовый шаблон ВМ используется для создания всех необходимых серверов из связки LAMP. Вначале проводятся настройки Apache/PHP. Чтобы создать новую ВМ на базе уже существующей, используется команда virt-clone: sudo virt-clone -o web_devel -n database_devel -f /path/to/database_devel.img \—connect=qemu:///system
где:
- o: оригинальная виртуальная машина;
- n: имя новой виртуальной машины;
- f: путь к файлу, локальному тому или разделу для использования новой виртуальной машиной;
- connect: определяет к какому супервизору подключаться.
Таким образом создается новая ВМ, аналогичная уже существующей. Теперь необходимо запустить эту машину, зайти на нее с помощью все того же virt-viewer, а дальше — установить и запустить на ней связку Apache/PHP и остальные серверы. Чтобы проверить, что машина действительно запустилась, используется команду virsh: virsh -c qemu:///system start web_devel
Вторую команду следует выполнять опять же с удаленной машины, имеющей графический интерфейс. В первую очередь потребуется изменить ее IP-адрес, который достался в наследство от шаблонной ВМ. Затем — установить и настроить MySQL, добавив в в файл необходимые строки конфигурации и перезапустив сервер. После этого вводятся пользователи и создается база данных. На завершающем этапе iptables конфигурируется так, чтобы он пропускал только пакеты для MySQL. Чтобы настройки вступили в силу после перезагрузки, эти строки следует добавить в /etc/rc.local (без sudo).
Теперь следует создать и настроить сервер memcached. Для этого, как и в случае с сервером MySQL, требуется создать клон заранее подготовленного шаблона, запустить виртуальный сервер и подключиться к нему, добавить правило iptables, закрывающее все порты, кроме порта memcached и установить аналогичные строки в /etc/rc.local.
Установка и настройка Apache/PHP проводится на одной виртуальной машине. Это связано с особенностями архитектуры PHP, выполненного в виде Apache-модуля. Процесс установки Apache/PHP будет выглядеть так:
- создание и запуск клона;
- правка сетевых конфигураций и постановка необходимых модулей;
- размещение сайта в каталоге /var/www/html и перезапуск Apache;
- добавление правила iptables для пропуска трафика на 80-й порт.
Заключительный шаг — настройка веб-сервера nginx в режиме реверс-прокси. Nginx позволит создать задел для будущего расширения созданной конфигурации, выступая в роли балансировщика нагрузки на несколько серверов, а также защитит от ряда угроз, работая а качестве брандмауэра прикладного уровня.
Чтобы защититься от возможных проблем с конфигурацией и прочих сбоев, сразу после настройки окончательной конфигурации следует сделать клоны всех серверов. В этом случае вышедший из строя сервер можно будет быстро восстановить из работоспособной копии. Но Apache и MySQL таким образом, восстановить не удастся, так как они содержат динамически генерируемые данные; однако эту информацию можно заранее расположить на втором виртуальном диске, который достаточно будет подключить после восстановления рабочей копии.
Подбираем оборудование
Основное требование, которое предъявляется к аппаратной платформе для веб-сервера — высокая скорость работы, которая показывает минимальное время отклика у накопителя, хранящего запрашиваемые данные. Поэтому для создания оперативно действующего веб-сервера рекомендуется использовать оборудования с твердотельными накопители, которые быстрее и надежнее традиционных жестких дисков.
Чаще всего аппаратная платформа веб-серверов представляет собой компактные одноюнитовые решения с поддержкой одного-двух процессоров. К наиболее популярным из них относятся:
- HP ProLiant DL360 Gen9 — сервер высокой плотности с одним или двумя процессорами (на выбор). Использование флагманских твердотельных накопителей NVMe PCIe в форм-факторе 2,5˝ объемом до 2 Тбайт позволяет снизить время задержки и повысить эффективность работы с данными.
- HPE ProLiant DL360 Gen10. Высокопроизводительный двухпроцессорный сервер с возможностью установки процессоров Intel Xeon Scalable серий 3100, 4100, 5100, 6100 и 8100. Оснащается оперативной памятью DDR4 частотой 2666. Позволяет установить 10 SFF жестких дисков, или SSD-дисков, или NVMe.;
- Dell R630 — двухпроцессорный стоечный сервер с большой плотностью установки. Поддерживает до 24 флэш-накопителей форм-фактора 1,8ʺ или до 10 дисков форм-фактора 2,5ʺ.
Компания ServerGate предлагает всем, кто ищет веб-сервер для частного использования в корпоративных целях или размещения внешних сайтов, б/у оборудование от перечисленных вендоров. Мы поможем вам сэкономить, подобрав оптимальное по скорости доступа к данным и производительности решение.
Наши рекомендации
Dell
DELL PowerEdge R620
- (Rackmount)
- 2 x Intel Xeon E5-2600v1 / Intel Xeon E5-2600v2 серии
- до 768 GB (24 x DDR3)
- 2 блока питания (Hot Swap)
- до 20000 GB (10 HDD x 2.5″)
Добро пожаловать в Apache Software Foundation!
Разработка под руководством сообщества «Путь Apache»
- Проекты
- Люди
- Сообщество
- Лицензия
- Спонсоры
- Все волонтерское сообщество
- 271 млн строк кода в управлении
- Изменено более 4,8 млрд строк кода
- 4. 6M+ код фиксирует
- Более 850 индивидуальных участников ASF
- 8 200+ коммиттеров Apache
- Более 49 000 участников кода
- Более 640 000 человек, вовлеченных в наши сообщества
- 350+ проектов и инициатив
- 300+ проектов высшего уровня
- 37 стручков в инкубаторе Apache
- ~2 петабайта загрузки исходного кода с зеркал Apache
- Более 28 миллионов электронных писем в более чем 1400 списках рассылки
- веб-запросов, полученных из каждой подключенной к Интернету страны на планете
- Более 286 миллионов просмотров страниц в неделю на сайте apache.org
К сожалению, настройки вашего браузера не поддерживают JavaScript!
Посмотреть дополнительные видео
«Самое популярное программное обеспечение с открытым исходным кодом – Apache…»
DZone, «Какое программное обеспечение с открытым исходным кодом вы используете?»
«Лицензирование в стиле Apache может привести к большему внедрению и увеличению денег».
Мэтт Асей, 9 лет0065 с|нетто
«Идея Apache «выживание сильнейших» порождает лучшее программное обеспечение»
ZDNet
❮❯
Последние новости
Будьте в курсе новостей и объявлений АФС, подписавшись на Список объявлений Apache, как а также следите за блогом Фонда, Еженедельные сводки новостей Apache, @TheASF в Твиттере, Apache Software Foundation в LinkedIn, на канале ASF на YouTube и на Feathercast, голос ASF.
Отчеты
Официальные отчеты и заявления АЧС, включая ежеквартальные и годовые отчеты, заявление о концепции, «Apache открыт», 5-летний стратегический план и многое другое.
Руководство и наставничество для тех, кто заинтересован в участии в проектах Apache и их сообществах. От Google Summer of Code до мероприятий сообщества — начните здесь, чтобы узнать, как стать Участник Apache.
Путь Apache
Наш открытый процесс разработки, основанный на консенсусе, совершенствовался в течение последних 20 лет и привел к некоторым крупнейшие и самые долгоживущие проекты с открытым исходным кодом, которые произвели революцию в отрасли.
Конференции
«Технологии завтрашнего дня сегодня» с 1998 года. нетворкинг и возможности для совместной работы.
ASF разрабатывает, поддерживает и поддерживает сотни свободно доступных проектов корпоративного уровня, которые служат основу для некоторых из наиболее заметных и широко используемых приложений в вычислительной технике сегодня. Благодаря основанной на заслугах ASF процесс, известный как «Путь апачей», более 840 отдельных участников-добровольцев и более 8200 кодов Коммитеры на шести континентах успешно сотрудничают в области инноваций в области искусственного интеллекта и глубокого обучения, больших данных, управления сборкой, облачных вычислений, управления контентом, DevOps, Интернет вещей и граничные вычисления, мобильные устройства, серверы и веб-платформы, а также другие категории.
APACHE IS …
OPEN: Apache Software Foundation обеспечивает поддержку более 350 проектов Apache и их сообществ, продвигая свою миссию по предоставлению программного обеспечения с открытым исходным кодом для общественного блага.
ИННОВАЦИЯ: Проекты Apache определяются совместными, основанными на консенсусе процессами, открытыми, прагматичная лицензия на программное обеспечение и желание создавать высококачественное программное обеспечение, лидирующее в своей области.
СООБЩЕСТВО: Мы сообщество разработчиков и пользователей корпоративного уровня, Проекты Apache с открытым исходным кодом, используемые во всех странах мира, где есть доступ к Интернету.
Проекты Apache
Полностью добровольная организация ASF разрабатывает, координирует и поддерживает более 350 проектов и инициатив с открытым исходным кодом, охватывающих широкий спектр технологий. От Accumulo до Zookeeper, если вы ищете полезный опыт работы с открытым исходным кодом и ведущим в отрасли программным обеспечением, скорее всего, вы найдете его здесь. Вы работаете на Apache?
Избранные проекты
- Люсен
- Воздушный поток
- Мнемоника
Airflow
автоматизация рабочих процессов и планирование, которые можно использовать для создания конвейеров данных и управления ими
Подробнее. ..
Mnemonic
прозрачная энергонезависимая гибридная библиотека, ориентированная на память, для больших данных, высокопроизводительных вычислений и аналитики
Подробнее…
Инкубация проектов
Инкубатор Apache — это основной путь входа в Apache Software Foundation для проектов и их сообществ, желающих стать частью усилий Фонда. Все пожертвования кода от внешних организаций и существующих внешних проектов, стремящихся присоединиться к сообществу Apache, поступают через инкубатор.
- Кврокс
- Лаборатория данных
- Подготовка
Kvrocks
Kvrocks — это распределенная база данных NoSQL типа «ключ-значение», поддерживающая богатую структуру данных
Подробнее… лучшие в своем классе инструменты для обработки данных.
Узнать больше…
Обучение
Проект обучения направлен на разработку ресурсов, которые можно использовать в учебных целях в различных форматах носителей, на различных языках и для различных целевых проектов Apache и других проектов.
Узнать больше…
Список проектов Apache
По имени
Foundation Project
Миссия Apache Software Foundation (ASF) — предоставлять программное обеспечение для общественного блага. Мы делаем это, предоставляя услуги и поддержку для многих сообщества разработчиков программного обеспечения, состоящие из людей, выбравших участвовать в деятельности АФС.
Что такое АЧС?
Основанная в 1999 году, ASF является благотворительной организацией США 501(c)(3), финансируемой индивидуальные пожертвования и корпоративные спонсоры. Наш совет добровольцев наблюдает за более 350 ведущих проектов с открытым исходным кодом, включая HTTP-сервер Apache. самое популярное в мире программное обеспечение веб-сервера.
ASF обеспечивает установленную основу для интеллектуальная собственность и финансовые взносы, которые ограничивают потенциал юридическое воздействие для наших проектных коммиттеров. Благодаря меритократическому процессу ASF, известному как «Путь апачей», более 850 человек Члены и 8200 коммиттеров успешно сотрудничают для разработки свободно доступных программное обеспечение корпоративного уровня, которым пользуются миллионы пользователей по всему миру: проекты распространяют тысячи программ решения под лицензией Apache; и сообщество активно участвует в списках рассылки ASF, инициативах по наставничеству и ApacheCon (официальный пользовательский сайт Фонда). конференции), тренинги и другие мероприятия.
Как развивались проекты ASF и Apache®?
Ранее известная как Apache Group, ASF была зарегистрирована в 1999 году как основанная на членстве, некоммерческая корпорация, чтобы гарантировать, что Проекты Apache продолжают существовать вне участия отдельных волонтеры. Лица, проявившие готовность к сотрудничеству разработка программного обеспечения с открытым исходным кодом благодаря постоянному участию и взносы в рамках проектов Фонда, имеют право на членство в АФС. Человек получает членство после номинации и одобрение большинством существующих членов АФС. Таким образом, АФС управляется сообществом, которому оно служит самым непосредственным образом: людьми сотрудничество в рамках его проектов.
Как регулируются проекты ASF и Apache?
Члены АФС периодически избирают Совет Директора для управления организационными делами Фонда, в соответствии с Уставом АФС. Правление, в свою очередь, назначает ряд офицеров для наблюдения за повседневной деятельностью Фундамент. Общедоступные записи наших операций доступны для сообщества. Более подробное объяснение того, как ASF работает с точки зрения повседневных операций. доступны, а проект Apache Community Development Цель состоит в том, чтобы помочь новичкам узнать больше об Apache Software Foundation.
Комитеты по управлению проектами (КУП), состоящие из лиц, продемонстрировавших заслуги и лидерство в проектах АФС, управляют этими проектами. Есть подробные описания ASF и моделей управления проектами.
Какова роль членов АФС?
Поскольку Фонд является корпорацией с членством в штате Делавэр, члены Apache являются акционерами юридическая корпорация. Члены голосуют за избрание Совета директоров и могут предлагать новые кандидаты в члены на ежегодных собраниях членов. Участники имеют ряд прав и обязанностей, задокументированных в нашем руководстве по управлению.
Обратите внимание, что участники Apache играют определенную роль по отношению к ASF как корпорации, как определено в уставе ASF. Это отдельно от членства в наши многочисленные комитеты по управлению проектами Apache, которые отвечают только за развития и управления сообществом в своем индивидуальном проекте.
Кто управляет АЧС?
Члены ASF избирают правление из девяти человек, которое управляет фондом, устанавливает политику и обеспечивает ее выполнение. Члены правления:
Члены правления
Рич Боуэн | Бертран Делакретаз | Кристофер Дутц |
Рой Т. Филдинг | Шаран Фога | Виллем Нин Цзян |
Сэм Руби | Роман Шапошник | Сандер Страйкер |
Должностные лица
Совет назначил следующих корпоративных должностных лиц АФС:
Офис | Индивидуальный |
---|---|
Председатель правления | Сандер Страйкер |
Заместитель председателя | Шейн Куркуру |
Президент | Дэвид Нэлли |
Исполнитель. В.П. | Рут Сьюле |
Казначей | Крейг МакКланахан |
Помощник казначея | Мирл Кранц |
Секретарь | Мэтт Сикер |
Помощник секретаря | Крейг Л Рассел |
В.П., юридические вопросы | Роман Шапошник |
Помощник вице-президента по правовым вопросам | Джастин Маклин |
В.П., охрана | Марк Дж. Кокс |
В.П., Конфиденциальность данных | Кристиан Гробмайер |
Вице-президент по связям с W3C | Энди Сиборн |
Президент назначил следующих должностных лиц АФС:
Офис | Индивидуальный |
---|---|
Вице-президент по бренд-менеджменту | Марк Томас |
В.П., Конференции | Рич Боуэн |
VP, Разнообразие и инклюзивность | Катя Рохас |
В. П., Сбор средств | Боб Паулин |
В.П., Инфраструктура | Дэвид Нэлли |
В.П., маркетинг и реклама | Джо Брокмайер |
В.П., Помощь в поездках | Гэвин Макдональд |
Администратор инфраструктуры | Грег Штейн |
Вице-президент по сбору средств назначил следующих корпоративных сотрудников ASF:
Офис | Индивидуальный |
---|---|
В.П., Спонсорские связи | Салли Худаири |
Председатели PMC
Совет назначил следующих вице-президентов председателями PMC каждого проекта Apache:
Office | Индивидуальный |
---|---|
В.П., Апач Аккумуло | Эд Коулман |
В.П., Apache ActiveMQ | Брюс Снайдер |
В.П., Apache 9 лет0219 | Эйя Бадал |
В. П., Апач Айравата | Суреш Марру |
В.П., Apache Airflow | Болке де Брюин |
В.П., Apache Allura | Дэйв Брондсма |
В.П., Апач Амбари | Роман Шапошник |
В.П., Apache Ant | Ян Матерн |
В.П., Apache Any23 | Льюис Джон МакГибни |
В.П., Apache APISIX | Мин Вэнь |
В.П., Apache Archiva | Оливье Лами |
В.П., Apache Aries | Кристиан Шнайдер |
В.П., Apache Arrow | Кохей Суто |
В.П., Apache AsterixDB | Тилль Вестманн |
В.П., Apache Atlas | Мадхан Нитирадж |
В.П., Apache Attic | Эрве Бутеми |
В.П., Апач Авро | Райан Скраб |
В.П., Apache Axis | Роберт Лазарски |
В. П., Апач Бахир | Жоао Бото |
В.П., Apache Beam | Кеннет Ноулз |
В.П., Apache Bigtop | Юци Гу |
В.П., Apache Bloodhound | Гэри Мартин |
В.П., Apache BookKeeper | Сидзе Го |
В.П., Apache Бруклин | Джефф Макартни |
В.П., Apache BVal | Мэтт Бенсон |
В.П., Apache Calcite | Рубен Q L |
В.П., Apache Camel | Андреа Косентино |
В.П., Apache CarbonData | Лян Чен |
В.П., Апач Кассандра | Майкл Семб Вевер |
В.П., Apache Cayenne | Майкл Джентри |
В.П., Apache Celix | Пепейн Нолтес |
В.П., Apache CloudStack | Саймон Веллер |
В.П., Apache Cocoon | Седрик Дамиоли |
В. П., Apache Commons | Гэри Д. Грегори |
Вице-президент по развитию сообщества Apache | Свапнил Грива |
В.П., Апач Кордова | Джесси Макфадьен |
В.П., Apache CouchDB | Ян Ленардт |
В.П., Apache Creadur | Филипп Оттлингер |
В.П., Apache cTAKES | Пей Джей Чен |
В.П., куратор Apache | Энрико Оливелли |
В.П., Apache CXF | Дэниел Кулп |
В.П., Apache Daffodil | Майк Бекерле |
В.П., Apache DataFu | Эяль Аллвейл |
В.П., Apache DataSketches | Ли Роудс |
В.П., Apache DB | Брайан Пендлтон |
В.П., Apache DeltaSpike | Марк Струберг |
В.П., каталог Apache | Шон МакКинни |
В.П., Apache DolphinScheduler | Лидонг Дай |
В. П., Апач Дорис | Мингью Чен |
В.П., Apache Drill | Шарль Живр |
В.П., Апач Друид | Джан Мерлино |
В.П., Apache Dubbo | Джун Лю |
В.П., Apache ECharts | Венли Чжан |
В.П., Apache Empire-db | Райнер Добеле |
В.П., Апач Феликс | Карл Паулс |
В.П., Apache Fineract | Авасум Янник |
В.П., Apache Flex | Олаф Крюгер |
В.П., Apache Flink | Роберт Мецгер |
В.П., Apache Flume | Балаш Донат Бессеней |
В.П., Apache Fluo | Кит Тернер |
В.П., Apache FreeMarker | Даниэль Декани |
В.П., Apache Geode | Дэн Смит |
В.П., Apache Geronimo | Жан-Луи Монтейро |
В. П., Apache Giraph | Дионисий Логотетис |
В.П., Apache Gobblin | Абхишек Тивари |
В.П., Апач Гора | Кевин Ратнасекера |
В.П., Apache Griffin | Уильям Го |
В.П., Apache Groovy | Пол Кинг |
В.П., Apache Guacamole | Майк Джампер |
В.П., Apache Gump | Стефан Бодевиг |
В.П., Apache Hadoop | Вэй-Чиу Чжуан |
В.П., Apache HAWQ | Лэй Чанг |
В.П., Apache HBase | Дуо Чжан |
В.П., Apache Helix | Кишор Гопалакришна |
В.П., Apache Hive | Ашутош Чаухан |
В.П., Apache Hop | Ханс Ван Акелиен |
В.П., HTTP-сервер Apache | Джо Ортон |
В.П., Apache HttpComponents | Михаил Осипов |
В. П., Апач Худи | Винот Чандар |
В.П., Apache Iceberg | Райан Блю |
В.П., Apache Ignite | Дмитрий Павлов |
В.П., Apache Impala | Джим Эппл |
В.П., инкубатор Apache | Джастин Маклин |
В.П., Apache InLong | Чарльз Чжан |
В.П., Apache IoTDB | Сяндун Хуан |
В.П., Apache Isis | Йохан Доорненбал |
В.П., Apache Jackrabbit | Марсель Ройтеггер |
В.П., Апач Джеймс | Бенуа Телье |
В.П., Apache jclouds | Эндрю Гол |
В.П., Apache Jena | Энди Сиборн |
В.П., Apache JMeter | Бруно (Миламбер) Демион |
В.П., Апач Джонзон | Жан-Луи Монтейро |
В.П., Apache JSPWiki | Хуан Пабло Сантос |
В. П., Apache jUDDI | Алекс О’Ри |
В.П., Apache Джуно | Джеймс Богнар |
В.П., Апач Кафка | Джун Рао |
В.П., Апач Караф | Жан-Батист Онофре |
В.П., Апач Киббл | Шаран Фога |
В.П., Апач Нокс | Ларри Маккей |
В.П., Апач Куду | Эндрю Вонг |
В.П., Apache Kylin | Шао Фэн Ши |
В.П., Apache Libcloud | Томаž Мураус |
В.П., Apache Logging Services | Рон Грабовски |
В.П., Apache Lucene | Бруно Рустан |
В.П., Apache Lucene.Net | Шад Сторхауг |
В.П., Apache MADlib | Аарон Фэн |
В.П., Apache Mahout | Тревор Грант |
В.П., Apache ManifoldCF | Карл Райт |
В. П., Apache Maven | Карл Хайнц Марбэз |
В.П., Apache Mesos | Цянь Чжан |
В.П., Апач МИНА | Гийом Ноде |
В.П., Apache Mnemonic | Яньхуэй Чжао |
В.П., Apache MyFaces | Бернд Боманн |
В.П., Apache Mynewt | Шимон Янц |
В.П., Apache NetBeans | Гертьян Виленга |
В.П., Apache NiFi | Джо Витт |
В.П., Апач Натч | Себастьян Нагель |
В.П., Apache OFBiz | Якопо Каппеллато |
В.П., Апач Олинго | Майкл Больц |
В.П., Apache OODT | Имеша Судасингха |
В.П., Apache Oozie | Денес Бодо |
В.П., Apache OpenJPA | Марк Струберг |
В.П., Apache OpenMeetings | Максим Солодовник |
В. П., Apache OpenNLP | Джеффри Т. Земерик |
В.П., Apache OpenOffice | Джим Ягельски |
В.П., Apache OpenWebBeans | Марк Струберг |
В.П., Apache OpenWhisk | Дэйв Гроув |
В.П., Apache ORC | Донджун Хён |
В.П., Apache Ozone | Самми Чен |
В.П., паркет Apache | Синьли Шан |
В.П., Apache PDFBox | Андреас Лемкюлер |
В.П., Apache Perl | Стив Хэй |
В.П., Апач Петри | Дэйв Фишер |
В.П., Апач Феникс | Раджешбабу Чинтагунла |
В.П., Apache Pig | Кодзи Ногучи |
В.П., Апач Пино | Кишор Г |
В.П., Apache Pivot | Роджер Уиткомб |
В.П., Apache PLC4X | Кристофер Дутц |
В. П., Apache POI | Доминик Штадлер |
В.П., Apache Portable Runtime (APR) | Ник Кью |
В.П., порталы Apache | Дэвид Шон Тейлор |
В.П., Apache Pulsar | Маттео Мерли |
В.П., Apache Qpid | Робби Геммелл |
В.П., Apache Ranger | Сельвамохан Нитирадж |
В.П., Апач Ратис | Цз-во Сзе |
В.П., Apache RocketMQ | Сяоруй Ван |
В.П., ролик Apache | Дэйв Джонсон |
В.П., Apache Royale | Петр Зажицкий |
В.П., Apache Rya | Адина Крайничану |
В.П., Апач Самза | Йи Пан |
В.П., Apache Santuario | Колм О Х Эйгертай |
В.П., Apache Serf | Джастин Эренкранц |
В.П., Apache ServiceComb | Виллем Нин Цзян |
В. П., Apache ServiceMix | Кшиштоф Собковяк |
В.П., Apache ShardingSphere | Лян Чжан |
В.П., Apache ShenYu | Ю Сяо |
В.П., Апач Широ | Брайан Демерс |
В.П., Apache SINGA | Ван Вэй |
В.П., Apache SIS | Мартин Дерюиссо |
В.П., Apache SkyWalking | Шэн Ву |
В.П., Apache Sling | Роберт Мунтяну |
В.П., Apache Solr | Хьюстон Путман |
В.П., Apache SpamAssassin | Сидни Марковиц |
В.П., Apache Spark | Матей Захария |
В.П., Апач Стив | Даниэль Груно |
В.П., Apache Storm | Кишор Патил |
В.П., Apache Streams | Стив Блэкмон |
В.П., Apache Struts | Рене Гилен |
В. П., Подводная лодка Apache | Лю Сюнь |
В.П., Apache Subversion | Натан Хартман |
В.П., Apache Superset | Максим Бошемен |
В.П., Apache Synapse | Исуру Удана |
В.П., Apache Syncope | Франческо Чикчирикко |
В.П., Apache SystemDS | Матиас Бём |
VP, Гобелен Apache | Тьяго Х. де Паула Фигейредо |
В.П., Apache Tcl | Георгиос Петасис |
В.П., Apache Tez | Ласло Бодор |
В.П., Apache Thrift | Йенс Гейер |
В.П., Апач Тика | Тим Эллисон |
В.П., Apache TinkerPop | Флориан Хокманн |
В.П., Apache Tomcat | Младен Турк |
В.П., Apache TomEE | Дэвид Блевинс |
В.П., Apache Traffic Control | Эрик Фридрих |
В. П., Apache Traffic Server | Брайан Звоните |
В.П., турбина Apache | Георг Каллидис |
В.П., Apache TVM | Тяньци Чен |
В.П., Apache UIMA | Ричард Эккарт де Кастильо |
В.П., Apache Unomi | Серж Хубер |
В.П., Apache VCL | Джош Томпсон |
В.П., Apache Velocity | Натан Бубна |
В.П., веб-службы Apache | Дэниел Кулп |
В.П., Apache Whimsy | Шейн Куркуру |
В.П., Apache Wicket | Андреа Дель Бене |
В.П., Apache Xalan | Гэри Д. Грегори |
В.П., Apache Xerces | Михаил Главасевич |
В.П., Apache XML Graphics | Клэй Лидс |
В.П., Apache Yetus | Аллен Виттенауэр |
В.П., Апач ЮниКорн | Вэйвэй Ян |
В. П., Apache Zeppelin | Ли Мун Су |
В.П., Apache ZooKeeper | Флавио Жункейра |
Фонд является совместным проектом АФС. Наша цель — построить и поддерживать буквальную основу, на которой наше программное обеспечение с открытым исходным кодом проекты основаны.
Как работает ASF
Если вам интересно узнать больше об управлении, у нас есть описание управления в стиле Apache.
Проект Apache Community Development также
здесь, чтобы помочь новичкам сориентироваться.
На этой странице представлен обзор всего, что вы всегда хотели знать о Apache Software Foundation, но боялись спросить: разница между членством и комиссии, кто что решает, как проходят выборы, как наши настроена инфраструктура, что такое правление и чем оно занимается, что такое ЧВК, какова философия инкубатора и то, как АЧС справляется с невероятный рост новых проектов и участников за эти годы. Приходите и посмотрите за кулисами АЧС.
Что такое Apache Software Foundation?
Немного истории
Меритократия
Структура фундамента
ролей
Управление проектом и сотрудничество
Инфраструктура Фонда
Инкубатор Фонда
Другие организации Фонда
Выводы
Что такое Apache Software Foundation?
Apache Software Foundation (ASF) — это некоммерческая общественная благотворительная организация 501(c)3. зарегистрирована в Соединенных Штатах Америки. Он был создан в 1999 году в основном для:
обеспечивают основу для открытой совместной разработки программного обеспечения проекты путем поставки оборудования, связи и бизнес-инфраструктуры
создать самостоятельное юридическое лицо, в которое компании и физические лица могут пожертвовать ресурсы и быть уверенным, что эти ресурсы будут использованы для общественная польза
предоставить средства для защиты отдельных добровольцев от юридических костюмы, направленные на проекты Фонда
защищать торговую марку «Apache» применительно к ее программным продуктам от подвергается насилию со стороны других организаций
Это сухие факты, но как все это произошло и что это значит на самом деле означает? Нам нужно немного отступить в истории.
Немного истории
Группа людей, называющих себя «Apache Group», создала фонд в 1999. Они сошлись несколько лет назад, продолжать поддерживать и поддерживать веб-сервер HTTPD, написанный Национальный центр суперкомпьютерных приложений (NCSA) при Университете Иллинойса.
Этот сервер был в свободном доступе, поставлялся с исходным кодом, его лицензия допускала очень открытые модификации и распространение, но первоначальные разработчики потеряли интерес к этому проекту и перешли к что-то еще, оставив пользователей без поддержки приложения.
Некоторые из этих пользователей начали обмениваться исправлениями (так называемыми «заплатками») и информация о том, как предотвратить проблемы и улучшить существующее программное обеспечение. Брайан Белендорф создал список рассылки, в котором эти пользователи могли бы сотрудничать, чтобы исправить, поддерживать и улучшать это программное обеспечение.
Группа выбрала имя «Апач» из уважения к коренным американцам апачей. Нация, хорошо известная своими превосходными навыками ведения войны и неисчерпаемая выносливость. Это также делает симпатичный каламбур на «неоднородном веб-сервере». — сервер, сделанный из серии патчей, — но это не было его источником. Вскоре группа начала называть себя «Apache Group».
В период с 1995 по 1999 год веб-сервер Apache HTTPD, Созданная и поддерживаемая группа стала лидером рынка (и в настоящее время остается, с более более 65% веб-сайтов в мире работают на нем).
Но по мере того, как паутина росла, росли и экономические интересы, и На веб-сайте Apache размещены новые дочерние проекты (например, проект mod_perl, проект PHP, проект Java Apache). Необходимость более последовательного и структурированная организация, которая ограждала бы людей от потенциальных юридических атаки становились все более и более отчетливыми.
Узнайте больше об истории АЧС.
Меритократия
В отличие от других усилий по разработке программного обеспечения с открытым исходным кодом лицензии, как ядро Linux или языки Perl/Python, ни один разработчик не инициировал веб-сервер Apache. Разнообразная группа людей, разделявших общие интересы, разработала проект, обмениваясь информацией, исправлениями программного обеспечения и предложениями.
Поскольку группа начала разрабатывать собственную версию программного от версии NCSA привлекли больше людей и начали помогать вне, сначала отправляя небольшие исправления или предложения, или отвечая на электронную почту в списке рассылки, позже с более важными вкладами.
Когда группа почувствовала, что человек «заслужил» заслугу быть частью сообщество разработчиков, они предоставили прямой доступ к коду репозиторий, тем самым расширяя группу и повышая ее способность разрабатывать программу, а также поддерживать и развивать программное обеспечение. эффективно.
Мы называем этот основной принцип «меритократией»: управление по заслугам.
Процесс очень хорошо масштабируется без создавая трения, потому что, в отличие от других ситуаций, где власть является дефицитный и консервативный ресурс, в группе апачей были замечены новички как добровольцы, которые хотели помочь, а не люди, которые хотели украсть позиция.
Без ограниченных и, следовательно, ценных ресурсов (денег, энергии, времени) на кону группа был рад, что новые люди приходят и помогают. Они отфильтровали только тех, кто проявил интерес, чтобы найти и включить тех, кто, по их мнению, был достаточно предан делу и соответствовал требованиям. человеческое отношение, необходимое для того, чтобы хорошо работать с другими, особенно когда разногласия.
После объяснения структуры АФС мы увидим, как меритократия относится к различным ролям.
Структура фонда
По мере роста доли рынка и популярности веб-сервера Apache, благодаря синергии технических достоинств и открытости сообщества за проектом люди начали создавать сателлитные проекты. Под влиянием по духу общины, к которому они привыкли, они приняли одинаковые традиции управления общиной.
К моменту возникновения АЧС существовало несколько отдельных сообщества, каждое из которых сосредоточено на другой стороне проблемы «веб-обслуживания», но все они объединены общим набором целей и уважаемым набором культурных традиции как этикета, так и процесса.
Эти отдельные сообщества назывались «проектами» и, хотя похожи, каждый из них имел небольшие отличия, которые делали их особенными.
Для уменьшения трения и обеспечения разнообразия, а не навязывая монокультуру сверху, ASF определяет проекты как центральные принимающие решения организации мира апачей. Каждый проект имеет полномочия по разработке своего программного обеспечения и имеет большое свободу действий при разработке собственного технического устава и собственного управляющие правила.
В то же время культурное влияние первоначальной группы апачей сильны, и сходство между различными сообществами очевидно, поскольку мы увидим позже.
Следующие организации управляют фондом:
Совет директоров (правление) управляет фондом и состоит из члены.
Комитеты по управлению проектами (КУП) управляют проектами, и они состоит из коммиттеров. (Обратите внимание, что каждый член ЧВК по определению также является коммиттер.)
Различные должностные лица корпорации, назначенные правлением, которые установили Политика Фонда в конкретных областях (юридическая, торговая марка, сбор средств и т. д.)
Подробную информацию можно найти в нашем обзоре управления.
Совет директоров (правление)
Совет отвечает за управление и надзор за бизнесом и дела корпорации в соответствии с учреждением Устав. Это включает в себя управление корпоративными активами (средства, интеллектуальная собственность, товарные знаки и вспомогательное оборудование) и выделение корпоративных ресурсов для проектов.
Однако PMC каждого проекта Apache имеет технические полномочия по принятию решений относительно содержания и направление проекта.
Правление в настоящее время состоит из девяти человек, избираемых члены фонда. В уставе не указано количество членов правления которое должно было быть в основании, но это было число первая доска и она никогда не менялась. Правление избирается каждый год.
На сайте совета есть дополнительная информация, список текущих директоров, расписание встреч и протоколы прошедших встреч.
Комитеты по управлению проектами (КУП)
Совет учреждает Комитеты по управлению проектами (КУП), которые несут ответственность за активное управление одним или несколькими конкретными сообщества.
В состав каждой ЧВК входит как минимум один офицер АЧС, который назначает своего председателя и может включать одного или нескольких других членов АЧС.
Правление назначает председателя PMC, который также становится офицером (вице-президентом) ASF. Председатель несет основную ответственность перед Советом, и имеет право устанавливать правила и процедуры для повседневной жизни управление сообществами, за которые несет ответственность ЧВК, в том числе состав самой ЧВК. См. дальнейшее обсуждение роли Стул ЧВК и почему стулья офицеры.
Устав ASF (раздел 6.3) определяет PMC и должность стула. Некоторые электронные письма помогают уточнить: здесь и здесь.
Роль ЧВК с точки зрения Фонда заключается в надзоре. Главный роль ЧВК заключается не в кодировании и не кодировании, а в том, чтобы ее сообщество решало все юридические выпускает и следует установленным процедурам, и что каждый релиз является продуктом сообщества в целом. Это ключ к нашему механизмы судебной защиты.
Вторая роль PMC заключается в содействии долгосрочному развитию и здоровья общества в целом, а также обеспечить сбалансированное и широкое имеет место масштабная экспертная оценка и сотрудничество. В АЧС мы беспокоимся о любом сообществе, которое сосредоточено вокруг нескольких людей, которые работают практически без обзора. Мы считаем, что это наносит ущерб качеству, стабильность и надежность как кода, так и долгосрочных социальных структур.
Мы твердо верим в шляпы. Ваша роль в ASF назначена вами лично, и даруется вам вашими сверстниками. Это не привязано к ваша работа или текущий работодатель или компания.
Однако те, кто находится в PMC, придерживаются более высоких стандартов. ЧВК и Председатель, в частности, являются глазами и ушами Правления АФС, поэтому мы полагаемся и должны доверять вам в обеспечении юридического надзора.
Правление может прекратить работу PMC в любое время по решению.
На страницах с информацией для разработчиков Apache содержится более подробная информация о том, как работают PMC. Также доступен полный список всех проектов Apache.
Офицеры
Офицеры Apache Software Foundation наблюдают за повседневной дела Фонда. Совет Директор избирает этих должностных лиц.
Роли
Меритократия обычно имеет различные роли в каждом отдельном сообществе проекта Apache:
пользователь | разработчик | коммиттер
| член ЧВК | стул ЧВК | Участник ASF
Пользователь
Пользователь — это тот, кто использует наше программное обеспечение. Они способствуют Проекты Apache, предоставляя разработчикам обратную связь в виде ошибок отчеты и предложения по функциям. Пользователи участвуют в сообществе Apache помогая другим пользователям в списках рассылки и на форумах поддержки пользователей.
Разработчик
Разработчик — это пользователь, который вносит свой вклад в проект в форме код или документация. Они предпринимают дополнительные шаги для участия в проекте, активны в списке рассылки разработчиков, участвуют в обсуждениях и предоставлять исправления, документацию, предложения и критику. Разработчики также известный как участников .
Коммиттер
Коммиттер — это разработчик, имеющий доступ для записи кода репозиторий и имеет подписанное лицензионное соглашение участника (CLA) в файле. У них есть почтовый адрес apache.org. Им не нужно зависеть от других людей для внесения исправлений в код или документацию, они фактически принимают краткосрочные решения для проекта. PMC может (даже молчаливо) согласиться и одобрить изменения на постоянной основе, или они могут отвергнуть их. Помните, что решения принимает ЧВК, а не отдельные лица. коммиттеры.
Член PMC
Член PMC является коммиттером, избранным благодаря заслуга в развитии проекта. У них есть доступ для записи к репозиторию кода, почтовый адрес apache.org, право голоса по решениям, касающимся сообщества, и право на предлагать других активных участников для участия. ЧВК в целом является субъектом который контролирует проект, никто другой. В частности, PMC должен проголосовать за утверждение любого официального выпуска программных продуктов своего проекта.
Председатель ОНК
Правление назначает Председателя ОНК из числа членов ОУП. ЧВК в целом является организация, которая контролирует и ведет проект. Стул — это интерфейс между Советом и Проектом. У председателей PMC есть определенные обязанности.
Член АФС
Член АФС — это лицо, выдвинутое действующими членами и избран за заслуги в развитии и прогрессе фонда. Члены заботятся о самом АФС, как правило, посредством деятельности, связанной с проектом и между проектами. По закону член является «акционер» фонда, один из владельцев. Они имеют право избирать правление, баллотироваться в качестве кандидата на выборах в правление и предложить коммиттера для членства. Они также имеют право предлагать новый проект для инкубации (позже мы увидим, что это значит). Участники координировать свою деятельность через свой список рассылки и через свои ежегодное собрание. У нас есть полный список членов Apache.
Управление проектами и совместная работа
Проекты Apache управляются с помощью совместной, основанной на консенсусе процесс. У нас нет иерархической структуры; скорее разные группы участников имеют разные права и обязанности в организация.
Поскольку назначенные ЧВК имеют право создавать свои собственные правила самоуправления, нет единого видения того, как ЧВК должны управлять своими проектами и развивать сообщества, которые они возглавляют.
В то же время при наличии некоторых отличий имеется ряд общие черты всех проектов ASF:
Связь
Связь осуществляется через списки рассылки. Это «виртуальная встреча комнаты», где разговоры происходят асинхронно, что является общим требования к группам, распределенным по многим часовые пояса (как обычно для Apache сообщества).
Некоторые проекты дополнительно используют более синхронный обмен сообщениями (например, IRC или обмен мгновенными сообщениями). Голосовое общение крайне редко, обычно из-за затрат и языкового барьера (речь труднее понять чем письменный текст).
В целом асинхронная связь важна, поскольку она позволяет создавать архивы и более терпимо относится к волонтерам характер различных сообществ.
Документация
Каждый проект отвечает за собственный веб-сайт проекта. Доступна дополнительная информация для помощи коммиттерам, разработчикам и PMC. в инфраструктуре ASF.
Принятие решений
Проекты обычно управляются автоматически и управляются добровольцами для работы. Иногда это называют «до-ократией» — власть тех, кто делает. Это хорошо работает в большинстве случаев.
Когда требуется координация, проекты принимают решения на основе ленивого консенсуса подход: достаточно нескольких положительных голосов без единого отрицательного, чтобы получить собирается.
Голосование по номерам:
+1 — положительный голос
0 — воздержался, не имею мнения
-1 — отрицательный голос
Правила требуют, чтобы член PMC, регистрирующий голос против, должен был включить альтернативное предложение или подробное объяснение причин отрицательного голосования.
Затем сообщество пытается прийти к консенсусу по альтернативному предложению. что может решить проблему. В подавляющем большинстве случаев опасения ведущее к отрицательному голосованию, может быть рассмотрено.
Этот процесс называется «сбором консенсуса», и мы считаем его очень важным показателем здорового общества.
В отдельных случаях действуют более подробные правила голосования.
Философия
Хотя официального списка нет, люди часто цитируют эти шесть принципов, которые часто называют «путь апачей». как основные убеждения, лежащие в основе фонда:
совместная разработка программного обеспечения
коммерческая стандартная лицензия
неизменно качественное программное обеспечение
уважительное, честное, техническое взаимодействие
точное выполнение стандартов
безопасность как обязательная функция
Все проекты ASF разделяют эти принципы. Точно так же проекты Apache должны управлять собой независимо от неправомерного коммерческого влияния.
Операция
Все участники проектов АЧС являются волонтерами и никто (даже члены или офицеров) оплачивается непосредственно фондом за выполнение их работы. Есть много примеры коммиттеров, которым платят за работу над проектами, но никогда сам фундамент. Скорее, компании или учреждения, которые используют программное обеспечение и хотите улучшить его или поддерживать его обеспечить зарплату.
ASF заключает контракты на различные услуги, включая бухгалтерский учет, Связи с прессой и СМИ, администрирование инфраструктурных систем.
Отдельные лица составляют ASF
Все ASF, включая правление, должностных лиц, коммиттеров и члены участвуют как отдельные лица. Это одна из сильных сторон ASF: личная принадлежность не омрачает вклад человека.
Если специально не указано иное, все, что участник ASF публикует в любой рассылке список делается как сами . Это индивидуальная точка зрения, носящая их личная шляпа, а не как рупор для какой бы компании ни случилось подписывать свои зарплаты прямо сейчас, и даже не как директор АЧС.
Все участники ASF неявно имеют несколько шляп, особенно Правление, офицеры и председатели ЧВК. Им иногда нужно поговорить о вопросе политики, чтобы не показаться выражением личного мнения, они заявят, что говорят в своем особом качестве. Однако в большинстве случаев в этом нет необходимости: работает личное мнение. Что ж.
Некоторые люди заявляют о своих успехах, используя специальный нижний колонтитул к своей электронной почте, другие заключают свои утверждения в специальные кавычки, третьи используют свой адрес электронной почты apache.org, в противном случае они использовали бы свой личный один. Этот последний метод ненадежен, так как многие люди используют свои адрес apache.org все время.
Баланс между конфиденциальностью и публичным обсуждением
Мы стараемся проводить как можно больше публичных обсуждений. Этот поощряет открытость, предоставляет публичные записи и стимулирует более широкое сообщество.
Однако иногда необходимы внутренние частные списки рассылки. Вы никогда не должны разглашать информацию из такого списка публично без специального разрешения список. Также никогда не копируйте электронную почту между частными и общедоступными списками (без копии). Такое мероприятие вышло бы за рамки обычной необходимости соблюдения этикета электронной почты и стало бы серьезное нарушение доверия. Это может иметь серьезные последствия, вызывая ненужная путаница и неинформативное обсуждение.
Частные списки обычно используются только для вопросов, касающихся людей, как отдельные лица (например, голосование в новых коммиттерах) и юридические вопросы, требующие конфиденциальность.
Инфраструктура Фонда (#infrastructure)
У ASF нет офисов или зданий. Его единственное физическое существование — это техническая инфраструктура, которая позволяет ему работать, и персонал.
Команда инфраструктуры ASF, известная как «Инфра», поддерживает службы, которые помогают ASF и его проектам функционировать и процветать. Учить больше.
Инкубатор Фонда
Для поддержки и поощрения новых проектов АФС создал Инкубатор в помощь новым усилия присоединяются к фонду.
Поскольку меритократические правила действуют в ASF снизу вверх, жизненно важно для долгосрочной стабильности этой формы правления, первоначальный набор коммиттеров должен очень хорошо понимать динамику такого системы и разделять одинаковое философское отношение к сотрудничества и открытости, которые ASF ожидает от своих проектов.
Инкубатор отвечает за:
фильтрация предложений о создании нового проекта или подпроект
помогает создать новый проект и необходимую для него инфраструктуру. работать
курирование и наставничество инкубируемого сообщества, чтобы помочь ему создать открытая, меритократическая среда
оценка зрелости инкубируемого проекта и принятие решения о его продвижении официальный статус проекта/подпроекта или, в случае неудачи, отменить его.
Инкубатор (как и доска) не работает фильтрация по техническим причинам. Основа уважает и поддерживает различные технические подходы. Он не боится инноваций или даже внутренней конфронтации между проектами, которые пересекаются в функциональность.
Инкубатор фильтрует проекты на основе вероятности проектов становятся успешными меритократическими сообществами. Основные требования к инкубации:
рабочая кодовая база — за годы и после нескольких неудач Foundation пришел к пониманию, что без исходной работающей кодовой базы он как правило, трудно запустить сообщество. Это потому, что заслуга не хорошо признан разработчиками без работающей кодовой базы. Так же трение, которое может возникнуть на начальном этапе проектирования, вероятно, фрагментировать сообщество.
намерение назначить достаточный интеллектуальный права собственности на программное обеспечение ASF — это позволяет основание для получения безотзывного и постоянного права на перераспределение и работать над кодом, не опасаясь блокировки ни для себя, ни для своих пользователей, при этом по-прежнему позволяя оригинальному автору сохранять свои авторские права.
спонсирующий член или офицер АФС — это лицо выступает в качестве главного наставник, дающий указания по проекту, помогающий в повседневных делах детали и поддерживать связь с PMC инкубатора.
Инкубационный период обычно служит для оценки того, способен ли проект увеличить разнообразие своей базы коммиттеров и играть в рамках меритократических правил фонда.
Может показаться, что этого довольно легко достичь, но в волонтерская и высокоизбирательная среда, привлечение новых коммиттеров не автоматический.
Разнообразие коммиттеров важно по двум основным причинам:
придает долгосрочную стабильность развитию проекта. На самом деле, с все разработчики, связанные с одной и той же организацией, возможность увидеть все из них одновременно уходят от проекта гораздо больше, чем с сообществом лиц, связанных с несвязанными организациями.
дает большее разнообразие технических представлений. Это гарантирует лучшее соответствие среде и потребностям пользователей, таким образом, больше шансов найти реальное использование программного обеспечения.
Другие организации фонда
Наряду с инкубатором у фонда есть несколько других межфондовые проекты. Например, у ASF нет офисов или здания. Это виртуальный объект, который существует только в Интернете, и команда инфраструктуры управляет техническая инфраструктура, обеспечивающая его работу.
Узнайте больше об этих и других совместных проектах на сайте Фонда Страница проектов.
В ASF также размещены списки рассылки для всего фонда, о которых вы можете узнать на странице Списки рассылки.
В обзоре…
ASF представляет собой один из лучших примеры открытой организации, которая нашла баланс между структурой и гибкость. Мы выросли с 200 коммиттеров до примерно 3000, и это число продолжает расти ежедневно. Мы смогли создать программные продукты, которые являются лидерами на своих рынках. У нас также есть удалось найти баланс между открытостью и экономической целесообразностью. Этот заслужила уважение со стороны отдельных пользователей программного обеспечения Apache и международные корпорации. Мы надеемся и дальше вдохновлять предприятия, правительства, образовательные программы и другие фонды программного обеспечения.
Что такое Apache и что он делает для разработки веб-сайтов?
Если вы уже занимались веб-разработкой, я гарантирую, что вы слышали об Apache. Это наиболее широко используемое программное обеспечение веб-сервера на рынке с большим отрывом. Фактически, его доля рынка составляет почти 31%.
Доминирует на рынке, предлагая пользователям наиболее гибкую среду для запуска сервера. Таким образом, он стал популярным программным обеспечением для веб-серверов, которое предлагает почти каждая веб-хостинговая компания.
Сегодня мы обсудим, что такое Apache и что он на самом деле делает.
Что такое Апач?
Что такое веб-сервер?
Как работает Apache?
Преимущества Апача
Гибкость
Простота настройки
Огромная база пользователей
Недостатки Апача
Настройка может привести к уязвимости системы безопасности
Модули Apache трудно распознать
Обновления
Часто задаваемые вопросы
Работает ли Apache с WordPress?
Как работает Apache при высоком трафике?
Как другие программы для веб-серверов сравниваются с Apache?
Это действительно бесплатно?
Как Apache зарабатывает деньги?
Какие языки он поддерживает?
Apache — отличная часть программного обеспечения веб-сервера
Что такое Apache?
Apache — это программное обеспечение веб-сервера, отвечающее за прием HTTP-запросов от посетителей и отправку им запрошенной информации в виде веб-страниц.
Или, проще говоря, позволяет посетителям просматривать содержимое вашего веб-сайта.
С другой стороны, Apache отвечает за то, чтобы сервер, на котором хранится ваш веб-сайт, мог взаимодействовать с устройством, которое использует посетитель. Это то, что соединяет оборудование посетителя с вашим собственным.
Без программного обеспечения веб-сервера ваш веб-сайт не будет работать, и это напрямую влияет на производительность вашего веб-сайта.
Что такое веб-сервер?
Прежде чем я смогу объяснить, как на самом деле работает Apache, важно определить, что такое веб-сервер, поскольку он является неотъемлемой частью процесса.
Когда большинство людей думают о веб-сервере, они представляют себе физическую систему, в которой хранятся все данные, используемые вашим веб-сайтом. И это совершенно точно, когда вы подписываетесь на план веб-хостинга, вы фактически арендуете один из этих серверов.
Однако здесь все становится сложнее.
Вообще говоря, Apache — это программное обеспечение, на котором работает веб-сервер, но в Интернете многие люди используют эти термины как синонимы.
Без Apache или другого софта веб-сервер толком не назовешь веб-сервером, работать не будет. Это просто аппаратное обеспечение без работающего программного обеспечения.
Вот почему Apache часто называют веб-сервером Apache .
Таким образом, когда большинство людей говорят о веб-сервере, они имеют в виду программное обеспечение, стоящее за ним.
Как работает Apache?
Apache — это программное обеспечение, работающее на веб-сервере. Первый шаг — установить соединение между сервером и веб-браузерами. Это позволяет пользователям из этих веб-браузеров отправлять запросы на сервер, и Apache отвечает за обработку этого.
Так, например, если посетитель нажимает на вашу домашнюю страницу из Google, его веб-браузер отправляет запрос на этот сервер для отображения информации. Apache принимает этот запрос, а затем отправляет необходимые данные с сервера в браузер.
В результате посетитель увидит содержимое этой веб-страницы.
Это только основы. Apache имеет множество функций, которые можно использовать в виде модулей. К ним относятся ключевые функции, такие как безопасность и кэширование.
Это то, что придает платформе такую большую гибкость; его можно изменить, чтобы он подходил практически для любой среды веб-разработки.
Преимущества Apache
Гибкость
Интернет — это огромное место, полное миллионов веб-сайтов, каждый из которых имеет свои уникальные потребности.
Apache может использоваться многими веб-сайтами, потому что он обеспечивает гибкую среду закрытия, которая позволяет ему работать по мере необходимости. По правде говоря, два веб-сервера Apache могут сильно отличаться друг от друга, и это необходимо для того, чтобы веб-сайты были уникальными.
Простота настройки
По большей части новые веб-сайты обычно создаются людьми, не имеющими опыта веб-дизайна.
В результате индустрия тяготеет к более простым платформам веб-разработки, которые используют как можно меньше кода, таким как WordPress. Apache — идеальное программное обеспечение веб-сервера для начинающих. Он прост в установке и работает из коробки для большинства CMS.
Огромная база пользователей
Сила в количестве, и когда сообщество становится большим, увеличиваются и полезные ресурсы.
Apache является наиболее широко используемым программным обеспечением веб-сервера, и поэтому он имеет наибольшую доступную поддержку. Новички могут легко найти ответы на интересующие их вопросы.
Многие считают это само собой разумеющимся, но поверьте мне, если вы используете другой веб-сервер, найти ответы будет намного сложнее.
Недостатки Apache
Настройка может привести к уязвимости системы безопасности
Хотя гибкость является одним из самых больших преимуществ программного обеспечения, нельзя отрицать, что это палка о двух концах.
Настройка различных аспектов Apache дает вам больший контроль над всем, но также может открыть уязвимости в системе безопасности. Эти модификации могут открыть дверь для хакеров.
Более опытные веб-разработчики могут этого избежать, но факт остается фактом: это может быть опасно.
Модули Apache трудно распознать
Существует множество модулей, которые добавляют определенные функции вашему веб-серверу. Многие весьма полезны.
Однако некоторые функции могут быть ненужными или бесполезными. Это действительно зависит от веб-сайта. В таких случаях может быть проблематично определить, какие модули необходимы, а какие нет, не зная программного обеспечения.
Обновления
Это действительно зависит от человека, но количество обновлений, которые может выпустить Apache, может быть… много .
По большому счету, это не должно влиять ни на что, что вы делаете, но многие люди не любят часто обновлять. Однако в случае с Apache это действительно важно. Обновления часто закрывают найденные уязвимости безопасности.
Отсутствие обновлений может сделать ваш сайт уязвимым для хакеров.
Часто задаваемые вопросы
Работает ли Apache с WordPress?
Да, и прямо из коробки.
Большинство веб-хостинговых компаний по умолчанию используют Apache в качестве основного программного обеспечения веб-сервера. Некоторые могут предлагать дополнительные опции, но из-за простоты использования, популярности и доступных ресурсов большинство сайтов WordPress придерживаются Apache.
Также стоит отметить, что многие плагины WordPress созданы с учетом того, что вы используете Apache. Эти плагины прояснят это, но об этом нужно знать.
В противном случае эти плагины могут выйти из строя.
Как работает Apache при высоком трафике?
Ни для кого не секрет, что когда на сайт поступает много трафика, он начинает тормозить, и обычно в этом виновато программное обеспечение веб-сервера.
В случае Apache каждый раз, когда делается запрос, программное обеспечение создает новый процесс для обработки этого нового соединения. Это не проблема для небольших веб-сайтов, но когда одновременно происходит много трафика, вы можете генерировать сотни или тысячи процессов за секунды.
Вот когда сайты начинают загружаться очень долго. Хорошая новость заключается в том, что есть обходные пути, но для их обработки требуется перенастройка Apache.
Честно говоря, почти каждый веб-сервер сталкивается с одной и той же проблемой, просто некоторые решают ее по-разному.
Если вы ищете лучшую альтернативу для сайта с высокой посещаемостью, Nginx в этом случае дает лучшую производительность.
Чем отличается другое программное обеспечение веб-сервера от Apache?
Apache — не единственное доступное программное обеспечение веб-сервера. У вас есть масса вариантов для рассмотрения.
В общем, каждое программное обеспечение веб-сервера имеет свой собственный набор преимуществ и недостатков. Таким образом, это действительно зависит от того, какой сайт вы используете и сколько трафика вы получаете.
Однако рыночная доля Apache говорит о многом.
Для тех, кто заинтересован, некоторые из основных конкурентов Apache включают:
- Nginx
- Tomcat
- Microsoft IIS
- Litespeed
У каждого из них есть свои плюсы и минусы, как и у apache. Просто имейте в виду, что веб-хостинговые компании обычно по умолчанию используют Apache. Вам нужно запросить другой веб-сервер, который недоступен в плане виртуального хостинга.
Это действительно бесплатно?
Возможно, трудно поверить, что самое популярное программное обеспечение веб-сервера на самом деле бесплатное, но это действительно так.
Однако это не так уж и редко. На самом деле, вы могли бы сказать, что Apache заставил другое программное обеспечение веб-сервера стать бесплатным и открытым исходным кодом. Очень сложно конкурировать с бесплатным продуктом, который работает очень хорошо.
В этом отношении он очень похож на WordPress.
Как Apache зарабатывает деньги?
Apache — это благотворительная организация 501(c)3, а не компания.
Вместо этого он зарабатывает деньги на пожертвованиях миллионов пользователей, особенно крупных корпораций. И эти деньги идут на разработку программного обеспечения Apache и множества других проектов, которые они производят.
Для тех, кто не знаком с налоговой системой США, пожертвования, сделанные в благотворительную организацию 501(c)3, не облагаются налогом. По сути, компании могут жертвовать деньги и списывать их и, в свою очередь, получать выгоду от производимого программного обеспечения.
Это беспроигрышная ситуация для всех.
Какие языки он поддерживает?
Apache был написан на C, но поддерживает множество языков программирования.
К ним относятся PHP, Python, Java, HTML и другие. В целом, это только царапины на поверхности. Вы можете установить несколько сторонних модулей, чтобы получить доступ к большему количеству языков.
Это важная причина, по которой платформа так широко используется.
Apache — отличная часть программного обеспечения веб-сервера
Сервер, работающий на Apache, — отличный выбор для большинства веб-сайтов. Он прост в использовании, настраивается и имеет обширную библиотеку ресурсов, которыми могут воспользоваться пользователи. В результате это лучший вариант для новичков, особенно в WordPress.
Тем не менее, всегда полезно знать о других возможных вариантах. В зависимости от характера и размера вашего веб-сайта другой вариант может быть лучше.
Какое программное обеспечение веб-сервера вы используете и почему? Считаете ли вы Apache хорошим выбором для начинающих?
веб-серверов — Apache | Убунту
Apache — наиболее часто используемый веб-сервер в системах Linux. Веб-серверы используются для обслуживания веб-страниц, запрашиваемых клиентскими компьютерами. Клиенты обычно запрашивают и просматривают веб-страницы с помощью приложений веб-браузера, таких как Firefox, Opera, Chromium или Internet Explorer.
Пользователи вводят унифицированный указатель ресурсов (URL), чтобы указать на веб-сервер с помощью его полного доменного имени (FQDN) и пути к требуемому ресурсу. Например, чтобы просмотреть домашнюю страницу веб-сайта Ubuntu, пользователь введет только полное доменное имя:
.www.ubuntu.com
Чтобы просмотреть подстраницу сообщества, пользователь должен ввести полное доменное имя, а затем путь:
www.ubuntu.com/community
Наиболее распространенным протоколом, используемым для передачи веб-страниц, является протокол передачи гипертекста (HTTP). Также поддерживаются такие протоколы, как протокол передачи гипертекста по протоколу защищенных сокетов (HTTPS) и протокол передачи файлов (FTP), протокол для загрузки и выгрузки файлов.
Веб-серверы Apache часто используются в сочетании с ядром базы данных MySQL, языком сценариев HyperText Preprocessor (PHP) и другими популярными языками сценариев, такими как Python и Perl. Эта конфигурация называется LAMP (Linux, Apache, MySQL и Perl/Python/PHP) и образует мощную и надежную платформу для разработки и развертывания веб-приложений.
Установка
Веб-сервер Apache2 доступен в Ubuntu Linux. Чтобы установить Apache2:
В командной строке терминала введите следующую команду:
sudo apt установить apache2
Конфигурация
Apache2 настраивается путем размещения директив в текстовых файлах конфигурации. Эти директивы разделены между следующими файлами и каталогами:
apache2.conf: основной файл конфигурации Apache2. Содержит настройки, которые являются глобальными для Apache2.
httpd.conf: исторически основной файл конфигурации Apache2, названный в честь демона httpd. В других дистрибутивах (или более старых версиях Ubuntu) этот файл может присутствовать. В Ubuntu все параметры конфигурации были перемещены в apache2.conf и указанные ниже каталоги, и этот файл больше не существует.
conf-available: этот каталог содержит доступные файлы конфигурации. Все файлы, которые ранее были в
/etc/apache2/conf.d
следует переместить в/etc/apache2/conf-available
.conf-enabled: содержит символических ссылок на файлы в
/etc/apache2/conf-available
. Когда файл конфигурации имеет символическую ссылку, он будет включен при следующем перезапуске apache2.envvars: файл, в котором установлены переменные среды Apache2 .
доступные моды: этот каталог содержит файлы конфигурации для загрузки модули и настроить их. Однако не все модули будут иметь определенные файлы конфигурации.
с поддержкой модов: содержит символических ссылок на файлы в
/etc/apache2/mods-available
. Когда файл конфигурации модуля имеет символическую ссылку, он будет включен при следующем перезапуске apache2.ports.conf: содержит директивы, определяющие, какие порты TCP прослушивает Apache2.
доступных сайтов: в этом каталоге есть файлы конфигурации для Apache2 виртуальных хостов . Виртуальные хосты позволяют настроить Apache2 для нескольких сайтов с отдельными конфигурациями.
сайтов с поддержкой: с поддержкой модов,
с поддержкой сайтов
содержит символические ссылки на каталог/etc/apache2/sites-available
. Точно так же, когда файл конфигурации на сайтах доступен по символической ссылке, настроенный им сайт будет активен после перезапуска Apache2.magic: инструкции для определения типа MIME на основе первых нескольких байтов файла.
Кроме того, с помощью директивы Include можно добавить другие файлы конфигурации, а для включения многих файлов конфигурации можно использовать подстановочные знаки. Любая директива может быть помещена в любой из этих конфигурационных файлов. Изменения в основных файлах конфигурации распознаются Apache2 только при его запуске или перезапуске.
Сервер также считывает файл, содержащий типы MIME-документов; имя файла задается 9Директива 1947 TypesConfig , обычно через /etc/apache2/mods-available/mime.conf
, которая также может включать дополнения и переопределения, и по умолчанию /etc/mime.types
.
Основные настройки
В этом разделе объясняются основные параметры конфигурации сервера Apache2. Дополнительные сведения см. в документации Apache2.
Apache2 поставляется с конфигурацией по умолчанию, удобной для виртуального хоста. То есть он настроен с одним виртуальным хостом по умолчанию (используя VirtualHost ), который можно изменить или использовать как есть, если у вас есть один сайт, или использовать в качестве шаблона для дополнительных виртуальных хостов, если у вас несколько сайтов. Если оставить его в покое, виртуальный хост по умолчанию будет служить вашим сайтом по умолчанию, или пользователи сайта увидят, не соответствует ли введенный ими URL-адрес директиве ServerName любого из ваших пользовательских сайтов. Чтобы изменить виртуальный хост по умолчанию, отредактируйте файл
/etc/apache2/sites-available/000-default.conf
.Примечание
Директивы, установленные для виртуального хоста, применяются только к этому конкретному виртуальному хосту. Если директива установлена для всего сервера и не определена в настройках виртуального хоста, используется настройка по умолчанию. Например, вы можете определить адрес электронной почты веб-мастера и не определять отдельные адреса электронной почты для каждого виртуального хоста.
Если вы хотите настроить новый виртуальный хост или сайт, скопируйте этот файл в тот же каталог с выбранным вами именем. Например:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mynewsite.conf
Отредактируйте новый файл, чтобы настроить новый сайт, используя некоторые директивы, описанные ниже.
Директива ServerAdmin указывает адрес электронной почты, который будет объявлен для администратора сервера. Значение по умолчанию — webmaster@localhost. Это должно быть изменено на адрес электронной почты, который доставлен вам (если вы являетесь администратором сервера). Если на вашем веб-сайте возникла проблема, Apache2 отобразит сообщение об ошибке, содержащее этот адрес электронной почты, на который следует сообщить о проблеме. Найдите эту директиву в файле конфигурации вашего сайта в /etc/apache2/sites-available.
Директива Listen указывает порт и, возможно, IP-адрес, который Apache2 должен прослушивать. Если IP-адрес не указан, Apache2 будет прослушивать все IP-адреса, назначенные машине, на которой он работает. Значение по умолчанию для директивы Listen — 80. Измените это значение на 127.0.0.1:80, чтобы заставить Apache2 прослушивать только ваш петлевой интерфейс, чтобы он не был доступен в Интернете, на (например) 81, чтобы изменить порт, который он слушает или оставьте все как есть для нормальной работы. Эту директиву можно найти и изменить в отдельном файле,
/etc/apache2/ports.conf
Директива ServerName является необязательной и указывает, на какое полное доменное имя должен отвечать ваш сайт. Виртуальный хост по умолчанию не имеет указанной директивы ServerName, поэтому он будет отвечать на все запросы, которые не соответствуют директиве ServerName в другом виртуальном хосте. Если вы только что приобрели доменное имя
mynewsite.com
и хотите разместить его на своем сервере Ubuntu, значение директивы ServerName в файле конфигурации вашего виртуального хоста должно бытьmynewsite.com
. Добавьте эту директиву в новый файл виртуального хоста, который вы создали ранее (/etc/apache2/sites-available/mynewsite.conf
).Вы также можете захотеть, чтобы ваш сайт отвечал на
www.mynewsite.com
, так как многие пользователи посчитают префикс www подходящим. Используйте для этого директиву ServerAlias . Вы также можете использовать подстановочные знаки в директиве ServerAlias.Например, следующая конфигурация заставит ваш сайт отвечать на любой запрос домена, оканчивающийся на .mynewsite.com .
псевдоним сервера *.mynewsite.com
Директива DocumentRoot указывает, где Apache2 должен искать файлы, составляющие сайт. Значение по умолчанию — /var/www/html, как указано в
/etc/apache2/sites-available/000-default. conf
. При желании измените это значение в файле виртуального хоста вашего сайта и не забудьте создать этот каталог, если это необходимо!
Включить новый VirtualHost с помощью утилиты a2ensite и перезапустите Apache2:
sudo a2ensite мой сайт новостей sudo systemctl перезапустить apache2.service
Примечание
Обязательно замените mynewsite на более описательное имя виртуального хоста. Один из способов — назвать файл после директивы ServerName VirtualHost.
Аналогичным образом используйте утилиту a2dissite для отключения сайтов. Это может быть полезно при устранении неполадок с конфигурацией нескольких виртуальных хостов:
sudo a2dissite мой сайт новостей sudo systemctl перезапустить apache2.service
Настройки по умолчанию
В этом разделе объясняется настройка параметров сервера Apache2 по умолчанию. Например, если вы добавите виртуальный хост, параметры, настроенные для виртуального хоста, будут иметь приоритет для этого виртуального хоста. Для директивы, не определенной в настройках виртуального хоста, используется значение по умолчанию.
DirectoryIndex — это страница по умолчанию, обслуживаемая сервером, когда пользователь запрашивает индекс каталога, указав косую черту (/) в конце имени каталога.
Например, когда пользователь запрашивает страницу
http://www.example.com/this_directory/
, он или она получит либо страницу DirectoryIndex, если она существует, либо сгенерированный сервером список каталогов, если он не существует, и Указан параметр «Индексы» или страница «Отказано в доступе», если ни один из них не соответствует действительности. Сервер попытается найти один из файлов, перечисленных в директиве DirectoryIndex, и вернет первый найденный. Если он не находит ни одного из этих файлов и если опций индексирует 9Для этого каталога установлено значение 1948, сервер сгенерирует и вернет список в формате HTML подкаталогов и файлов в каталоге. Значение по умолчанию, найденное в/etc/apache2/mods-available/dir. conf
, — «index.html index.cgi index.pl index.php index.xhtml index.htm». Таким образом, если Apache2 найдет в запрошенном каталоге файл, соответствующий любому из этих имен, будет отображен первый.Директива ErrorDocument позволяет указать файл, который Apache2 будет использовать для определенных событий ошибок. Например, если пользователь запрашивает несуществующий ресурс, возникает ошибка 404. По умолчанию Apache2 просто возвращает код возврата HTTP 404. Читать
/etc/apache2/conf-available/localized-error-pages.conf
для получения подробных инструкций по использованию ErrorDocument, включая расположение файлов примеров.По умолчанию сервер записывает журнал передачи в файл
/var/log/apache2/access.log
. Вы можете изменить это для каждого сайта в файлах конфигурации вашего виртуального хоста с помощью директивы CustomLog или опустить его, чтобы принять значение по умолчанию, указанное в/etc/apache2/conf-available/other-vhosts-access-log. .конф
. Вы также можете указать файл, в который заносятся ошибки, с помощью директивы ErrorLog , значение которой по умолчанию —/var/log/apache2/error.log
. Они хранятся отдельно от журналов передачи, чтобы помочь в устранении неполадок с вашим сервером Apache2. Вы также можете указать LogLevel (значение по умолчанию — «warn») и LogFormat (см./etc/apache2/apache2.conf
для значения по умолчанию).Некоторые параметры указываются для каждого каталога, а не для каждого сервера. Options — одна из таких директив. Раздел каталога заключен в XML-подобные теги, например:
.<Каталог /var/www/html/mynewsite> ... Каталог>
Директива Options в разделе Directory принимает одно или несколько из следующих значений (среди прочих), разделенных пробелами:
ExecCGI — Разрешить выполнение сценариев CGI. CGI-скрипты не выполняются, если этот параметр не выбран.
Осторожно
Большинство файлов не должны выполняться как сценарии CGI. Это было бы очень опасно. CGI-скрипты должны храниться в каталоге, отдельном от вашего DocumentRoot и за его пределами, и только этот каталог должен иметь установленную опцию ExecCGI. Это значение по умолчанию, а расположение CGI-скриптов по умолчанию —
/usr/lib/cgi-bin
.Включает — Разрешить включение на стороне сервера. Серверные включения разрешают HTML-файлу включать другие файлы. См. документацию Apache SSI (сообщество Ubuntu) для получения дополнительной информации.
IncludesNOEXEC — Разрешить включения на стороне сервера, но отключить команды #exec и #include в сценариях CGI.
Индексы — Показать отформатированный список содержимого каталога, если в запрошенном каталоге не существует DirectoryIndex (например, index. html).
Осторожно
Из соображений безопасности это обычно не следует устанавливать и, конечно же, не следует устанавливать в каталоге DocumentRoot. Включайте эту опцию осторожно для каждого каталога, только если вы уверены, что хотите, чтобы пользователи видели все содержимое каталога.
Multiview — Поддержка мультиракурсов с согласованием содержимого; эта опция отключена по умолчанию из соображений безопасности. См. документацию Apache2 по этому параметру.
SymLinksIfOwnerMatch — Переходите по символическим ссылкам только в том случае, если у целевого файла или каталога тот же владелец, что и у ссылки.
Настройки apache2
В этом разделе объясняются некоторые основные параметры конфигурации демона apache2.
LockFile — директива LockFile задает путь к файлу блокировки, используемому при компиляции сервера с помощью USE_FCNTL_SERIALIZED_ACCEPT или USE_FLOCK_SERIALIZED_ACCEPT. Он должен храниться на локальном диске. Следует оставить значение по умолчанию, если только каталог журналов не находится в общем ресурсе NFS. В этом случае значение по умолчанию следует изменить на местоположение на локальном диске и на каталог, доступный для чтения только пользователю root.
PidFile — Директива PidFile задает файл, в котором сервер записывает свой идентификатор процесса (pid). Этот файл должен быть доступен для чтения только пользователю root. В большинстве случаев следует оставить значение по умолчанию.
User — Директива User устанавливает идентификатор пользователя, используемый сервером для ответа на запросы. Этот параметр определяет доступ к серверу. Любые файлы, недоступные для этого пользователя, также будут недоступны для посетителей вашего сайта. Значением по умолчанию для пользователя является «www-data».
Предупреждение
Если вы точно не знаете, что делаете, не устанавливайте для директивы пользователя значение root. Использование root в качестве пользователя создаст большие дыры в безопасности вашего веб-сервера.
Group — Директива Group аналогична директиве User. Группа задает группу, под которой сервер будет отвечать на запросы. Группа по умолчанию также «www-data».
Модули Apache2
Apache2 — это модульный сервер. Это означает, что в главный сервер включены только самые основные функции. Расширенные функции доступны через модули, которые можно загрузить в Apache2. По умолчанию базовый набор модулей включается в сервер во время компиляции. Если сервер скомпилирован для использования динамически загружаемых модулей, то модули можно скомпилировать отдельно и добавить в любой момент с помощью директивы LoadModule. В противном случае Apache2 необходимо перекомпилировать для добавления или удаления модулей.
Ubuntu компилирует Apache2 для динамической загрузки модулей. Директивы конфигурации могут быть включены условно при наличии определенного модуля путем включения их в блок
Вы можете установить дополнительные модули Apache2 и использовать их с вашим веб-сервером. Например, выполните следующую команду в терминале, чтобы установить модуль Python 3 WSGI:
.sudo apt установить libapache2-mod-wsgi-py3
Установка включит модуль автоматически, но мы можем отключить его с помощью а2дисмод
:
судо a2dismod wsgi sudo systemctl перезапустить apache2.service
А затем используйте утилиту a2enmod
, чтобы повторно включить его:
судо a2enmod wsgi sudo systemctl перезапустить apache2.service
Дополнительные модули, уже доступные в вашей системе, см. в каталоге /etc/apache2/mods-available
.
Конфигурация HTTPS
Модуль mod_ssl
добавляет к серверу Apache2 важную функцию — возможность шифрования связи. Таким образом, когда ваш браузер обменивается данными с использованием SSL, 9Префикс 1813 https:// используется в начале унифицированного указателя ресурса (URL) на панели навигации браузера.
Модуль mod_ssl
доступен в пакете apache2-common. Выполните следующую команду в терминале, чтобы включить модуль mod_ssl
:
судо a2enmod ssl
Файл конфигурации HTTPS по умолчанию находится в /etc/apache2/sites-available/default-ssl.conf
. Чтобы Apache2 обеспечивал HTTPS, сертификат и ключ файл также необходимы. Конфигурация HTTPS по умолчанию будет использовать сертификат и ключ, сгенерированные пакетом ssl-cert
. Они хороши для тестирования, но автоматически сгенерированный сертификат и ключ следует заменить сертификатом, специфичным для сайта или сервера. Информацию о создании ключа и получении сертификата см. в разделе Сертификаты.
Чтобы настроить Apache2 для HTTPS, введите следующее:
sudo a2ensite по умолчанию-ssl
Примечание
Каталоги
/etc/ssl/certs
и/etc/ssl/private
являются местоположениями по умолчанию. Если вы устанавливаете сертификат и ключ в другой каталог, обязательно измените SSLCertificateFile и SSLCertificateKeyFile соответствующим образом.
Теперь, когда Apache2 настроен для HTTPS, перезапустите службу, чтобы включить новые настройки:
sudo systemctl перезапустить apache2.service
Примечание
В зависимости от того, как вы получили сертификат, вам может потребоваться ввести парольную фразу при запуске Apache2.
Вы можете получить доступ к защищенным страницам сервера, набрав https://your_hostname/url/
в адресной строке браузера.
Совместное использование Разрешение на запись
Чтобы несколько пользователей могли писать в один и тот же каталог, необходимо предоставить разрешение на запись группе, которую они совместно используют. В следующем примере разрешение на запись для общего доступа предоставляется /var/www/html
в группу «веб-мастера».
sudo chgrp -R веб-мастера /var/www/html sudo chmod -R g=rwX /var/www/html/
Эти команды рекурсивно устанавливают групповое разрешение для всех файлов и каталогов в /var/www/html
, чтобы разрешить чтение, запись и поиск в каталогах. Многие администраторы находят это полезным для разрешения нескольким пользователям редактировать файлы в дереве каталогов.
Предупреждение
Демон
apache2
будет работать как 9Пользователь 1813 www-data , которому соответствует группаwww-data
. Этим не следует предоставлять доступ на запись к корневому каталогу документа, поскольку это будет означать, что уязвимости в Apache или приложениях, которые он обслуживает, позволят злоумышленникам перезаписать обслуживаемый контент.
Ссылки
Документация Apache2 содержит подробную информацию о директивах конфигурации Apache2. Кроме того, официальную документацию по Apache2 см. в пакете apache2-doc.
Поваренная книга Apache O’Reilly — хороший ресурс для выполнения определенных конфигураций Apache2.
Вопросы по Apache2, относящиеся к Ubuntu, задавайте на IRC-канале #ubuntu-server на libera.chat.
Что такое сервер Apache? О серверах Apache
Сервер Apache — это приложение веб-сервера, которое доставляет контент, такой как HTML-страницы, мультимедиа и таблицы стилей CSS через Интернет. Apache — веб-приложение, разработанное сообществом. опубликовано Apache Software Foundation. Это, пожалуй, самое популярное программное обеспечение для веб-серверов. доступен во всемирной паутине и чаще всего встречается в операционных системах на базе Unix, таких как как Linux, OSX, Solaris и FreeBSD.
Apache имеет открытый исходный код, и поэтому он разрабатывается и поддерживается большой группой глобальных волонтеры. Одна из основных причин популярности Apache заключается в том, что программное обеспечение является бесплатным для всех. скачать и использовать. Apache не предоставляет прямой поддержки или обслуживания. Фонд; тем не менее, существует огромное количество документации и онлайн-форумов, на которых можно получить помощь. сообщество. Коммерческую поддержку Apache можно получить от компаний, предоставляющих веб-хостинг, таких как Atlantic.Net. Апач Сервер внедряется поставщиками услуг, чтобы предлагать клиентам решения для веб-хостинга, такие как HIPAA-совместимость Atlantic.Net хостинг веб-сайтов и доставка контента.
Apache представляет собой модульное приложение, что означает, что его структура позволяет использовать дополнительные функции. добавлен в основное приложение. Apache обычно сочетается с SQL База данных (например, MYSQL или MariaDB) и серверный язык программирования (например, PHP). Установка PHP поверх базовой операционной системы дает ряд дополнительных функций и инструменты, позволяющие разработчикам создавать плавные и динамичные веб-сайты. Встроенная поддержка SSL сертификаты и возможность балансировки нагрузки между несколькими серверами являются другими ключевыми модулями. Особенности. Apache Tomcat — еще один популярный модуль для сервера Apache, который предлагает веб-браузер. поддержка Java-сервлетов для клиентов.
Веб-сервер NCSA HTTPd
Основы веб-сервера Apache были заложены в США в Национальном центре Суперкомпьютерные приложения (NCSA). Команда, включая ключевого разработчика Роберта Маккула, написала NCSA. Веб-сервер HTTPd. Это был один из первых доступных веб-серверов клиент-сервер. В начале В 1990-х годах веб-сервер NCSA HTTPd работал на подавляющем большинстве Интернет-ресурсов. сайты. i
Роберт МакКул покинул NSCA в 1994 году, и вскоре после этого NCSA прекратило разработку HTTPd Web. Сервер. В 1995 году начала формироваться Apache Foundation, и разработчики начали обновлять и делиться исходным кодом веб-сервера HTTPd с целью его дальнейшего развития; это в конечном итоге завершился выпуском веб-сервера Apache с открытым исходным кодом. ii
Преимущества использования Apache
Веб-сервер Apache хорошо оптимизирован и может обрабатывать большие объемы трафика и передачи данных на минимальные требования к оборудованию. Apache легко масштабируется; по мере роста сайта система администраторы могут легко увеличить количество веб-серверов в своей ферме веб-хостинга. Выше все, апач бесплатный. Это огромное преимущество перед веб-серверами на рынке, которые дорогие модели лицензирования, не говоря уже о том, что они требуют больше аппаратных ресурсов.
Как работает веб-сервер Apache?
Apache — это многозадачная программа, которая собирает данные с сервера для доставки содержимого из файловая система сервера на клиентский запрос. Клиентом обычно является веб-браузер, а файловая система где хранится содержимое веб-сайта. Веб-сервер может взаимодействовать с модулями, базами данных и приложения для создания данных и контента; затем эти данные публикуются клиенту (обычно настольный веб-браузер). Apache может публиковать несколько запросов одновременно несколько клиентов сразу. Единственным ограничивающим фактором являются аппаратные возможности сервера. сам.
Кто использует веб-сервер Apache?
Веб-сервер Apache используется приблизительно 47% всех интернет-сайтов, iii и один миллион веб-сайтов, Apache используется почти на 69% из них. iv Linux — самый популярная операционная система для использования с Apache. Большинство WordPress Хостинг-провайдеры предлагают Apache на хостинговом оборудовании Linux, часто вместе с руководством приложения, такие как cPanel. Некоторые крупнейшие мировые компании доверяют Сервер Apache, включая Apple, Google, PayPal и Adobe. v
Ссылки
i Www6.uniovi.es. (2018). Обзор NCSA httpd. [онлайн] Доступно по адресу: http://www6.uniovi.es/~antonio/ncsa_httpd/Overview.html [По состоянию на 10 мая 2018 г.].
ii Apache.org. (2018). Исторический проект АЧС. [онлайн] Доступно по адресу: https://www.apache.org/history/ [По состоянию на 9 мая 2018 г.].
iii W3techs.com. (2018). Статистика использования и доля рынка Apache для веб-сайтов, май 2018.