Разное

Апаче что это: Apache — ? Apache. FreeHost

09.06.2021

Содержание

Apache Software Foundation — это… Что такое Apache Software Foundation?

Логотип

Apache Software Foundation (ASF) — организация-фонд, способствующая развитию проектов программного обеспечения Apache, к которым относится среди прочего веб-сервер Apache. ASF была сформирована в 1999 году из Apache Group в Делавэре, США.

Сообщество ASF состоит из разработчиков-энтузиастов, живущих в разных странах мира и участвующих в различных Open Source проектах.

Отличительные черты проектов Apache — это совместная разработка кода и открытая, прагматичная лицензия — Apache Software License.

Руководит каждым из проектов команда избранных экспертов, которые сами принимают активное участие в процессе разработки.

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

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

Среди платиновых (более 100 000 долл. в год) спонсоров проекта — Google и Yahoo!.[1] В июле 2008 года к ним присоединилась Microsoft.

[2]

ASF ежегодно проводит конференции ApacheCon.

Проекты

Активные проекты

Остановленные проекты

Закрытые проекты

Примечания

Ссылки

  Apache Software Foundation
Проекты верхнего уровня ActiveMQ • Ant • Apache HTTP Server • APR • Beehive • Cassandra • Cayenne • Camel • Commons • Cocoon • CouchDB  • DB • Directory • Excalibur • Forrest • Geronimo • Gump • Hadoop • Harmony • HBase • HiveMind • HttpComponents • iBATIS • Jackrabbit • James • JMeter • Lenya • Maven • Mina • mod perl • MyFaces • Nutch • OFBiz • OpenOffice.org • POI • Portals • Santuario • ServiceMix • Shale • Shiro • SpamAssassin • Struts • Subversion • Tapestry • Tcl • Tomcat • Turbine • Velocity • WebWork 2 • Wicket • Xalan • Xerces • XMLBeans
Подпроекты
Apache Web Services Axis • Axis2  • CXF  • WS-Commons • EWS • JaxMe • jUDDI • Kandula • Mirae • Muse • Pubscribe • Sandesha • Scout • SOAP • Synapse • TSIK • Tuscany • Woden • WSIF  • WSRF • WSS4J • XML-RPC
Другие проекты Batik • FOP •Log4j
Развивающиеся проекты (Incubator) XAP • River • OpenEJB • OpenJPA • Graffito • Tuscany • Log4Net • Roller • Felix • Abdera • CeltiXfire • FtpServer • Heraldry • Ivy • JuiCE • Kabuki • Lokahi • Lucene.Net • mod_ftp • NMaven • Ode • stdcxx • Woden • WSRP4J • Yoko • WADI • Qpid • stdcxx • TripleSoup • UIMA• Adobe Flex
Списанные проекты (Attic) AxKit • Cactus • ECS • Jakarta • ORO • Regexp • Slide • Taglibs
Лицензия: Лицензия Apache • Сайт: apache.org

Начало работы — HTTP сервер Apache Версия 2.4

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

См. также

Адреса в Интернете записываются с помощью URL — Uniform Resource Locator (унифицированный указатель ресурса), который указывает на используемый протокол (например, http), имя сервера (например, www.apache.org), URL-путь (например, /docs/current/getting-started.html) и, возможно, строку запроса (например, ?arg=value), используемую для передачи серверу дополнительных аргументов.

Клиент (например, веб-браузер) подключается к серверу (например, вашему HTTP-серверу Apache), используя определённый протокол, и отправляет запрос на ресурс, используя URL-путь.

URL-путь может обозначать множество вещей на сервере. Это может быть файл (как

getting-started.html), обработчик (как server-status) или файл какой-то программы (как index.php). Мы рассмотрим это подробней ниже, в разделе Контент веб-сайта.

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

Детали транзакции и условия возникновения ошибки записываются в файлы журналов. Это описывается более подробно ниже, в разделе Файлы журналов и устранение неполадок.

Для того чтобы соединиться с сервером, клиент сначала должен преобразовать имя сервера в IP-адрес — место в Интернете, где находится сервер. Таким образом, чтобы ваш веб-сервер был доступен, необходимо, чтобы имя сервера было в DNS.

Если вы не знаете как это сделать, вам нужно обратиться к сетевому администратору или поставщику услуг Интернета (провайдеру). Они могут сделать это для вас.

Несколько хостов могут указывать на один и тот же IP-адрес, а один физический сервер может иметь больше одного IP-адреса. Таким образом на одном физическом сервере вы можете запустить больше одного сайта с помощью особенности: виртуальные хосты.

Если вы тестируете сервер, не имеющий выхода в Интернет, можете поместить имена хостов в файл hosts для того что бы имя разрешалось локально. Например, вы можете добавить запись для отправки запросов к www.example.com на локальный компьютер, для тестирования. Эта запись будет выглядеть так:

127.0.0.1 www.example.com

Файл hosts, скорее всего, расположен в /etc/hosts или C:\Windows\system32\drivers\etc\hosts

.

Вы можете узнать больше о файле hosts и больше о DNS.

HTTP-сервер Apache настроен с помощью простых текстовых файлов. Эти файлы могут располагаться в разных местах, в зависимости от того как вы установили сервер. Общие места расположения файлов можно найти в Вики HTTP-сервера Apache. Если вы установили httpd из исходного кода, то расположение файлов конфигурации по умолчанию следующее: /usr/local/apache2/conf. По умолчанию файл конфигурации называется httpd.conf. Это тоже может варьироваться в сторонних дистрибутивах сервера.

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

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

Сервер настраивается путём размещения директив конфигурации в этих файлах конфигурации. Директива — это ключевое слово с одним или несколькими аргументами, устанавливающими её значение.

На вопрос: «Где я должен прописать эту директиву?» – обычно отвечают, там где ты хочешь использовать её. Если это глобальная настройка, она должна располагаться в конфигурационном файле вне разделов <Directory>, <Location>, <VirtualHost> или других разделов. Если настройка относится только к конкретному каталогу, значит она должна быть внутри секции <Directory>, которая описывает этот каталог, и так далее. Смотри документ Разделы конфигурации с подробным описанием вышеуказанных разделов.

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

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

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

Статический контент — это, например, HTML-файлы, файлы изображений, CSS-файлы и другие файлы, которые просто лежат на диске. Директива DocumentRoot указывает где в вашей файловой системе, вы должны разместить эти файлы. Эта директива устанавливается глобально или отдельно для каждого виртуального хоста. Посмотрите в своём файле(ах) конфигурации, чтобы узнать, как именно эта директива используется на вашем сервере.

Обычно, когда запрашивается каталог, без указания имени файла, то будет отдан документ с именем index.html. Например, если для директивы DocumentRoot установлено значение /var/www/html и приходит запрос на адрес http://www.example.com/work/, то файл расположенный по пути /var/www/html/work/index.html будет отдан клиенту.

Динамический контент — это всё что генерируется во время запроса и может изменяться от запроса к запросу. Существует множество способов создания динамического контента. Различные обработчики доступны для генерации содержимого. Могут быть написаны специальные CGI программы для генерации контента на сайте.

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

Для вас, как администратора HTTP-сервера Apache, самые ценные активы — это файлы журналов (лог-файлы), в частности, журнал ошибок. Исправление любой проблемы без журнала ошибок можно сравнить с вождением автомобиля с закрытыми глазами.

Расположение журнала ошибок задаётся директивой ErrorLog, которая может быть установлена глобально или для каждого виртуального хоста. Записи в журнале ошибок расскажут вам, что и когда пошло не так. Зачастую они также смогут подсказать, как что-то исправить. Каждая запись в журнале ошибок содержит код ошибки, по которому вы можете поискать в Интернете более подробное описание того, как решить проблему. Вы также можете настроить журнал ошибок так, чтобы в него записывался идентификатор журнала, который можно сопоставить с записями в журнале доступа — это поможет определить, какой запрос какую ошибку вызвал.

Больше о логирование вы можете узнать в документации о журналах.

Теперь, когда вы знакомы с основами, пора двигаться дальше.

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

Apache Pulsar vs Kafka vs RabbitMQ

Недавно мы разбирали, что такое Apache Pulsar: архитектуру, принципы работы, сходства и различия с Kafka и RabbitMQ. В продолжение этого разговора, сегодня рассмотрим основные мифы и их опровержения в горячем споре о технологиях Big Data. Читайте далее про холивар Apache Kafka vs Pulsar vs RabbitMQ: что лучше выбрать для построения надежной системы потоковой аналитики больших данных и почему.

3 причины не сравнивать Apache Pulsar с Kafka и RabbitMQ

В real-time обработке больших данных и интеграции распределенных систем RabbitMQ считается самым популярным конкурентом Apache Kafka – Big Data платформы потоковой передачи событий. Об этом мы подробно рассказывали здесь. Однако, RabbitMQ – далеко не единственная альтернатива Kafka. С 2019 года все большую известность получает новый проект Apache Software Foundation (ASF) – фреймворк Pulsar. Изначально разработанный в Yahoo! для собственных нужд корпорации, в 2016 году Pulsar получил статус open-source, а еще через 2 года – стал проектом фонда ASF высшего уровня.

Прежде всего поясним, что напрямую сравнивать эти 2 Big Data фреймворка не совсем корректно по следующим причинам

[1]:

  • появившись в разное время, они отличаются степенью зрелости – Pulsar приобрел широкую известность и стал проектом верхнего уровня Apache Software Foundation только с 2018 года, а Kafka находится в этом статусе с 2012 года и успешно используется в качестве надежной распределенной платформы потоковой обработки событий, интеграционной шины и брокера сообщений;
  • несмотря open-source статус обоих систем под лицензией Apache0, Pulsar развивается, в основном, благодаря профессиональному сообществу энтузиастов, в то время как вокруг Kafka выросла целая инфраструктура на коммерческой поддержке, например, благодаря компании Confluent.

Возможно, поэтому Apache Kafka воспринимается как устоявшаяся зрелая технология, которая подходит для крупных корпораций с повышенными требованиями к надежности, тогда как Pulsar – вариант для стартапов. Например, китайская инвестиционная холдинговая компания Tencent пробует Pulsar в проекте биллинга, но превалирующую часть основного бизнеса использует Kafka, которая объединяет более 1000 брокеров в единый логический кластер [2].

Наконец, по аналогии с вопросом Kafka vs Pulsar стоит подчеркнуть нерелевантность прямого сравнения c RabbitMQ, который представляет собой промежуточное open-source ПО для обмена сообщениями на основе стандарта AMQP для организации очередей с низкой задержкой. Поэтому скорость работы и пропускная способность этого фреймворка зависит от обмена сообщениями как на стороне производителя, так и на уровне очередей, связанных с ними на стороне потребителя [3]. С этим связан следующий миф о преимуществе Pulsar над Kafka и RabbitMQ, который мы рассмотрим далее.

Очереди сообщений vs потоки Big Data: объединить нельзя разделить

Мы уже упоминали, что Pulsar сочетает некоторые возможности Kafka и RabbitMQ, например, организацию очереди сообщений и потоковую передачу событий. Однако, в действительности реализовать оба этих направления на приемлемом уровне достаточно сложно из-за разницы самих архитектурных моделей. В частности, очереди сообщений (Message Queue, MQ) используются для точечной связи, обеспечивая асинхронное взаимодействие отправителя и получателя данных. В свою очередь, потоковая обработка событий предполагает обработку данных в режиме онлайн с минимальной временной задержкой в общении между их производителем (producer) и получателем (consumer).

Apache Pulsar имеет ограниченную поддержку очереди сообщений, т.к. в нем отсутствуют такие функции обмена данными, как транзакции, маршрутизация, фильтрация сообщений и прочие возможности, которые обычно присутствуют в типовых MQ-системах, например, IBM MQ, RabbitMQ и ActiveMQ. Даже MQ-адаптеры Pulsar не слишком помогают решить эту проблему из-за ряда функциональных ограничений. Таким образом, как и Kafka, Pulsar не полностью реализует MQ-концепцию. Поэтому если требуется готовое решение для непосредственного обмена сообщениями, его следует искать среди соответствующих брокеров: RabbitMQ, IBM MQ, RabbitMQ, ActiveMQ, NATS и другие аналоги.

С другой стороны, Pulsar также не 100% поддерживает потоковую обработку событий. К примеру, он не обеспечивает семантику строго однократной доставки сообщений (exactly-once), о которой мы рассказывали здесь.  Это существенно сокращает число вариантов использования Apache Pulsar в реальных Big Data системах. В частности, с этим фреймворком не получится реализовать обработку онлайн-платежей, т.к. при отсутствии exactly-once гарантии любой сбой может вызвать дублирование или потерю данных о финансовых проводках. Справедливости раи стоит отметить, что Pulsar предоставляет функцию дедупликации, которая гарантирует, что сообщение не будет сохранено в брокере дважды. Однако, это не мешает потребителю прочитать сообщение несколько раз, что не соответствует концепции exactly-once.

Кроме того, Pulsar предоставляет только некоторые элементарные функции для потоковой передачи, что подходит для простых обратных вызовов, но не становится полноценной онлайн-обработкой. Поэтому нельзя назвать Pulsar 100%-ной альтернативой возможностям Kafka Streams или KSQL для создания stateful-приложений, которые включают информацию о состоянии, скользящие окна и прочие идеи настоящей потоковой обработки Big Data. Примеры потоковой аналитики больших данных с Pulsar обычно используют его в сочетании с Apache Spark или Flink, что предполагает усложнение распределенной Big Data инфраструктуры.

Наконец, в отличие от транзакций в Kafka, в Pulsar невозможно точно привязать сообщения, зафиксированные к состоянию, записанному внутри потокового процессора. Таким образом, Pulsar не хватает функций потокового соединения, агрегирования, оконной обработки, отказоустойчивого управления состоянием и вычислений на основе времени событий. А обратной стороной гибкой многоуровневой архитектуры за счет BookKeeper является снижение функциональных возможностей топиков по сравнению с Kafka. Напомним, Apache BookKeeper изначально был задуман как журнал упреждающей записи для узла имен HDFS Hadoop в случае кратковременного хранения данных [2]. Об особенностях эксплуатации и администрирования Apache Pulsar в сравнении с Kafka мы поговорим в следующий раз.

В заключение отметим, что некорректность прямого сравнения Apache Pulsar с Kafka и RabbitMQ показывает бенчмаркинговый тест, проведенный компанией Confluent, в рамках которого не получилось оценить производительность всех 3-х фреймворков по одному сценарию из-за разных концепций работы с данными. В частности, RabbitMQ работает с устойчивой очередью, которая сохраняет сообщения на диск тогда и только тогда, когда сообщения еще не были использованы. В отличие от Kafka и Pulsar, RabbitMQ не поддерживает «перемотку» очередей для повторного чтения старых сообщений. Кроме того, RabbitMQ не предполагает разделов в топике, используя обмен для маршрутизации сообщений в связанные очереди с помощью атрибутов заголовка, ключей маршрутизации или привязок обмена, из которых потребители могут обрабатывать сообщения. Наконец, в случае RabbitMQ накладные расходы на репликацию данных серьезно снижают пропускную способность всей системы, т.к. этот фреймворк не предполагает неограниченного масштабирования. Все это сказалось на процессе бенчмаркингового тестирования и его результатах, которые в очередной раз показали первенство Apache Kafka по пропускной способности и скорости обработки данных, а также соотношению цена-качество (стоимость записанного байта) [3]. Впрочем, не стоит безоговорочно доверять этому тесту, о чем мы расскажем завтра.

Apache Pulsar vs Kafka vs RabbitMQ – бенчмаркинговый тест производительности

Освоить на практике специфику администрирования кластеров и разработки Kafka-приложений для аналитики больших данных вы сможете на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

 

 

Источники

  1. https://www.confluent.io/kafka-vs-pulsar/
  2. https://dzone.com/articles/pulsar-vs-kafka-comparison-and-myths-explored
  3. https://www.confluent.io/blog/kafka-fastest-messaging-system/

 

Как удалить ошибку Apache, показав это в журнале ошибок Apache



Apache журналы ошибок:

[Sun Dec 06 12:09:48.500485 2015] [ssl:warn] [pid 4468:tid 384] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sun Dec 06 12:09:49.020821 2015] [ssl:warn] [pid 4468:tid 384] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sun Dec 06 12:09:55.209334 2015] [mpm_winnt:notice] [pid 4468:tid 384] AH00455: Apache/2.4.17 (Win32) OpenSSL/1.0.2d PHP/5.6.14 configured -- resuming normal operations
[Sun Dec 06 12:09:55.209334 2015] [mpm_winnt:notice] [pid 4468:tid 384] AH00456: Apache Lounge VC11 Server built: Oct 13 2015 10:54:13
[Sun Dec 06 12:09:55.209334 2015] [core:notice] [pid 4468:tid 384] AH00094: Command line: 'C:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache'
[Sun Dec 06 12:09:55.283393 2015] [mpm_winnt:notice] [pid 4468:tid 384] AH00418: Parent: Created child process 2364
[Sun Dec 06 12:09:56.648382 2015] [ssl:warn] [pid 2364:tid 376] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sun Dec 06 12:09:56.952603 2015] [ssl:warn] [pid 2364:tid 376] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sun Dec 06 12:09:57.241836 2015] [mpm_winnt:notice] [pid 2364:tid 376] AH00354: Child: Starting 150 worker threads.
apache
Поделиться Источник Kamal Das     06 декабря 2015 в 08:22

1 ответ


  • Ошибка » ожидаемый токен отсутствует” в моем журнале Apache

    Мой сайт работает на Apache 2 с mod_perl и использует систему шаблонов Mason. Я не использую никакой системы аутентификации или каких-либо сеансов на своем сайте, но иногда (наугад) Я получаю эту ошибку: внутренняя ошибка сервера Сервер столкнулся с внутренней ошибкой или неправильной…

  • Firebug показывает ошибку HTTP 302 красным цветом (нет ошибок в журнале ошибок apache)

    Я испытываю проблему на мобильной версии моего сайта, где я получаю сообщение HTTP 302 Found в Firebug на Firefox, но сообщение находится в красном цвете. Я подменяю Firefox, чтобы переключить строку агента пользователя на имитацию iPhone, это позволяет мне отлаживать мобильный сайт на рабочем…



1

Это журналы предупредить уровень уведомления &, вот список кодов ошибок, и система Comand чтобы удалить все сообщения ниже, чем предупредить :

# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel error

Если вы хотите разрешить уровень предупреждения, вам нужно купить сертификат SSL вместо того, чтобы самостоятельно подписывать его

Поделиться Froggiz     06 декабря 2015 в 09:43


Похожие вопросы:


Как не печатать предупреждения об устаревании в журнале ошибок apache?

Я получаю нежелательные предупреждения об устаревании в журнале ошибок моего Apache: /srv/www/<application>/shared/bundle/ruby/1.8/gems/actionpack-3.0.7/lib/action_view/paths.rb:15: warning:…


Facebook.php вызывает ошибку в журнале apache, как ее исправить?

У меня есть приложение Facebook, работающее на серверах Amazon (центр обработки данных windows + apache), и это часто появляется в журнале ошибок apache: Invalid or no certificate authority found,…


Почему Apache 2.1.7 в WAMP журнале PHP ошибок не будет записываться в журнал PHP ошибок?

Я установил WAMP и решил использовать по умолчанию Apache 2.1.7 в последней версии WAMP; причина в том, что мой хост-сервер, где находится мой сайт, также использует 2.1.7. Раньше я использовал…


Ошибка » ожидаемый токен отсутствует” в моем журнале Apache

Мой сайт работает на Apache 2 с mod_perl и использует систему шаблонов Mason. Я не использую никакой системы аутентификации или каких-либо сеансов на своем сайте, но иногда (наугад) Я получаю эту…


Firebug показывает ошибку HTTP 302 красным цветом (нет ошибок в журнале ошибок apache)

Я испытываю проблему на мобильной версии моего сайта, где я получаю сообщение HTTP 302 Found в Firebug на Firefox, но сообщение находится в красном цвете. Я подменяю Firefox, чтобы переключить…


Появляются ли ошибки PDO в журнале ошибок Apache?

Я учусь PHP и у меня есть вопрос. Если я использую следующий код для подключения к базе данных, появятся ли возможные ошибки в журнале ошибок Apache? $con = new…


Apache ERR_EMPTY_RESPONSE без каких-либо данных в журнале

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


Python ошибка в журнале ошибок apache

Я запускаю Django на сервере apache, но не вижу фактических ошибок Python, отображаемых в файле журнала ошибок apache. В файле conf уровень установлен на DEBUG. Я вижу все операторы печати, но не…


Время разбора в журнале Apache с Perl

Как разобрать даты/время в журнале Apache с помощью Perl? Пример даты/времени в журнале Apache: [Вт 20 Мая 13:23:17 2014]


PHP ошибок на 2 идентичных серверах: один регистрируется в журнале ошибок php, другой-в журнале ошибок apache

У меня есть два сервера, один-публичный сервер, другой — мой сервер разработки. Оба имеют одну и ту же версию OS (CentOS7.7), оба используют установку SAME для php (remi), оба имеют SAME php.ini,…

Почему Apache Pulsar — это не Kafka с RabbitMQ в одном флаконе | by Nick Komissarenko

Недавно мы разбирали, что такое Apache Pulsar: архитектуру, принципы работы, сходства и различия с Kafka и RabbitMQ. В продолжение этого разговора, сегодня рассмотрим основные мифы и их опровержения в горячем споре о технологиях Big Data. Читайте далее про холивар Apache Kafka vs Pulsar vs RabbitMQ: что лучше выбрать для построения надежной системы потоковой аналитики больших данных и почему.

3 причины не сравнивать Apache Pulsar с Kafka и RabbitMQ

В real-time обработке больших данных и интеграции распределенных систем RabbitMQ считается самым популярным конкурентом Apache Kafka — Big Data платформы потоковой передачи событий. Об этом мы подробно рассказывали здесь. Однако, RabbitMQ — далеко не единственная альтернатива Kafka. С 2019 года все большую известность получает новый проект Apache Software Foundation (ASF) — фреймворк Pulsar. Изначально разработанный в Yahoo! для собственных нужд корпорации, в 2016 году Pulsar получил статус open-source, а еще через 2 года — стал проектом фонда ASF высшего уровня.

Прежде всего поясним, что напрямую сравнивать эти 2 Big Data фреймворка не совсем корректно по следующим причинам [1]:

появившись в разное время, они отличаются степенью зрелости — Pulsar приобрел широкую известность и стал проектом верхнего уровня Apache Software Foundation только с 2018 года, а Kafka находится в этом статусе с 2012 года и успешно используется в качестве надежной распределенной платформы потоковой обработки событий, интеграционной шины и брокера сообщений; несмотря open-source статус обоих систем под лицензией Apache0, Pulsar развивается, в основном, благодаря профессиональному сообществу энтузиастов, в то время как вокруг Kafka выросла целая инфраструктура на коммерческой поддержке, например, благодаря компании Confluent.

Возможно, поэтому Apache Kafka воспринимается как устоявшаяся зрелая технология, которая подходит для крупных корпораций с повышенными требованиями к надежности, тогда как Pulsar — вариант для стартапов. Например, китайская инвестиционная холдинговая компания Tencent пробует Pulsar в проекте биллинга, но превалирующую часть основного бизнеса использует Kafka, которая объединяет более 1000 брокеров в единый логический кластер [2].

Наконец, по аналогии с вопросом Kafka vs Pulsar стоит подчеркнуть нерелевантность прямого сравнения c RabbitMQ, который представляет собой промежуточное open-source ПО для обмена сообщениями на основе стандарта AMQP для организации очередей с низкой задержкой. Поэтому скорость работы и пропускная способность этого фреймворка зависит от обмена сообщениями как на стороне производителя, так и на уровне очередей, связанных с ними на стороне потребителя [3]. С этим связан следующий миф о преимуществе Pulsar над Kafka и RabbitMQ, который мы рассмотрим далее.

Очереди сообщений vs потоки Big Data: объединить нельзя разделить

Мы уже упоминали, что Pulsar сочетает некоторые возможности Kafka и RabbitMQ, например, организацию очереди сообщений и потоковую передачу событий. Однако, в действительности реализовать оба этих направления на приемлемом уровне достаточно сложно из-за разницы самих архитектурных моделей. В частности, очереди сообщений (Message Queue, MQ) используются для точечной связи, обеспечивая асинхронное взаимодействие отправителя и получателя данных. В свою очередь, потоковая обработка событий предполагает обработку данных в режиме онлайн с минимальной временной задержкой в общении между их производителем (producer) и получателем (consumer).

Apache Pulsar имеет ограниченную поддержку очереди сообщений, т.к. в нем отсутствуют такие функции обмена данными, как транзакции, маршрутизация, фильтрация сообщений и прочие возможности, которые обычно присутствуют в типовых MQ-системах, например, IBM MQ, RabbitMQ и ActiveMQ. Даже MQ-адаптеры Pulsar не слишком помогают решить эту проблему из-за ряда функциональных ограничений. Таким образом, как и Kafka, Pulsar не полностью реализует MQ-концепцию. Поэтому если требуется готовое решение для непосредственного обмена сообщениями, его следует искать среди соответствующих брокеров: RabbitMQ, IBM MQ, RabbitMQ, ActiveMQ, NATS и другие аналоги.

С другой стороны, Pulsar также не 100% поддерживает потоковую обработку событий. К примеру, он не обеспечивает семантику строго однократной доставки сообщений (exactly-once), о которой мы рассказывали здесь. Это существенно сокращает число вариантов использования Apache Pulsar в реальных Big Data системах. В частности, с этим фреймворком не получится реализовать обработку онлайн-платежей, т.к. при отсутствии exactly-once гарантии любой сбой может вызвать дублирование или потерю данных о финансовых проводках. Справедливости раи стоит отметить, что Pulsar предоставляет функцию дедупликации, которая гарантирует, что сообщение не будет сохранено в брокере дважды. Однако, это не мешает потребителю прочитать сообщение несколько раз, что не соответствует концепции exactly-once.

Кроме того, Pulsar предоставляет только некоторые элементарные функции для потоковой передачи, что подходит для простых обратных вызовов, но не становится полноценной онлайн-обработкой. Поэтому нельзя назвать Pulsar 100%-ной альтернативой возможностям Kafka Streams или KSQL для создания stateful-приложений, которые включают информацию о состоянии, скользящие окна и прочие идеи настоящей потоковой обработки Big Data. Примеры потоковой аналитики больших данных с Pulsar обычно используют его в сочетании с Apache Spark или Flink, что предполагает усложнение распределенной Big Data инфраструктуры.

Наконец, в отличие от транзакций в Kafka, в Pulsar невозможно точно привязать сообщения, зафиксированные к состоянию, записанному внутри потокового процессора. Таким образом, Pulsar не хватает функций потокового соединения, агрегирования, оконной обработки, отказоустойчивого управления состоянием и вычислений на основе времени событий. А обратной стороной гибкой многоуровневой архитектуры за счет BookKeeper является снижение функциональных возможностей топиков по сравнению с Kafka. Напомним, Apache BookKeeper изначально был задуман как журнал упреждающей записи для узла имен HDFS Hadoop в случае кратковременного хранения данных [2]. Об особенностях эксплуатации и администрирования Apache Pulsar в сравнении с Kafka мы поговорим завтра.

В заключение отметим, что некорректность прямого сравнения Apache Pulsar с Kafka и RabbitMQ показывает бенчмаркинговый тест, проведенный компанией Confluent, в рамках которого не получилось оценить производительность всех 3-х фреймворков по одному сценарию из-за разных концепций работы с данными. В частности, RabbitMQ работает с устойчивой очередью, которая сохраняет сообщения на диск тогда и только тогда, когда сообщения еще не были использованы. В отличие от Kafka и Pulsar, RabbitMQ не поддерживает «перемотку» очередей для повторного чтения старых сообщений. Кроме того, RabbitMQ не предполагает разделов в топике, используя обмен для маршрутизации сообщений в связанные очереди с помощью атрибутов заголовка, ключей маршрутизации или привязок обмена, из которых потребители могут обрабатывать сообщения. Наконец, в случае RabbitMQ накладные расходы на репликацию данных серьезно снижают пропускную способность всей системы, т.к. этот фреймворк не предполагает неограниченного масштабирования. Все это сказалось на процессе бенчмаркингового тестирования и его результатах, которые в очередной раз показали первенство Apache Kafka по пропускной способности и скорости обработки данных, а также соотношению цена-качество (стоимость записанного байта) [3].

Освоить на практике специфику администрирования кластеров и разработки Kafka-приложений для аналитики больших данных вы сможете на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Администрирование кластера Kafka Apache Kafka для разработчиков

Источники

https://www.confluent.io/kafka-vs-pulsar/ https://dzone.com/articles/pulsar-vs-kafka-comparison-and-myths-explored https://www.confluent.io/blog/kafka-fastest-messaging-system/

Различные лицензии и комментарии к ним — Проект GNU программного обеспечения

Мы классифицируем лицензии по определенным ключевым критериям:

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

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

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

Если у вас есть вопросы по лицензиям свободных программ, вы можете написать нам по адресу <[email protected]>. Поскольку наши ресурсы ограничены, мы не отвечаем на вопросы, которые задаются для помощи в разработке и распространении несвободных программ, и вы, вероятно, получите ответ быстрее, если вы зададите конкретный вопрос, который еще не отражен здесь или в нашем списке вопросов и ответов. Мы приглашаем знающих добровольцев, которые хотели бы помочь отвечать на вопросы лицензирования.

Если вы подумываете о написании новой лицензии, свяжитесь, пожалуйста, с нами по адресу <[email protected]>. Рост числа различных лицензий свободных программ представляет сегодня серьезную проблему в сообществе свободного программного обеспечения, как для пользователей, так и для разработчиков. Мы сделаем все возможное, чтобы помочь вам найти существующую лицензию свободных программ, отвечающую вашим нуждам.

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

Стандартная общественная лицензия GNU (GNU General Public License, GPL) версии 3 (#GNUGPL) (#GNUGPLv3)

Это последняя версия GNU GPL: лицензия свободных программ с авторским левом. Мы рекомендуем ее для большинства пакетов программ.

Обратите внимание, что GPLv3 сама по себе не совместима с GPLv2. Однако большинство программ, выпускаемых под GPLv2, позволяет вам также пользоваться условиями распространения более поздних версий GPL. В этом случае вы можете пользоваться этими программами на условиях GPLv3, чтобы получить желаемую комбинацию. Подробнее о совместимости между лицензиями GNU можно узнать в нашем списке вопросов и ответов.

Стандартная общественная лицензия GNU (GNU GPL) версии 2 (#GPLv2)

Это предыдущая версия GNU GPL: лицензия свободных программ с авторским левом. Для большинства программ мы рекомендуем последнюю версию.

Обратите внимание, что GPLv2 сама по себе не совместима с GPLv3. Однако большинство программ, выпускаемых под GPLv2, позволяет вам также пользоваться условиями распространения более поздних версий GPL. В этом случае вы можете пользоваться этими программами на условиях GPLv3, чтобы получить желаемую комбинацию. Подробнее о совместимости между лицензиями GNU можно узнать в нашем списке вопросов и ответов.

Меньшая стандартная общественная лицензия GNU (GNU Lesser General Public License, LGPL) версии 3 (#LGPL) (#LGPLv3)

Это последняя версия LGPL: лицензия свободных программ, но без сильного авторского лева, потому что она допускает компоновку с несвободными модулями. Она совместима с GPLv3. Мы рекомендуем ее только в особых обстоятельствах.

Обратите внимание, что LGPLv3 сама по себе не совместима с GPLv2. Однако большинство программ, выпускаемых под GPLv2, позволяет вам также пользоваться условиями распространения более поздних версий GPL. В этом случае вы можете пользоваться этими программами на условиях GPLv3, чтобы получить желаемую комбинацию. Подробнее о совместимости между лицензиями GNU можно узнать в нашем списке вопросов и ответов.

Меньшая стандартная общественная лицензия GNU (GNU LGPL) версии 2.1 (#LGPLv2.1)

Это предыдущая версия LGPL: лицензия свободных программ, но без сильного авторского лева, потому что она допускает компоновку с несвободными модулями. Она совместима с GPLv2 и GPLv3. Как правило, мы рекомендуем последнюю версию LGPL, и только в особых обстоятельствах. Подробнее о совместимости между LGPLv2.1 и другими лицензиями GNU можно узнать в нашем списке вопросов и ответов.

Стандартная общественная лицензия GNU Affero (GNU Affero General Public License, AGPL) версии 3 (#AGPL) (#AGPLv3.0)

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

Обратите внимание, что GNU AGPL не совместима с GPLv2. Она также формально не совместима с GPLv3 в узком смысле: вы не можете взять исходные тексты, выпущенные на условиях GNU AGPL, и передавать или изменять их, как вам угодно, на условиях GPLv3, и наоборот. Однако вам позволено комбинировать раздельные модули или файлы исходного текста, выпущенные под обеими этими лицензиями, в едином проекте, что предоставит многим программистам разрешение на все действия, нужные им для того, чтобы делать какие им угодно программы. Подробнее см. в разделе 13 обеих лицензий.

Неограничительная лицензия GNU (#GNUAllPermissive)

Это безвольная неограничительная лицензия свободных программ, совместимая с GNU GPL. Мы рекомендуем пакетам программ GNU применять ее для файлов README и других небольших вспомогательных файлов. Все разработчики вполне могут применять ее в подобных ситуациях.

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

Лицензия Apache, версия 2.0 (#apache2)

Это лицензия свободных программ, совместимая с версией 3 GNU GPL.

Обратите внимание, что эта лицензия не совместима с GPL версии 2, потому что в ней есть некоторые требования, которых нет в этой версии GPL. Они включают в себя определенные распоряжения относительно завершения действия и предосторожностей, связанных с патентами. Такие предосторожности — неплохая вещь, вот почему для содержательных работ мы рекомендуем лицензию Apache 2.0 прежде других безвольных неограничительных лицензий.

Художественная лицензия (Artistic License) 2.0 (#ArtisticLicense2)

Эта лицензия является лицензией свободных программ, совместимой с GPL благодаря возможности перелицензирования в разделе 4(c)(ii).

Разъясненная художественная лицензия (#ClarifiedArtistic)

Это лицензия свободных программ, совместимая с GPL. Это минимальный набор изменений, необходимый для исправления расплывчатости Художественной лицензии 1.0.

Лицензия базы данных Беркли (известная также как Лицензия программных продуктов Sleepycat) (Berkeley Database License, Sleepycat Software Product License) (#BerkeleyDB)

Это лицензия свободных программ, совместимая с GNU GPL.

Лицензия программ Boost (Boost Software License) (#boost)

Это безвольная неограничительная лицензия свободных программ без авторского лева, совместимая с GNU GPL.

Модифицированная лицензия BSD (#ModifiedBSD)

Это первоначальная лицензия BSD, модифицированная удалением пункта о рекламе. Это безвольная неограничительная лицензия свободных программ без авторского лева, совместимая с GNU GPL.

На эту лицензию иногда ссылаются как на трехпунктную лицензию BSD.

Модифицированная лицензия BSD неплоха для безвольной неограничительной лицензии, хотя лицензия Apache 2.0 предпочтительнее. Однако рекомендовать применение “Лицензии BSD” рискованно даже для таких особых случаев, как небольшие программы, потому что ее легко можно спутать с первоначальной лицензией BSD; это привело бы к использованию первоначальной лицензии, а она не лишена недостатков. Чтобы избежать этого риска, вы можете предлагать вместо этого Лицензию X11. Лицензия X11 и Модифицированная лицензия BSD более или менее эквивалентны.

Однако лицензия Apache 2.0 для содержательных программ лучше, поскольку она предотвращает патентное предательство.

CeCILL версии 2 (#CeCILL)

CeCILL — лицензия свободных программ, явным образом совместимая с GNU GPL.

В тексте CeCILL употребляется пара необъективных терминов, которых следует избегать: “интеллектуальная собственность” и “защита”; это было неудачное решение, потому что чтение лицензии способствует распространению предположений, на которые опираются эти термины. Однако это не приводит к каким бы то ни было конкретным проблемам с программами, выпускаемыми под CeCILL.

Раздел 9.4 CeCILL обязывает разработчиков программы к определенного рода сотрудничеству с пользователями, если кто-то угрожает программе с помощью патента. На это можно было бы смотреть как на проблему для разработчика; однако если вы уверены, что вы все равно хотите сотрудничать таким образом с пользователями, то для вас это не проблема.

Чистая лицензия BSD (Clear BSD License) (#clearbsd)

Это лицензия свободных программ, совместимая с GPLv2 и GPLv3. Она основана на Модифицированной лицензии BSD и добавляет условие, явно утверждающее, что она не предоставляет вам никаких патентных лицензий. Из-за этого условия мы рекомендуем вам быть осторожными при пользовании программами под этой лицензией; перед этим вам следует подумать, не захочет ли правообладатель преследовать вас за нарушение патента. Если разработчик отказывает пользователям в патентных лицензиях, чтобы заманить вас в ловушку, было бы мудро избегать этой программы.

Стандартная лицензия Cryptix (Cryptix General License) (#CryptixGeneralLicense)

Это безвольная неограничительная лицензия свободных программ без авторского лева, совместимая с GNU GPL. Она почти идентична лицензии FreeBSD (называемой также “2-пунктной лицензией BSD”).

Версия 2.0 лицензии eCos (#eCos2.0)

Версия 2.0 лицензии eCos — совместимая с GPL лицензия свободных программ. Она состоит из GPL с исключением, позволяющим компоновать с программами не под GPL. Эта лицензия страдает теми же недостатками, что и LGPL.

Лицензия Образовательного сообщества (Educational Community License) 2.0 (#ECL2.0)

Это лицензия свободных программ, и она совместима с GPLv3. Она основана на Лицензии Apache 2.0; область действия патентной лицензии была изменена так, что когда сотрудник организации работает над проектом, от организации не требуется предоставлять лицензию на все свои патенты получателям. Эта патентная лицензия и пункт об освобождении от ответственности в разделе 9 делает эту лицензию несовместимой с GPLv2.

Лицензия Eiffel Forum, версия 2 (#Eiffel)

Это лицензия свободных программ, совместимая с GNU GPL. Предыдущие выпуски Лицензии Eiffel не совместимы с GPL.

Лицензия программ EU DataGrid (EU DataGrid Software License) (#EUDataGrid)

Это безвольная неограничительная лицензия свободных программ без авторского лева, совместимая с GNU GPL.

Лицензия Expat (#Expat)

Это безвольная неограничительная лицензия свободных программ без авторского лева, совместимая с GNU GPL.

Некоторые называют ее “Лицензией MIT”, но это выражение вносит путаницу, поскольку в MIT применяли для программ много разных лицензий. К неоднозначности приводит также то, что те же люди называют Лицензию X11 “Лицензией MIT,”, не различая их. Мы рекомендуем не пользоваться выражением “Лицензия MIT”.

Разница между Лицензией X11 и Лицензией Expat состоит в том, что Лицензия X11 содержит дополнительный параграф об употреблении названия Консорциума X. Это не очень важно, но это реальное отличие.

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

Лицензия FreeBSD (#FreeBSD)

Это первоначальная лицензия BSD, из которой удален пункт о рекламе и еще один пункт. (Иногда ее называют “двухпунктной лицензией BSD”.) Это безвольная неограничительная лицензия свободных программ, совместимая с GNU GPL.

Наши замечания о Модифицированной лицензии BSD применимы и к этой лицензии.

Лицензия проекта Freetype (#freetype)

Это лицензия свободных программ, совместимая с GNU GPLv3. В ней есть некоторые требования о ссылках на источник, которые делают ее несовместимой с GPLv2.

Историческое уведомление о разрешении с отказом от гарантий (#HPND)

Это безвольная неограничительная слабая лицензия свободных программ, она совместима с GPL. Она сходна с лицензией Python 1.6a2 и более ранних версий.

Лицензия библиотеки стандартных функций iMatix (#iMatix)

Это лицензия свободных программ, совместимая с GPL.

Лицензия imlib2 (#imlib)

Это лицензия свободных программ, совместимая с GNU GPL. Автор объяснил нам, что все варианты предоставления исходного текста, описанные в GPL, означают, что исходный текст был “сделан публично доступным” в их формулировке.

Лицензия Независимой группы JPEG (Independent JPEG Group License) (#ijg)

Это лицензия свободных программ, совместимая с GNU GPL. Авторы заверили нас, что разработчики, которые документируют изменения, как того требует GPL, также будут удовлетворять подобному требованию из этой лицензии.

Неформальная лицензия (#informal)

“Неформальная лицензия” означает заявление вроде “делайте с этим все, что хотите” или “вы можете перераспространять эту программу и изменять ее”.

В Соединенных Штатах эти лицензии предполагается толковать на основании того, что автор, по-видимому, подразумевает. Так что они, вероятно, означают то, что они означают с первого взгляда. Это делало бы их лицензиями свободных программ без авторского лева, совместимыми с GNU GPL. Однако неудачный выбор формулировки мог бы придать этому другой смысл.

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

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

Лицензия открытого исходного текста Intel (Intel Open Source License) (#intel)

Это лицензия свободных программ, совместимая с GNU GPL.

Лицензия ISC (#ISC)

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

В этой лицензии была неудачно выбранная формулировка: она предоставляла получателям “Разрешение применять, копировать, изменять и распространять эти программы…” Это примерно те же выражения, что в лицензии Pine, о которой Вашингтонский университет впоследствии заявил, что они запрещают людям распространять измененные версии программ.

В ISC нам сказали, что они не разделяют толкование Вашингтонского университета, и у нас есть все основания верить этому. Они также изменили лицензию, чтобы она выглядела как “Разрешение применять, копировать, изменять и/или распространять эти программы…”. Хотя употребление “и/или” не устраняет проблему полностью, нет оснований избегать программ, выпущенных под этой лицензией. Однако чтобы помочь гарантировать, что такие формулировки не создадут проблем в будущем, мы рекомендуем разработчикам выбирать для своих собственных работ другие лицензии. Лицензия FreeBSD примерно так же неограничительна и кратка. Однако если вам нужна безвольная неограничительная лицензия, мы рекомендуем лицензию Apache 2.0.

Общественная лицензия Mozilla (Mozilla Public License, MPL) версии 2.0 (#MPL-2.0)

Это лицензия свободных программ. Раздел 3.3 косвенно обеспечивает совместимость этой лицензии с GNU GPL версии 2.0, GNU LGPL версии 2.1, GNU AGPL версии 3 и всеми более поздними версиями этих лицензий. Когда вы получаете произведение под MPL 2.0, вы можете сделать “более крупное произведение”, в котором это произведение сочетается с произведением под этими лицензиями GNU. Когда вы это делаете, раздел 3.3 дает вам разрешение распространять произведение под MPL на условиях этих же лицензий GNU, с одним условием: вы должны гарантировать, что файлы, которые первоначально были под MPL, по-прежнему доступны также и на условиях MPL. Другими словами, когда вы таким образом комбинируете, файлы, которые первоначально были под MPL, останутся под несколькими лицензиями: MPL и лицензией (или лицензиями) GNU. Это приведет к тому, что на “более крупное произведение”, в целом, будет распространяться лицензия (или лицензии) GNU. У людей, получающих от вас это сочетание, будет возможность применять любые из файлов, на которые первоначально распространялась MPL, на условиях этой лицензии, или распространять “более крупное произведение” в целом или частично на условиях лицензий GNU без дальнейших ограничений.

Важно понимать, что требование распространять файлы на условиях MPL относится только к стороне, которая впервые создает и распространяет “более крупное произведение”. Если бы это относилось и к получателям, это было бы дальнейшим ограничением, несовместимым с GPL и AGPL. Тем не менее, когда вы вносите вклад в существующий проект, мы обычно рекомендуем вам сохранять свои изменения под той же самой лицензией, даже когда от вас этого не требуется. Если вы получили под лицензией GNU работу, некоторые файлы которой доступны также под MPL, вам следует удалять MPL с тех файлов, только когда есть веская причина, оправдывающая это.

Перед тем, как вы создадите таким образом “более крупное произведение”, проверьте лицензионные уведомления программ, распространяемых по MPL. Стороны, которые выпускают первоначальную работу под MPL 2.0, могут решить отказаться от этой совместимости, включив в лицензионные уведомления предложение, в котором сказано, что произведение “несовместимо со вторичными лицензиями”. Любые программы, включающие это уведомление, не совместимы с GPL или AGPL.

Программы под предыдущими версиями MPL можно обновить до версии 2.0, но любые программы, которые еще не доступны под одной из перечисленных лицензий GNU, должны быть помечены как “несовместимые со вторичными лицензиями”. Это значит, что программы, доступные только под предыдущими лицензиями MPL, все равно несовместимы с GPL и AGPL.

Лицензия открытого исходного текста NCSA/Иллинойсского университета (NCSA/University of Illinois Open Source License) (#NCSA)

Эта лицензия основана на условиях Лицензии Expat и Модифицированной лицензии BSD. Это безвольная неограничительная лицензия свободных программ без авторского лева, совместимая с GNU GPL.

Лицензия JavaScript компании Netscape (#NetscapeJavaScript)

Это дизъюнкция Общественной лицензии Netscape и GNU GPL. Поэтому это лицензия свободных программ, совместимая с GNU GPL, но без сильного авторского лева.

Лицензия OpenLDAP, версия 2.7 (#newOpenLDAP)

Это неограничительная лицензия свободных программ без авторского лева, совместимая с GNU GPL.

Лицензия Perl 5 и ниже (#PerlLicense)

Эта лицензия является дизъюнкцией Художественной лицензии 1.0 и GNU GPL — другими словами, вы можете выбрать любую из этих двух лицензий. Она удовлетворяет критериям лицензии свободных программ, но она может не быть настоящим авторским левом. Она совместима с GNU GPL, потому что GNU GPL — одна из альтернатив.

Мы рекомендуем применять ее для любых пакетов Perl 4 или Perl 5, которые вы пишете, чтобы поддержать однородность и единообразие при программировании на Perl. Мы настоятельно рекомендуем не применять ее вне Perl; лучше просто пользоваться GNU GPL.

Общественное достояние (#PublicDomain)

Общественное достояние — это не лицензия; это просто значит, что авторские права на материал не распространяются и никакой лицензии не нужно. Однако на практике если работа находится в общественном достоянии, то это то же самое, как если бы она находилась под всеразрешающей лицензией свободных программ без авторского лева. Материалы из общественного достояния совместимы с GNU GPL.

Если вы желаете поместить свою работу в общественное достояние, мы рекомендуем вам воспользоваться для этого формальными средствами. Мы просим людей, которые делают небольшие доработки для GNU, подписать документ с отказом от авторских прав; это одно из решений. Если вы работаете над проектом, в котором нет формальных правил, подобных этому, то лицензия CC0 — хорошее средство, которым может воспользоваться каждый. Она формально переводит работу в общественное достояние и предоставляет запасную лицензию для случаев, когда это юридически невозможно.

Лицензия Python 2.0.1, 2.1.1, и более новых версий (#Python)

Это лицензия свободных программ, совместимая с GNU GPL. Однако обратите внимание, пожалуйста, что промежуточные версии Python (от 1.6b1 до 2.0 и 2.1) распространяются под другой лицензией (см. ниже).

Лицензия Python 1.6a2 и более ранних версий (#Python1.6a2)

Это лицензия свободных программ, совместимая с GNU GPL. Однако обратите внимание, пожалуйста, что более новые версии Python распространяются под другими лицензиями (см. выше и ниже).

Лицензия Ruby (#Ruby)

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

Лицензия B свободных программ SGI (SGI Free Software License B), версия 2.0 (#SGIFreeB)

Лицензия B свободных программ SGI версии 2.0 — лицензия свободных программ. Она по существу идентична Лицензии X11, с возможным альтернативным способом оформления лицензионных уведомлений.

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

Авторско-правовая лицензия стандартного ML Нью-Джерси (Standard ML of New Jersey Copyright License) (#StandardMLofNJ)

Это безвольная неограничительная лицензия свободных программ без авторского лева, совместимая с GNU GPL.

Лицензионное соглашение на файлы данных и программы Unicode (Unicode, Inc. License Agreement for Data Files and Software) (#Unicode)

Это лицензия, которую организация Unicode применила для Базы данных символов Unicode — различных файлов данных, которые разработчики могут применять в помощь реализации стандарта Unicode в их собственных программах. Это безвольная неограничительная лицензия, совместимая со всеми версиями GNU GPL.

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

Пожалуйста, позаботьтесь о том, чтобы гарантировать, что на файлы, которыми вы пользуетесь, распространяется это лицензионное соглашение. Другие файлы, опубликованные организацией Unicode, распространяются по “Условиям пользования Unicode” — это другая, несвободная лицензия, которая находится на той же странице, но относится к другим файлам. Краткое пояснение в начале этого лицензионного соглашения уточняет, к каким файлам оно относится.

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

Универсальная неограничительная лицензия (Universal Permissive License, UPL) (#UPL)

Это безвольная неограничительная лицензия свободных программ без авторского лева, совместимая с GNU GPL. Хотя лицензия предоставляет возможность лицензирования патентов вместе с программным произведением, однако мы все-таки рекомендуем лицензию Apache 2.0 для предохранения от патентного предательства, если вы собираетесь выпускать свою работу под безвольной лицензией.

Разлицензия (#Unlicense)

Разлицензия — это формула передачи в общественное достояние. Работа, выпускаемая под Разлицензией, передается в общественное достояние в той мере, в какой это только допускается законом, а также дополняется безвольной лицензией, которая помогает охватить все случаи, для которых формула не подходит. Как условия распространения работ в общественном достоянии, так и безвольная лицензия, предоставляемая Разлицензией, совместимы с GNU GPL.

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

Лицензия Vim, версии 6.1 или более поздних (#Vim)

Это лицензия свободных программ, с частичным, но не настоящим авторским левом. Она совместима с GPL благодаря особому пункту о смене лицензии.

Уведомление о программах и лицензия W3C (W3C Software Notice and License) (#W3C)

Это лицензия свободных программ, совместимая с GPL.

Лицензия WebM (#WebM)

Реализация WebM компании Google распространяется под Модифицированной лицензией BSD. Google также предоставляет отдельную патентную лицензию (неудачно названную “Предоставлением дополнительных прав ИС”) для патентов, которыми обладает или которые контролирует Google и которые по необходимости затрагиваются их реализацией WebM. Программы под GPL могут распространяться в соответствии с условиями этой лицензии: она позволяет распространителям осуществлять все права, предоставляемые GPL, удовлетворяя в то же время всем ее условиям. Таким образом, все в лицензии WebM свободно и совместимо с GPL.

WTFPL, версия 2 (#WTFPL)

Это безвольная неограничительная лицензия свободных программ без авторского лева, совместимая с GNU GPL.

Мы не рекомендуем эту лицензию. Если вам нужна безвольная неограничительная лицензия для небольшой программы, мы рекомендуем Лицензию X11. К более крупной программе, как правило, должно применяться авторское лево; но если вы твердо намерены пользоваться для нее безвольной неограничительной лицензией, мы рекомендуем лицензию Apache 2.0, поскольку она защищает пользователей от патентного предательства.

Лицензия библиотеки WxWidgets (#Wx)

Лицензия WxWidgets — совместимая с GPL лицензия свободных программ. Она состоит из Меньшей стандартной общественной лицензии GNU 2.0 или любой более поздней версии с дополнительным разрешением, допускающим распространение программ, применяющих библиотеку, в двоичном виде, на условиях по выбору распространителя (в том числе несвободных). Это слабое авторское лево, так что мы рекомендуем ее только в особых обстоятельствах.

Лицензия библиотеки WxWindows (#Wxwind)

Более старое название лицензии библиотеки WxWidgets.

Лицензия X11 (#X11License)

Это безвольная неограничительная лицензия свободных программ без авторского лева, совместимая с GNU GPL. Более старые версии XFree86 применяли эту же лицензию, и некоторые из современных вариантов XFree86 тоже пользуются ею. Более поздние версии XFree86 распространяются под Лицензией XFree86 1.1.

Некоторые называют ее “Лицензией MIT”, но это выражение вносит путаницу, поскольку в MIT применяли для программ много разных лицензий. К неоднозначности приводит также то, что те же люди называют Лицензию Expat “Лицензией MIT,”, не различая их. Мы рекомендуем не пользоваться выражением “Лицензия MIT”.

Разница между Лицензией X11 и Лицензией Expat состоит в том, что Лицензия X11 содержит дополнительный параграф об употреблении названия Консорциума X. Это не очень важно, но это реальное отличие.

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

Лицензия XFree86 версии 1.1 (#XFree861.1License)

Это безвольная неограничительная лицензия свободных программ без авторского лева, совместимая с версией 3 GNU GPL.

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

В настоящее время существует несколько вариантов XFree86, и только некоторые из них пользуются этой лицензией. Некоторые продолжают пользоваться Лицензией X11.

Лицензия ZLib (#ZLib)

Это лицензия свободных программ, совместимая с GPL.

Общественная лицензия Zope (Zope Public License), версии 2.0 и 2.1 (#Zope2.0)

Это безвольная неограничительная лицензия свободных программ без авторского лева, которая совместима с GNU GPL.

Стандартная общественная лицензия Affero (Affero General Public License), версия 1 (#AGPLv1.0)

Стандартная общественная лицензия Affero — лицензия свободных программ с авторским левом, несовместимая с GNU GPL. Она состоит из GNU GPL версии 2 с одним дополнительным разделом, который компания Affero добавила с одобрения ФСПО. Новый раздел, 2(d), охватывает распространение прикладных программ с помощью служб Интернета или других компьютерных сетей.

На смену этой лицензии пришла Стандартная общественная лицензия GNU Affero (AGPL) версии 3; пожалуйста, пользуйтесь последней.

Академическая свободная лицензия (Academic Free License), все версии до 3.0 (#AcademicFreeLicense)

Академическая свободная лицензия — лицензия свободных программ без авторского лева, несовместимая с GNU GPL. Последние версии содержат контрактные пункты, сходные с условиями Лицензии открытых программ, и их следует избегать по тем же причинам.

Лицензия Apache, версия 1.1 (#apache1.1)

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

Лицензия Apache, версия 1.0 (#apache1)

Это безвольная неограничительная лицензия свободных программ без авторского лева с пунктом о рекламе. Это создает практические проблемы, подобные проблемам первоначальной лицензии BSD, в том числе несовместимость с GNU GPL.

Общественная лицензия исходных текстов Apple (Apple Public Source License, APSL), версия 2 (#apsl2)

Это лицензия свободных программ, несовместимая с GNU GPL. Мы рекомендуем вам не пользоваться этой лицензией для новых программ, которые вы пишете, но вполне можно пользоваться программами, выпускаемыми под этой лицензией, и улучшать их. Подробности приведены на отдельной странице.

Лицензия открытого исходного текста BitTorrent (BitTorrent Open Source License) (#bittorrent)

Это лицензия свободных программ, но несовместимая с GPL, по тем же причинам, что и Лицензия открытого исходного текста Jabber.

Первоначальная лицензия BSD (#OriginalBSD)

Эту лицензию иногда называют также четырехпунктной лицензией BSD.

Это безвольная неограничительная лицензия свободных программ без авторского лева с серьезным недостатком — “злостным пунктом BSD о рекламе”. Недостаток не критичен; то есть, он не делает программу несвободной. Но к практическим проблемам, включая несовместимость с GNU GPL, он приводит.

Мы настоятельно рекомендуем вам не применять первоначальную лицензию BSD для программ, которые вы пишете. Если вы хотите воспользоваться безвольной неограничительной лицензией свободных программ без авторского лева, гораздо лучше применить Модифицированную лицензию BSD, Лицензию X11 или Лицензию Expat. А для содержательной программы еще лучше воспользоваться лицензией Apache 2.0, потому что в ней предпринимаются определенные действия против патентного предательства.

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

CeCILL-B версии 1 (#CeCILL-B)

CeCILL-B — лицензия свободных программ. Она несовместима с GPL, потому что в ней есть требования, отсутствующие в GPL. Требования о признании заслуг в разделе 5.3.4 выходят за пределы соответствующих требований GPL. В ней есть также странное требование о том, чтобы вы “сделали все возможное”, чтобы получить согласие третьих сторон “удовлетворять обязательствам, вводимым этой статьей”.

Пожалуйста, не выпускайте программы под этой лицензией.

CeCILL-C версии 1 (#CeCILL-C)

CeCILL-C — лицензия свободных программ со слабым авторским левом, несколько сходным с Меньшей стандартной общественной лицензией GNU. Она несовместима с GNU GPL, потому что в ней нет явного пункта о совместимости с GPL, который есть в простой CeCILL.

Пожалуйста, не выпускайте программы под этой лицензией.

Лицензия общей разработки и распространения (Common Development and Distribution License, CDDL), версия 1.0 (#CDDL)

Это лицензия свободных программ. В ней есть слабое пофайловое авторское лево (как в версии 1 Общественной лицензии Mozilla), что делает ее несовместимой с GNU GPL. Это значит, что по закону модуль под GPL и модуль под CDDL нельзя компоновать друг с другом. По этой причине мы настоятельно рекомендуем вам не применять CDDL.

В качестве примера, показывающего, почему вы не должны сочетать работы, лицензированые по CDDL, с работами, лицензированными по GPL, см. заявление ФСПО Интерпретация, охрана и модификация GPL в приложении к сочетанию Linux с ZFS.

Также в CDDL неудачно то, что она пользуется термином “ интеллектуальная собственность”.

Общепубличная лицензия с атрибуцией (Common Public Attribution License, CPAL) 1.0 (#CPAL)

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

Общепубличная лицензия (Common Public License), версия 1.0 (#CommonPublicLicense10)

Это лицензия свободных программ. К сожалению, ее слабое авторское лево и пункт о выборе юрисдикции делают ее несовместимой с GNU GPL.

Общественная лицензия Condor (#Condor)

Новые версии Condor (начиная с 6.9.5) выпускаются под Лицензией Apache 2.0. Эта лицензия применяется только в более старых версиях Condor.

Общественная лицензия Condor — лицензия свободных программ. В ней есть пара требований, делающих ее несовместимой с GNU GPL, в том числе сильные ограничения на употребление названий, связанных с Condor. Кроме того, она требует от распространителей “заявить и гарантировать”, чтоони будут соблюдать экспортные законы США. (Если бы соблюдение было настоящим условием лицензии, то она не была бы лицензией свободных программ.)

Общественная лицензия Eclipse (Eclipse Public License), версия 1.0 (#EPL)

Общественная лицензия Eclipse сходна с Общепубличной лицензией, и наши комментарии к последней применимы и к этой лицензии. Единственное изменение состоит в том, что в лицензии Eclipse удалены более широкие оговорки о прекращении действия в случае патентных преследований, направленных конкретно против тех, кто дорабатывал программу под лицензией Eclipse.

Общественная лицензия Eclipse (Eclipse Public License), версия 2.0 (#EPL2)

С точки зрения совместимости с GPL Общественная лицензия Eclipse 2.0 по существу эквивалентна версии 1.0. Единственное изменение состоит в том, что она явно предлагает возможность назначения GNU GPL версии 2 или более поздней в качестве “вторичной лицензии” для определенной части программы.

Если первоначальный разработчик выпускает конкретную часть программы и назначает GNU GPL версии 2 или более поздней в качестве вторичной лицензии, это дает явную совместимость с этими версиями GPL для этой части программы. (Для пользователей это примерно эквивалентно выпуску этой части программы под двойной лицензией: EPL или GPL.) Однако EPL2 без этого назначения остается несовместимой с GPL.

Общественная лицензия Европейского союза (European Union Public License, EUPL), версия 1.1 (#EUPL-1.1)

Это лицензия свободных программ. В ней самой есть авторское лево, сопоставимое с авторским левом GPL и несовместимое с ним. Однако она предоставляет получателям способы перелицензировать произведение на условиях избранного числа других лицензий, и некоторые из них — в частности, Общественная лицензия Eclipse и Общепубличная лицензия — предоставляют только более слабое авторское лево. Таким образом, разработчики не могут рассчитывать, что эта лицензия обеспечит сильное авторское лево.

EUPL допускает перелицензирование под GPLv2, потому что она перечислена в списке альтернативных лицензий, на которые могут перейти пользователи. Она также косвенно допускает перелицензирование под GPL версии 3, потому что есть способ перелицензировать под CeCILL версии 2, а CeCILL версии 2 предоставляет способ перелицензировать под любую версию GNU GPL.

Чтобы провести такое двухэтапное перелицензирование, вам нужно сначала написать часть программы, которую вы можете лицензировать по CeCILL версии 2, или найти подходящий модуль, уже доступный таким образом, и добавить его к программе. Добавление этой части к программе под EUPL создает основания перелицензировать программу под CeCILL версии 2. Затем вам нужно написать часть программы, которую вы можете лицензировать по GPLv3+, или найти подходящий модуль, уже доступный таким образом, и добавить его к программе. Добавление этой части к программе под CeCILL создает основания перелицензировать программу под GPLv3+.

Общественная лицензия Европейского союза (European Union Public License, EUPL), версия 1.2 (#EUPL-1.2)

Это лицензия свободных программ. В ней самой есть авторское лево, сопоставимое с авторским левом GPL и несовместимое с ним. Однако она предоставляет получателям способы перелицензировать произведение на условиях избранного числа других лицензий, и некоторые из них — в частности, Общественная лицензия Eclipse — предоставляют только более слабое авторское лево. Таким образом, разработчики не могут рассчитывать, что эта лицензия обеспечит сильное авторское лево.

EUPL допускает перелицензирование под GPLv2 (только) и GPLv3 (только), потому что эти лицензии перечислены в списке альтернативных лицензий, на которые могут перейти пользователи. Она также косвенно допускает перелицензирование под GPL версии 3 или любой более поздней, потому что есть способ перелицензировать под CeCILL версии 2, а CeCILL версии 2 предоставляет способ перелицензировать под любую версию GNU GPL.

Чтобы провести такое двухэтапное перелицензирование, вам нужно сначала написать часть программы, которую вы можете лицензировать по CeCILL версии 2, или найти подходящий модуль, уже доступный таким образом, и добавить его к программе. Добавление этой части к программе под EUPL создает основания перелицензировать программу под CeCILL версии 2. Затем вам нужно написать часть программы, которую вы можете лицензировать по GPLv3+, или найти подходящий модуль, уже доступный таким образом, и добавить его к программе. Добавление этой части к программе под CeCILL создает основания перелицензировать программу под GPLv3+.

Лицензия FDK AAC Фраунгофера (#fdk)

Это лицензия свободных программ, сама по себе. Она не совместима ни с какой версией GNU GPL.

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

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

Лицензия gnuplot (#gnuplot)

Это лицензия свободных программ, несовместимая с GNU GPL.

Общественная лицензия IBM (IBM Public License) версия 1.0 (#IBMPL)

Это лицензия свободных программ. К сожалению, в ней есть пункт о выборе юрисдикции, который делает ее несовместимой с GNU GPL.

Лицензия открытого исходного текста Jabber (Jabber Open Source License), версия 1.0 (#josl)

Это лицензия свободных программ, несовместимая с GNU GPL. Она допускает перелицензирование под определенным классом лицензий — тех, которые содержат все требования лицензии Jabber. GPL не является членом этого класса, так что лицензия Jabber не допускает перелицензирования под GPL. Следовательно, она не совместима.

Общественная лицензия проекта LaTeX (LaTeX Project Public License) 1.3a (#LPPL-1.3a)

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

Общественная лицензия проекта LaTeX 1.2 (#LPPL-1.2)

Эта лицензия — неполное описание условий распространения LaTeX. Те условия, которые описаны в этом документе, представляют собой лицензию свободных программ, но несовместимую с GPL, потому что в ней есть много требований, которых нет в GPL.

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

Причина, по которой это требование приемлемо для LaTeX, состоит в том, что в TeX есть средство, позволяющее переназначать имена файлов — указывать “использовать файл bar, когда требуется файл foo”. Благодаря этому средству такое требование становится просто неприятным; без этого средства то же самое требование было бы серьезным препятствием, и нам пришлось бы заключить, что программа несвободна.

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

В LPPL говорится, что у некоторых файлов в определенных версиях LaTeX могут быть дополнительные ограничения, что могло бы сделать их несвободными. По этой причине изготовление версии LaTeX, которая является пакетом свободных программ, может потребовать некоторой тщательной проверки.

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

Пожалуйста, не применяйте эту лицензию ни для каких других проектов.

Замечание: эти комментарии относятся к версии 1.2 (3 сентября 1999 года) LPPL.

Общественная лицензия Lucent, версия 1.02 (Lucent Public License, лицензия Plan 9) (#lucent102)

Это лицензия свободных программ, но она несовместима с GNU GPL, из-за пункта о выборе юрисдикции. Мы рекомендуем вам не применять эту лицензию для новых программ, которые вы пишете, но вполне допустимо использовать и улучшать программы Plan 9, выпущенные под этой лицензией.

Общественная лицензия Microsoft (Microsoft Public License, Ms-PL) (#ms-pl)

Это лицензия свободных программ; в ней есть авторское лево, которое не сильно, но делает лицензию несовместимой с GNU GPL. По этой причине мы настоятельно рекомендуем не применять Ms-PL.

Взаимная лицензия Microsoft (Microsoft Reciprocal License, Ms-RL) (#ms-rl)

Это лицензия свободных программ. Она основана на Общественной лицензии Microsoft и содержит дополнительный пункт, чтобы чуть-чуть усилить авторское лево. Она также несовместима с GNU GPL, и по этой причине мы настоятельно рекомендуем не применять Ms-RL.

Общественная лицензия Mozilla (Mozilla Public License, MPL) версии 1.1 (#MPL)

Это лицензия свободных программ без сильного авторского лева; в отличие от Лицензии X11, в ней есть некие сложные ограничения, которые делают ее несовместимой с GNU GPL. То есть, по закону модуль под GPL и модуль под MPL нельзя компоновать друг с другом. По этой причине мы настоятельно рекомендуем вам не применять MPL 1.1.

Однако в MPL 1.1 есть указание (в разделе 13), позволяющее программе (или ее части) предложить на выбор также другую лицензию. Если часть программы допускает в качестве альтернативы GNU GPL или любую другую совместимую с GPL лицензию, то лицензия этой части программы совместима с GPL.

В MPL версии 2.0 был проведен ряд улучшений, в том числе совместимость с GPL по умолчанию. Подробности см. пункте об MPL 2.0.

Лицензия открытого исходного текста граждан сети (Netizen Open Source License, NOSL), версия 1.0 (#NOSL)

Это лицензия свободных программ, которая по существу не отличается от версии 1.1 Общественной лицензии Mozilla. Как и в MPL, в NOSL есть некие сложные ограничения, которые делают ее несовместимой с GNU GPL. То есть, по закону модуль под GPL и модуль под NOSL нельзя компоновать друг с другом. По этой причине мы настоятельно рекомендуем вам не применять NOSL.

Общественная лицензия Netscape (Netscape Public License, NPL), версии 1.0 и 1.1 (#NPL)

Это лицензия свободных программ без сильного авторского лева, несовместимая с GNU GPL. Она состоит из версии 1.1 Общественной лицензии Mozilla с дополнительным пунктом, в котором компании Netscape разрешается использовать ваши исходные тексты даже в несвободных версиях программы. Конечно, они не дают вам разрешения использовать их исходные тексты аналогичным образом. Мы настоятельно рекомендуем вам не применять NPL.

Лицензия открытого исходного текста Nokia (Nokia Open Source License) (#Nokia)

Она сходна с версией 1 Общественной лицензии Mozilla: это лицензия свободных программ, несовместимая с GNU GPL.

Старая лицензия OpenLDAP, версия 2.3 (#oldOpenLDAP)

Это неограничительная лицензия свободных программ без авторского лева; у нее есть несколько требований (в разделах 4 и 5), которые делают ее несовместимой с GNU GPL. Обратите внимание, что у последней версии OpenLDAP лицензия другая, она совместима с GNU GPL.

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

Лицензия открытых программ (Open Software License, OSL), все версии до 3.0 (#OSL)

Лицензия открытых программ является лицензией свободных программ. Она несовместима с GNU GPL в нескольких аспектах.

В последних версиях Лицензии открытых программ есть условие, по которому от распространителей требуется попытаться получить явное согласие на лицензию. Это значит, что распространение программ под OSL через обычные сайты FTP, пересылка изменений по обычным спискам рассылки или хранение программ в обычной системе контроля версий может расцениваться как нарушение лицензии и основание для отзыва у вас лицензии. Таким образом, Лицензия открытых программ сильно затрудняет разработку программ, применяющих обычные средства разработки свободных программ. По этой причине, а также из-за того, что она несовместима с GPL, мы рекомендуем не применять никаких версий OSL ни для каких программ.

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

Лицензия OpenSSL (#OpenSSL)

Лицензия OpenSSL является конъюнкцией двух лицензий, одна из них называется “лицензией OpenSSL”, другая — лицензией SSLeay. Вы должны следовать обеим. Сочетание приводит к лицензии свободных программ с авторским левом, которая несовместима с GNU GPL. В ней также есть пункт о рекламе, как в первоначальной лицензии BSD и в лицензии Apache 1.

Мы рекомендуем применять GNUTLS вместо OpenSSL в программах, которые вы пишете. Однако нет причин не пользоваться OpenSSL и приложениями, которые работают с OpenSSL.

Лицензия Phorum, версия 2.0 (#Phorum)

Это лицензия свободных программ, но она несовместима с GPL. Раздел 5 делает ее несовместимой с GPL.

Лицензия PHP, версия 3.01 (#PHP-3.01)

Эта лицензия используется в большей части PHP4. Это лицензия свободных программ без авторского лева. Она несовместима с GNU GPL, потому что в ней есть сильные ограничения на употребление “PHP” в названиях производных продуктов.

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

Лицензия Python от 1.6b1 до 2.0 и 2.1 (#PythonOld)

Это лицензия свободных программ, но она несовместима с GNU GPL. Главная несовместимость заключается в том, что эта лицензия Python подчинена юрисдикции штата Вирджинии (США), а GPL не допускает этого.

Общественная лицензия Q (Q Public License, QPL), версия 1.0 (#QPL)

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

Мы рекомендуем вам избегать применения QPL для всего, что вы пишете, и пользоваться программами под QPL только тогда, когда это совершенно необходимо. Однако это больше не относится к самой библиотеке Qt, поскольку Qt сейчас выпускается также под GNU GPL.

Поскольку QPL несовместима с GNU GPL, вы не можете взять программу под GPL и программу под QPL и скомпоновать их вместе каким бы то ни было образом.

Однако если вы написали программу, которая пользуется библиотекой под QPL (под названием FOO), и хотите выпустить свою программу под GNU GPL, вы легко можете сделать это. Вы можете разрешить конфликт для своей программы, добавив к ней такое замечание:

  As a special exception, you have permission to link this program
  with the FOO library and distribute executables, as long as you
  follow the requirements of the GNU GPL in regard to all of the
  software in the executable aside from FOO.

  (Как особое исключение, у вас есть разрешение компоновать эту программу
  с библиотекой FOO и распространять исполняемые файлы до тех пор, пока вы
  следуете требованиям GNU GPL по отношению ко всем программам в составе
  исполняемого файла, за исключением FOO.)

По закону вы можете делать это, если вы являетесь правообладателем этой программы. Добавьте это в файлы исходных текстов после замечания, в котором говорится о том, что программа распространяется по GNU GPL.

Общественная лицензия исходных текстов RealNetworks (RealNetworks Public Source License, RPSL), версия 1.0 (#RPSL)

RPSL — лицензия свободных программ, несовместимая с GPL по ряду причин: она требует, чтобы производные произведения выпускались на условиях RPSL, и обязывает проводить все судебные разбирательства в Сиэтле (штат Вашингтон).

Лицензия исходных текстов промышленных стандартов Sun (Sun Industry Standards Source License) 1.1 (#SISSL)

Это лицензия свободных программ без сильного авторского лева, несовместимая с GNU GPL из-за деталей, а не каких-то серьезных расхождений.

Общественная лицензия Sun (#SPL)

Это по существу то же самое, что версия 1 Общественной лицензии Mozilla: лицензия свободных программ, несовместимая с GNU GPL. Пожалуйста, не путайте ее с Лицензией открытого текста сообщества Sun, которая не является лицензией свободных программ.

Лицензия xinetd (#xinetd)

Это лицензия свободных программ с авторским левом, несовместимая с GNU GPL. Она несовместима потому, что налагает дополнительные ограничения на перераспространение измененных версий, что противоречит требованиям о перераспространении из GPL.

Общественная лицензия Yahoo! (Yahoo! Public License) 1.1 (#Yahoo)

Это лицензия свободных программ. В ней есть авторское лево, подобное авторскому леву в Общественной лицензии Mozilla. В ней есть также пункт о выборе юрисдикции в разделе 7. Обе этих особенности делают лицензию несовместимой с GPL. В лицензии также употребляется, к сожалению, термин “интеллектуальная собственность”.

Лицензия Zend, версия 2.0 (#Zend)

Эта лицензия используется для части PHP4. Это лицензия свободных программ без авторского лева, несовместимая с GNU GPL, у нее есть практические проблемы, подобные проблемам первоначальной лицензии BSD.

Мы рекомендуем вам не применять эту лицензию ни для чего из того, что вы пишете.

Общественная лицензия Zimbra (Zimbra Public License) 1.3 (#Zimbra)

Эта лицензия идентична Общественной лицензии Yahoo! 1.1, за исключением того, что эта лицензия предоставляется компанией VMWare, а не Yahoo!. Наши комментарии к той лицензии применимы и здесь; это несовместимая с GPL лицензия свободных программ с частичным авторским левом.

Общественная лицензия Zope (Zope Public License), версия 1.0 (#Zope)

Это безвольная и довольно неограничительная лицензия свободных программ без авторского лева с практическими проблемами, подобными проблемам первоначальной лицензии BSD, в число которых входит несовместимость с GNU GPL.

Мы настоятельно рекомендуем вам не применять версию 1 ZPL для программ, которые вы пишете. Однако нет причин избегать применения программ, которые были выпущены под этой лицензией — таких, как предыдущие версии Zope.

Версия 2.0 Общественной лицензии Zope совместима с GPL.

Следующие лицензии не являются лицензиями свободных программ. Они автоматически несовместимы с GNU GPL.

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

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

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

Без лицензии (#NoLicense)

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

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

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

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

Программы, написанные сотрудниками государственных органов США, представляют особое исключение, поскольку законы об авторском праве США явно помещают их в общественное достояние; но это не относится к произведениям, написанным компанией за плату от государства. Это не относится также к другим странам, во многих из которых государству позволено обладать авторскими правами на государственные произведения.

Свободная общественная лицензия Aladdin (Aladdin Free Public License) (#Aladdin)

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

Лицензия Anti-996 (#Anti-996)

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

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

Антикапиталистическая лицензия программ (Anti-Capitalist Software License) (#anticapitalist)

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

Общественная лицензия исходных текстов Apple (Apple Public Source License, APSL), версия 1.x (#apsl1)

Версии 1.0, 1.1 и 1.2 не являются лицензиями свободных программ. Пожалуйста, не пользуйтесь этими лицензиями, и мы настоятельно рекомендуем вам избегать любых программ, выпущенных под этими лицензиями. Версия 2.0 APSL является лицензией свободных программ.

Художественная лицензия (Artistic License) 1.0 (#ArtisticLicense)

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

Общественная лицензия AT&T (AT&T Public License) (#ATTPublicLicense)

Общественная лицензия AT&T — несвободная лицензия. У нее есть несколько проблем:

  • Патентная лицензия отменяется любым изменением лицензируемых программ, как бы мало это изменение ни было.
  • Вы должны требовать письменного согласия, когда распространяете исходные тексты или поправки к ним.
  • Она требует оповещать AT&T, если вы распространяете изменение.
  • Действие вашей лицензии может быть прекращено без вашей вины, по условиям раздела 8/3.
  • Она делает соблюдение законов по контролю экспорта условием лицензии.
  • Некоторые версии лицензии требуют от вас предоставления поддержки.
  • В некоторых версиях лицензии сказано, что вам нельзя продавать копии программ дороже, чем за стоимость распространения.

У лицензии есть две злостных черты:

  • В ней есть очень широкая обратная лицензия, предоставляемая компании AT&T, выходящая далеко за применение ваших исходных текстов и даже ваших текстов с изменениями.
  • Она утверждает, что для того, чтобы делать ссылку на сайт AT&T, необходимо разрешение AT&T. Само по себе это не является практической проблемой, поскольку в лицензии сказано, что она дает разрешение на такую ссылку. (Как бы то ни было, людям не следует делать ссылки на сайты о несвободных программах.) Но таких заявлений ни делать, ни передавать не следует.
Открытая лицензия проекта Code (Code Project Open License), версия 1.02 (#cpol)

Открытая лицензия проекта Code не является лицензией свободных программ. Раздел 5.6 ограничивает то, как вы можете использовать произведение. В разделе 5.4 запрещается коммерческое распространение программы самой по себе — и в зависимости от того, как вы истолкуете раздел 3.4, у вас вообще может не быть разрешения распространять программу саму по себе.

Параграф обобществления (Commons Clause) (#comclause)

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

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

Лицензионное соглашение Репозитория цифровых объектов CNRI (#DOR)

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

Общественная лицензия eCos (eCos Public License), версия 1.1 (#eCos11)

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

Сейчас eCos доступна на условиях GNU GPL с дополнительным разрешением компоновать с несвободными программами.

Гиппократическая лицензия 1.1 (#hippocratic)

Это не лицензия свободных программ, потому что она налагает ограничения на то, для каких работ пользователи могут применять эти программы. Это отказывает им в свободе 0. Этот пункт раньше был озаглавлен “Прежде всего не навреди”.

Стандартная общественная лицензия для компьютерных программ общественной администрации (#GPL-PA)

GPL-PA (оригинальное название которой на португальском — “Licença Pública Geral para Administração Pública”) несвободна по нескольким причинам:

  • Она разрешает применение только в “обычных обстоятельствах”.
  • Она не допускает распространения исходных текстов без двоичных файлов.
  • Ее разрешения истекают через 50 лет.
Лицензионное соглашение программ с улучшенным исходным текстом Hacktivismo (Hacktivismo Enhanced-Source Software License Agreement, HESSLA) (#HESSLA)

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

Лицензия исходного текста сообщества Jahia (Jahia Community Source License) (#Jahia)

Лицензия исходного текста сообщества Jahia не является лицензией свободных программ. Применение исходного текста ограничено исследовательскими целями.

Лицензия JSON (#JSON)

Это лицензия первоначальной реализации формата обмена данными JSON. Эта лицензия принимает за основу Лицензию Expat, но добавляет пункт, требующий: “Программы должны использоваться для Добра, а не для Зла”. Это является ограничением на применение и, следовательно, противоречит свободе 0. Возможно, это ограничение не поддается защите в суде, но мы не можем заранее предполагать этого. Таким образом, лицензия несвободна.

Лицензия ksh93 (#ksh93)

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

Лицензия Lha (#Lha)

Лицензия lha должна расцениваться как несвободная, потому что она так туманна, что нельзя понять, что вам разрешается.

Лицензия Microsoft на разделяемый исходный текст CLI, C# и Jscript (Microsoft’s Shared Source CLI, C#, and Jscript License) (#Ms-SS)

Эта лицензия не допускает коммерческого распространения и допускает коммерческое использование только в определенных обстоятельствах.

У Microsoft есть другие лицензии, которые она определяет как “лицензии разделяемого исходного текста”; в некоторых из них ограничения другие.

Соглашение на открытый исходный текст NASA (NASA Open Source Agreement) (#NASA)

Соглашение открытого исходного текста NASA, версия 1.3, не является лицензией свободных программ, потому что в нее входит требование того, чтобы изменения были вашим “оригинальным творением”. Развитие свободных программ зависит от возможности сочетания исходных текстов третьих сторон, а лицензия NASA этого не допускает.

Мы настоятельно рекомендуем вам не применять эту лицензию. В дополнение, если вы — гражданин Соединенных Штатов, пожалуйста, напишите в NASA и призовите применять настоящую лицензию свободных программ.

Лицензия Oculus Rift SDK (#OculusRiftSDK)

Это не лицензия свободных программ, в ней есть несколько критических недостатков.

  • Нельзя распространять ничто меньшее, чем вся программа libOVR.
  • Права на распространение могут быть прерваны на неясных условиях.
  • Те, кто делает измененные версии, должны высылать их в Oculus по требованию.
  • Использование допускается только с их продуктом.
  • Новые версии лицензии полностью заменяют старые версии; это значит, что уже выданные разрешения могут быть отозваны.
Могут быть дополнительные критические недостатки; после того как мы нашли их в таком количестве, мы отказались от дальнейшего анализа.
Открытая общественная лицензия (Open Public License) (#OpenPublicL)

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

Лицензия неиерархического производства (Peer-Production License) (#PPL)

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

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

Персональная публичная лицензия версии 3a (#PPL3a)

Персональная публичная лицензия версии 3a представляет лицензию несвободных программ, поскольку отказывает пользователям (организациям, государствам, предприятиям) в четырех свободах.

Лицензия PINE (#PINE)

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

Пожалуйста, обратите внимание, что программа Alpine, пришедшая на смену Pine, выпускается под версией 2.0 Лицензии Apache.

Старая лицензия Plan9 (#Plan9)

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

В сентябре 2002 года было замечено, что опубликованная лицензия Plan 9 была изменена добавлением дополнительных ограничений, хотя заявленная дата осталась 09/20/00. Однако последующее изменение в лицензии сделало Plan 9 пакетом свободных программ.

Взаимная общественная лицензия (Reciprocal Public License) (#RPL)

Взаимная общественная лицензия не свободна из-за трех проблем. 1. Она ограничивает плату, взимаемую за первоначальную копию. 2. Она требует уведомлять первоначального разработчика при публикации измененной версии. 3. Она требует публикации любой измененной версии, используемой в организации, даже когда она используется частным порядком.

Лицензия Scilab (#Scilab)

Это не лицензия свободных программ, потому что она не допускает коммерческого распространения измененной версии. К счастью, начиная с версии 5.5.0, программы Scilab свободны и выпускаются под CeCILL версии 2.

Лицензия Scratch 1.4 (#Scratch)

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

Новые версии программ Scratch распространяются по GNU GPL, но некоторые из этих новых версий мы не рекомендуем, потому что для них нужна несвободная программа Adobe Air.

Лицензия “Простых машин” (Simple Machines License) (#SML)

Несмотря на название, это лицензия программ, и она не свободна по нескольким причинам:

  • Перед распространением программ вы должны получить разрешение правообладателя.
  • Вам нельзя продавать копии программ.
  • Может выйти так, что действие вашей лицензии прекратится, если вы получили программы от кого-то, кто не выполнил условий лицензии.
Старая лицензия Squeak (#Squeak)

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

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

Последние версии Squeak (начиная с 4.0) выпускаются под Лицензией типа Expat, а некоторые секции исходных текстов — под Лицензией Apache 2.0.

(#SunCommunitySourceLicense)

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

Лицензия исходного текста Sun Solaris (фондового выпуска) (Sun Solaris Source Code (Foundation Release) License), версия 1.1 (#SunSolarisSourceCode)

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

Общественная лицензия Sybase Open Watcom (Sybase Open Watcom Public License), версия 1.0 (#Watcom)

Это не лицензия свободных программ. Она требует, чтобы вы общедоступно публиковали исходный текст всякий раз, когда вы “вводите в эксплуатацию” программы, на которые она распространяется, а “введение в эксплуатацию” определено так, что включает в себя много разновидностей применения частным порядком.

Лицензия “открытого исходного текста” SystemC (SystemC “Open Source” License), версия 3.0 (#SystemC-3.0)

Эта лицензия требует, чтобы все получатели активно помогали правообладателю отстаивать его товарные знаки. Это слишком жесткое условие, налагаемое на права пользователя, поэтому лицензия не свободна. У нее есть также другие практические проблемы: некоторые требования туманны, и в ней употребляется термин “интеллектуальная собственность”.

Несмотря на название, не ясно, может ли эта лицензия считаться лицензией “открытого исходного текста”. Однако наше суждение на этом не основывается.

Лицензия Truecrypt 3.0 (#Truecrypt-3.0)

Эта лицензия несвободна по нескольким причинам. В ней сказано, что если вы не понимаете лицензию, вы не можете пользоваться программой. Лицензия налагает условия на разрешение другим пользоваться вашей копией. Она налагает условия на другие программы, которые “зависят от” Truecrypt. Условие о товарных знаках распространяется на “сопутствующие материалы”.

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

Общественная лицензия Фонда исследований Университета Юты (University of Utah Research Foundation Public License) (#UtahPublicLicense)

Общественная лицензия Фонда исследований Университета Юты не свободна, потому что она не допускает коммерческого перераспространения. Она также претендует на то, чтобы ограничивать коммерческое выполнение программ и даже коммерческие консультации по программе. Возможно, эти ограничения не имеют юридической силы в рамках авторского права США, но они могли бы иметь ее в некоторых странах; возмутительно уже само заявление об этих ограничениях.

Применение этой лицензии Университетом Юты служит примером опасной тенденции университетов ограничивать знание вместо того, чтобы нести его в общество.

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

Чем раньше вы поднимете этот вопрос, тем лучше.

Лицензия YaST (#YaST)

Это не лицензия свободных программ. Лицензия запрещает распространение за плату, а это делает невозможным вхождение программы в состав многих сборников свободных программ на компакт-дисках, которые продаются предприятиями и организациями.

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

(Сами программы YaST больше не пользуются несвободной лицензией YaST; к счастью, теперь это свободные программы, выпускаемые под GNU GPL.)

Следующие лицензии не удовлетворяют критериям лицензий свободной документации:

Стандартная общественная лицензия GNU (#GPLOther)

GNU GPL можно применять для данных общего характера, которые не являются программами, постольку, поскольку можно определить, к чему в данном конкретном случае относится определение “исходного текста”. Оказывается, что DSL (см. ниже) тоже требует, чтобы вы определили, что такое “исходный текст”, пользуясь примерно тем же определением, что и GPL.

CC0 (#CC0)

CC0 — формула передачи в общественное достояние, составленная организацией Creative Commons. Работа, выпущенная под CC0, передается в общественное достояние в той мере, в какой это только допускается законом. Если это по какой-то причине невозможно, CC0 предусматривает безвольную неограничительную лицензию как запасной вариант. Как условия распространения работ в общественном достоянии, так и безвольная лицензия, предоставляемая CC0, совместимы с GNU GPL.

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

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

Лицензия Creative Commons Attribution 4.0 (она же — CC BY) (#ccby)

Это свободная лицензия без авторского лева, она хороша для художественных, развлекательных и образовательных произведений. Она совместима со всеми версиями GNU GPL; однако, как и все лицензии Creative Commons, ее не следует применять для программ.

(#which-cc) Creative Commons издает много очень разных лицензий. Следовательно, говорить, что произведение “использует лицензию Creative Commons” значит оставлять без ответа принципиальные вопросы о лицензировании произведения. Когда вы видите в произведении такое заявление, попросите, пожалуйста, автора изменить произведение так, чтобы оно четко и ясно указывало, какую из лицензий Creative Commons оно использует. И если кто-то предлагает “применять лицензию Creative Commons” для определенного произведения, то перед тем, как продолжать любое обсуждение, совершенно необходимо спросить: “Какую из лицензий Creative Commons?”

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

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

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

Электрические схемы предназначены для практического применения, так что их чертежи должны нести свободную лицензию. Мы рекомендуем выпускать их под Стандартной общественной лицензией GNU версии 3 или более поздней. Версия 3 была составлена для таких применений.

Планы объектов для трехмерных принтеров, предназначенные для практического применения, также должны быть свободны. Мы рекомендуем GNU GPL или те из лицензий Creative Commons, которые свободны: CC-BY, CC-BY-SA или CC0.

Планы декоративных объектов для трехмерных принтеров представляют собой художественные произведения; для них подходят любые лицензии Creative Commons.

установка, настройка и способы защиты от атак

Веб-сервер Apache не нуждается в представлении. Это программное обеспечение с открытым исходным кодом, выпущенное фондом Apache, один из самых используемых веб-серверов в мире. Рассмотрим, как его установить и как настроить конфигурацию брандмауэра для разрешения HTTP- и HTTPS-трафика и виртуальные хосты в Ubuntu 18.04.

Этапы установки Apache

Установить веб-сервер Apache в Ubuntu 18.04 Bionic Beaver очень просто:

$ sudo apt-get update && apt-get install apache2

Сценарии установки Ubuntu позаботятся о запуске и включении apache2-сервиса при загрузке.

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

Чтобы получить доступ к содержимому сервера на той же машине, где он работает, нужно запустить веб-браузер и ввести в адресную строку localhost. Если всё настроено правильно, страница поприветствует словами: «It works!».

http://local.server.ip

Если в системе включён брандмауэр (как и должно быть), то чтобы сделать контент доступным извне нашей машины, нужно разрешить входящий трафик через порт 80. Команда для запуска зависит от используемого менеджера брандмауэра. Например, при использовании ufw (используется в Ubuntu по умолчанию) мы должны запустить:

$ sudo ufw allow http

Если вы используете firewalld, можно запустить:

$ sudo firewall-cmd --permanent --add-service=http && firewall-cmd --reload

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

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

Веб-сервер Apache может запускать несколько веб-сайтов на одном компьютере. Каждый запущенный сайт («виртуальный хост» в терминологии Apache) должен иметь свою собственную конфигурацию. Виртуальный хост может быть IP или именем.

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

Виртуальный хост по умолчанию

В Ubuntu виртуальный хост по умолчанию определён в каталоге /etc/apache2/sites-available внутри файла 000-default.conf. Рассмотрим его:

<VirtualHost *:443>
	[...]
	ServerAdmin [email protected]
	DocumentRoot /var/www/html

	[...]

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

	[...]
</VirtualHost>

Директива <VirtualHost> на первой строке применяется для группы параметров, используемых Apache для конкретного виртуального хоста. Первое, что вы увидите в ней, — инструкцию *:80. Она указывает IP-адрес и порт, используемый виртуальным хостом.

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

Директива на строке 3 не является обязательной, она используется, чтобы указать контактный адрес. Обычно в качестве аргумента директивы предоставляют действительный адрес электронной почты, чтобы было проще связаться с администратором.

DocumentRoot в строке 4 является обязательным, это важно для конфигурации виртуального хоста. Аргумент этой инструкции должен иметь доступ к файловой системе. Указанный каталог будет считаться корневым каталогом виртуального хоста и не должен содержать завершающий символ «/». В этом случае корневая директория документа — /var/www/html. Если мы посмотрим на её содержимое, то увидим, что она содержит страницу index.html, которую вы до этого видели в качестве страницы приветствия сервера.

Последние две команды на строках 8–9, представленные в этом VirtualHost, — ErrorLog и CustomLog. Используя первый, вы указываете файл, в который сервер будет записывать возникающие ошибки. Второй используется для регистрации запросов, отправленных на сервер в указанном формате.

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

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

Как сказано выше, файлы виртуальных хостов должны быть определены внутри каталога /etc/apache2/sites-available (по крайней мере в дистрибутивах на основе Debian). Поэтому создадим этот файл там. Прежде чем сделать это, следует создать каталог, который будет использоваться как document root, а также создать базовую страницу, которая будет отображаться при открытии сайта:

$ sudo mkdir /var/www/example && echo "Welcome to example!" > /var/www/example/index.html

Теперь можно приступить к настройке виртуального хоста:

<VirtualHost *:80>
DocumentRoot /var/www/example
ServerName www.example.local
</VirtualHost>

Это минимальная конфигурация, необходимая для его запуска. Здесь вы можете увидеть новую директиву ServerName. Это то, что определяет ваш виртуальный хост. Сохраним этот файл как example.conf. Чтобы активировать ваш виртуальный хост, используйте команду a2ensite. Эта команда создаёт символическую ссылку файла в каталоге /etc/apache2/sites-enabled:

$ sudo a2ensite example.conf

После этого следует перезагрузить конфигурацию сервера:

$ sudo systemctl reload apache2.service

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

$ sudo echo "192.168.122.241 www.example.local" >> /etc/hosts

Без этой строки (и без записи DNS) было бы невозможно связать адрес сервера с именем вашего виртуального хоста, а использование IP-сервера напрямую вместо этого «инициировало» бы виртуальный хост по умолчанию.

С клиентского компьютера, если вы теперь перейдёте к www.example.local, вы должны увидеть минимальную страницу, которую настроили выше.

Настройка SSL

SSL (Secure Sockets Layer) — это технология, которая позволяет нам шифровать данные, связанные с соединением между клиентом и сервером. При использовании SSL-сертификатов HTTPS (Hyper Text Transfer Protocol Secure) заменяет HTTP в URL-адресе.

SSL-сертификаты выдаются центром сертификации и могут быть очень дорогими, однако есть два других способа получить сертификат: создать самозаверяющий сертификат или воспользоваться сервисом Let’s encrypt.

Создаём самоподписанный SSL-сертификат

Создание самозаверенного сертификата — несложная задача. Это может быть удобно, если вы просто хотите получить шифрование. Мы можем создать самозаверяющий сертификат с помощью утилиты OpenSSL:

$ sudo openssl req -x509 \
 -days 365 \
 -sha256 \
 -newkey rsa:2048 \
 -nodes \
 -keyout example.key \
 -out example-cert.pem

Посмотрим, что делает эта команда. Первая опция, -x509определяет, что формируется сертификат стандарта X509.

С помощью -days мы устанавливаем срок действия сертификата в днях. Следующая опция — -newkey. С её помощью мы создаём новый ключ, в данном случае RSA-ключ размером 2048 бит. В тестовом примере нам не нужно шифровать файл закрытого ключа, поэтому используем -nodes. Если эта опция не указана, файл, в котором хранится ключ, будет защищён паролем, который нужно будет предъявлять каждый раз при перезапуске веб-сервера.

С помощью -keyout и -out мы указываем файл для записи сгенерированного ключа и сертификата соответственно. При запуске команды нам будет предложено ответить на несколько вопросов, после чего будет сгенерирован ключ и сертификат.

Скопируйте сгенерированный ключ и сертификат в каталоги /etc/ssl/private и /etc/ssl/ssl-certs соответственно:

$ sudo cp example-cert.pem /etc/ssl/certs

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

Теперь ключ:

$ sudo cp example.key /etc/ssl/private

Важно настроить права доступа к файлу ключа. Папка /etc/ssl/private принадлежит root-пользователю и группе ssl-cert, и у неё есть права доступа 710. Это означает, что владелец имеет на неё полные права, а владелец группы может только получить к ней доступ и перечислить её содержимое, но не может дать разрешение другим:

$ ls -ld /etc/ssl/private
drwx--x--- 2 root ssl-cert 4096 Mar 16 11:57 /etc/ssl/private

Изменим права доступа к файлу ключа, предоставив владельцу права на чтение и запись, а группе — только для чтения:

$ sudo chown root:ssl-cert /etc/ssl/private/example.key
$ sudo chmod 640 /etc/ssl/private/example.key

Теперь, чтобы использовать сертификат, нужно включить модуль SSL с помощью команды a2enmod:

$ sudo a2enmod ssl

Почти всё готово. Теперь пришло время изменить наш виртуальный хост и настроить его следующим образом:

<VirtualHost *:443>
	DocumentRoot /var/www/example
	ServerName www.example.local

	# Enable ssl engine
	SSLEngine on

	SSLCertificate /etc/ssl/certs/example-cert.pem
	SSLCertificateKeyFile /etc/ssl/private/example.key
</VirtualHost>

Порт 443 в строке 1 — это порт, используемый для HTTPS (вместо порта 80, используемого для HTTP).

Мы также добавили инструкцию SSLEngine on в строке 6.

Наконец, в строках 8–9 мы определили пути для сертификата и файла ключей, используя инструкции SSLCertificateFile и SSLCertificateKeyFile.

Теперь следуйте инструкциям по открытию порты брандмауэра из начале статьи, но на этот раз чтобы разрешить HTTPS-службу:

$ sudo ufw allow https

Наконец, перезагрузите конфигурацию Apache:

$ sudo systemctl reload apache2

Готово. Теперь, если мы перейдём по адресу https://www.example.local, мы должны увидеть веб-сервер, предупреждающий нас о том, что используемый сертификат небезопасен. Это, однако, признак того, что наш сертификат работает, и трафик между клиентом и сервером будет зашифрован (вам необходимо добавить исключение для сертификата, чтобы использовать его).

Настройка Let’s encrypt

Альтернатива коммерческим и самозаверенным сертификатам — «Let’s encrypt». Это бесплатный, автоматизированный и открытый центр сертификации. Его цель — дать возможность автоматически получить сертификат, которому доверяет браузер, без какого-либо вмешательства человека.

Для этого используется протокол ACME (certificate management agent), который запускается на сервере.

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

Если же у вас есть доступ к shell, необходимо установить клиент certbotACME.

Для установки Certbot на Ubuntu 18.04 достаточно запустить:

$ sudo apt-get update && apt-get install certbot python-certbot-apache

Пакет Certbot поставляется с модулем systemd timer, который будет запускать Certbot два раза в день, чтобы поддерживать сертификат в актуальном состоянии. Получить сертификат довольно просто:

$ sudo certbot --apache -m  -d 

Очевидно, чтобы это работало, домен должен правильно указывать на ваш общедоступный IP-адрес. Certbot предложит вам несколько вопросов для настройки конфигурации, и, если всё пойдёт хорошо, сертификат и ключ будут сохранены в каталоге /etc/letsencrypt/live/. Просто настройте файл виртуального хоста, чтобы указать на них, и всё готово.

Как обезопасить сервер Apache

Основные средства защиты

Установка Fail2ban на Ubuntu Server 18.04

Если вы хотите обезопасить свой сервер Ubuntu, первое, что вы должны сделать, — это установить систему обнаружения вторжений Fail2ban.

Fail2ban отслеживает определённые файлы журналов (в /var/log) на предмет неудачных попыток входа или автоматических атак на сервер. Когда обнаруживается попытка компрометации с IP-адреса, Fail2ban блокирует его, добавляя новую цепочку в iptables и предотвращая доступ или дальнейшую атаку на сервер.

Fail2ban настолько легко установить и использовать, что его можно рассматривать как простое и универсальное решение для всех серверов Linux.

Установить его просто. Войдите в свой сервер Ubuntu и обновите его при необходимости. Обратите внимание, что если в этом процессе обновлено ядро, сервер нужно перезагрузить, поэтому выберите время, когда перезагрузка возможна. Чтобы обновить сервер, введите следующие команды:

sudo apt-get update
sudo apt-get upgrade

После выполнения команд при необходимости перезагрузите сервер.
Установить Fail2ban можно с помощью одной команды:

sudo apt-get install -y fail2ban

Проверьте установленную версию:

fail2ban-server --version

После этого Fail2ban готов к работе. Запустить и включить сервис можно так:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban
Настройка jail

Настроим его для попыток входа по SSH. В каталоге /etc/fail2ban вы найдёте файл jail.conf. Не редактируйте его. Вместо этого создайте новый файл jail.local, который переопределит любые подобные настройки в jail.conf. Новая конфигурация будет отслеживать /var/log/auth.log, использовать фильтр sshd fail2ban, устанавливать для порта SSH значение 22 и устанавливать максимальное количество попыток — 3. Для этого выполните команду:

sudo nano /etc/fail2ban/jail.local

В новый файл вставьте следующее содержимое:

[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

Сохраните и закройте его. Перезапустите Fail2ban с помощью команды:

sudo systemctl restart fail2ban

На этом этапе, если кто-либо попытается войти на ваш сервер Ubuntu через SSH и эта попытка 3 раза завершится ошибкой, он не сможет больше войти, поскольку iptables заблокирует IP-адрес.

Тестирование и разблокирование

Вы можете проверить, работает ли jail, намеренно провалив три попытки входа на сервер через SSH. После третьей неудачной попытки соединение будет зависать. Нажмите Ctrl+C, чтобы выйти, а затем попытайтесь вернуться по SSH на сервер. Вы больше не сможете использовать SSH на этом сервере с того IP-адреса, который вы использовали.

Затем вы можете разблокировать свой тестовый IP-адрес с помощью следующей команды:

sudo fail2ban-client set sshd unbanip ip_address

Где ip_address — запрещённый IP-адрес.

Теперь вы снова можете войти.

Модуль mod_evasive

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

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

Установка mod_evasive в Ubuntu

Введите команду:

# apt-get update

Затем установите вспомогательную утилиту:

sudo apt-get install apache2-utils

Чтобы установить модуль mod_evasive в Ubuntu, введите следующее:

# apt-get install libapache2-mod-evasive
Настройка mod_evasive

Как и большинство программных пакетов Linux, mod_evasive управляется файлом конфигурации.

Откройте его в текстовом редакторе с помощью следующей команды:

sudo nano /etc/apache2/mods-enabled/evasive.conf

Найдите запись:

#DOSEmailNotify [email protected]

Знак # помечает это как комментарий. Удалите его, затем замените [email protected] своим адресом электронной почты. Используйте ту, которой вы постоянно пользуетесь — именно сюда будут отправляться оповещения.

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

Сохраните и выйдите, затем перезагрузите Apache:

sudo systemctl reload apache2
Тестирование mod_evasive

Пришло время проверить, правильно ли работает модуль.
Используйте скрипт test.pl. Его сценарий расположен по этому адресу:

/usr/share/doc/libapache2-mod-evasive/examples/test.pl.

Для его запуска примените эту команду:

perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl

Вывод должен выглядеть таким образом:

Параметры и настройки

DOSSystemCommand

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

DOSHashTableSize

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

DOSPageCount

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

DOSSiteCount

Общее количество запросов на один и тот же сайт по одному и тому же IP-адресу. По умолчанию установлено значение 50. Вы можете увеличить его до 100, чтобы уменьшить количество ложных срабатываний.

DOSPageInterval

Количество секунд для DOSPageCount. По умолчанию значение равно 1 секунде. Это означает, что если вы не измените его, запрос 2 страниц за 1 секунду временно поместит IP-адрес в чёрный список.

DOSSiteInterval

Как и DOSPageInterval, он определяет количество секунд, которые отслеживает DOSSiteCount. По умолчанию это значение равно 1 секунде, то есть если один IP-адрес запрашивает 50 ресурсов на одном и том же веб-сайте за одну секунду, он будет временно помещён в чёрный список.

DOSBlockingPeriod

Время, в течение которого IP-адрес остаётся в чёрном списке. По умолчанию установлено 10 секунд, но вы можете изменить его на любое значение, которое вам нравится.

DOSLogDir

По умолчанию он настроен на запись журналов в /var/log/mod_evasive. Эти журналы можно просмотреть позже, чтобы оценить поведение клиента.

Белые IP-адреса

Эта опция по умолчанию не включена в файл evasive.conf.

Откройте файл для редактирования и добавьте следующую строку:

DOSWhitelist ваш_IP_адрес

Подставьте IP-адрес, который хотите добавить в белый список. Нужно указывать только одну запись в строке. Обычно список используется для доверенных клиентов, которые обмениваются с вашим сайтом большим количеством данных. Этот инструмент хорош для обнаружения ботов и скриптов. Если есть боты или сценарии, которые вы хотите разрешить, можете внести их.

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

DNS Injection

Спам из веб-форм не только распространён, но и является быстрым способом внести домен в чёрный список подобный Spamhaus. Чтобы предотвратить подобное, вам нужно добавить ещё один модуль в Apache.

В терминале введите:

sudo apt-get -y install libapache2-mod-spamhaus

После завершения установки введите команду:

sudo touch /etc/spamhaus.wl

Далее откройте файл /etc/apache2/apache2.conf (используя sudo и ваш любимый текстовый редактор) и добавьте в конец вашего файла конфигурации блок:

<IfModule mod_spamhaus.c>
  MS_METHODS POST, PUT, OPTIONS, CONNECT 
  MS_WhiteList /etc/spamhaus.wl 
  MS_CacheSize 256 
</IfModule>

Сохраните файл apache2.conf и перезапустите Apache, чтобы новый модуль вступил в силу.

Slowloris

В Apache есть модуль для предотвращения подобных DOS-атак. Вот как это работает. Откройте окно терминала. Введите команду:

sudo apt-get -y install libapache2-mod-qos

После завершения установки проверьте конфигурацию в /etc/apache2/mods-available/qos.conf, чтобы убедиться, что она идеально соответствует вашим потребностям. После настройки модуля (при необходимости) перезапустите Apache.

Дополнительные средства защиты

Скрыть версию сервера

Это одно из первых соображений, поскольку вы не хотите показывать, какую версию веб-сервера вы используете. Её разоблачение означает, что вы помогаете хакеру ускорить процесс разведки.
Перейдите в папку:

$ Web_Server/conf

Измените httpd.conf с помощью редактора. Добавьте следующую директиву и сохраните httpd.conf:

ServerTokens Prod
ServerSignature Off

Перезапустите Apache.
ServerSignature удалит информацию о версии со страницы.
ServerTokens изменит заголовок только на рабочий, т. е. Apache.

Защита от атаки Clickjacking

Атака данного типа позволяет злоумышленнику выполнить клик на сайте-жертве от имени легитимного посетителя.

Чтобы обезопасить свой веб-сервер, вам нужно использовать заголовок «X-FRAME-OPTIONS»
Вы можете сделать это, отредактировав файл apache2.conf.

sudo nano /etc/apache2/apache2.conf

Добавьте следующую строку внутри Directory /var/www/html/:

Header always append X-Frame-Options SAMEORIGIN

Сохраните файл и перезапустите Apache.

sudo /etc/init.d/apache2 restart

Теперь попробуйте открыть веб-браузер для доступа к веб-серверу. Проверьте заголовки ответа HTTP в firebug. Вы должны увидеть X-Frame-Options.

Защита от атаки XSS

XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») является одной из наиболее распространённых атак на уровне приложений.

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

sudo nano /etc/apache2/apache2.conf

Добавьте следующую строку внутри Directory /var/www/html/:

Header set X-XSS-Protection "1; mode=block"

Заключение

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

Вадим Сычёв

Что такое веб-сервер Apache? (Плюсы и минусы Apache)

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

Большинство веб-серверов по всему миру используют программное обеспечение Apache или Apache HTTP Server. Это довольно быстро, безопасно и может быть легко настроено для различных сред с помощью расширений и модулей. Apache без проблем работает как на веб-серверах Windows, так и на Linux.

Это программное обеспечение с открытым исходным кодом, разработанное и поддерживаемое Apache Software Foundation.HTTP-сервер Apache — это не физический сервер, а скорее программное обеспечение, работающее на сервере.

В этой статье мы обсудим следующее: —

Кто использует веб-сервер Apache? Программное обеспечение

Apache в настоящее время используется 43,2% веб-сайтов по всему миру.

Популярные компании, использующие HTTP-сервер Apache:

  • IBM
  • eBay
  • Adobe
  • PayPal
  • Linkedin
  • GTMetrix
  • Facebook

Узнать больше о Лучшие серверы PHP

Что такое веб-сервер?

Основная функция веб-сервера — хранить, обрабатывать и обслуживать веб-страницы для клиентов.Он использует протокол HTTP, чтобы предоставить пользователю веб-страницу, которую он хочет увидеть.

Apache помогает установить соединение между сервером и браузерами посетителей веб-сайтов (Firefox, Google Chrome, Safari и т. Д.), Одновременно доставляя файлы между ними (структура клиент-сервер).

Браузер запрашивает конкретный файл или ресурс и запускает процесс. В ответ веб-сервер читает запрос, захватывает ресурсы и обслуживает их как веб-страницы, чтобы пользователь мог их интерпретировать.

Вся связь происходит через HTTP или HTTPS . Веб-сервер также позволяет веб-браузерам получать файлы от конечных пользователей и передавать их в хранилище.

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

Почему выбирают Apache?

Apache — это программное обеспечение с открытым исходным кодом, что означает, что исходный код можно просматривать и совместно использовать бесплатно.

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

С 1995 года Apache помогает развитию Интернета.

Веб-серверы

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

В основном это серверная часть.

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

Особенности веб-сервера Apache

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

У сервера

Apache есть и другие функции:

  • Загружаемые динамические модули
  • Обработка статических файлов, индексных файлов, автоиндексирование и согласование содержимого
  • .Поддержка конфигурации htaccess для каждого каталога
  • Apache совместим с IPv6
  • Сервер Apache поддерживает HTTP / 2
  • gzip сжатие и декомпрессия
  • FTP-соединения возможны с правильным модулем
  • Perl, PHP и сценарии Lua уже созданы

Плюсы и минусы Apache

Плюсы Apache Server:
  • Apache с открытым исходным кодом, и любой может получить его бесплатно
  • Настраиваемый код может быть адаптирован к потребностям
  • Возможность добавления дополнительных функций и модулей для улучшения функций
  • Высокая надежность и отличная производительность
  • Apache прост в использовании установить
  • Немедленная запись изменений
  • Может работать в любой операционной системе
  • Активно поддерживается и обновляется сообществом
  • Очень гибкий веб-сервер
  • Впечатляющая документация, довольно обширная и полезная

Минусы Apache Server
  • Возможность изменения конфигурации предлагала приглашение к различным угрозам, когда вы вмешивались в код, незащищенные ворота открываются.
  • Опять же, настройка означает новые ошибки и ошибки. Отладка означает потребление времени и ресурсов.
  • Необходима строгая политика обновления, которая должна выполняться через регулярные промежутки времени.
  • Распознавание и отключение нежелательных служб и модулей
  • Проблемы с производительностью на сайтах с очень высоким трафиком.

Альтернатива HTTP-серверу Apache
  • Nginx
  • Apache Tomcat
  • Node.js
  • Lighttpd
  • Cherokee
  • Microsoft IIS
  • Appweb
  • Hiawatha

Конечно, Apache известен и надежен, но это не единственный веб-сервер на рынке .

В настоящее время Nginx является следующим по популярности веб-сервером после Apache HTTP. Nginx решил слабость Apache.

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

Большинство сайтов устанавливают оба сервера и используют Nginx в качестве резервного сервера.

В ServerGuy мы предоставляем оба веб-сервера вместе с нашим хостингом.

Узнайте больше о различиях между Apache и Nginx.

Как узнать, какой веб-сервер вы используете

Вы можете проверить, какой веб-сервер использует сайт, с помощью Google Chrome. Проверьте версию Apache здесь.

  • Откройте сайт в Google Chrome.
  • Щелкните страницу правой кнопкой мыши и выберите «Проверить элементы».
  • Перейдите на вкладку «Сеть»
  • Перезагрузите веб-страницу
  • Щелкните адрес сайта
  • Проверьте тег заголовка

Альтернативный метод:

Многие онлайн-инструменты могут определить, какой веб-сервер использует сайт.Вы можете использовать Wapplyzer.

Наконец, что такое веб-сервер Apache?

Apache Web Server — это зрелый и надежный веб-сервер, который позволяет сайту обслуживать веб-страницы для пользователей.

Вы можете установить сайт WordPress на Apache. Не только WordPress, но и Apache также совместим со всеми популярными CMS, такими как Joomla или Drupal. Совместимость также является важной причиной того, что Apache так популярен среди веб-разработчиков.

Надеюсь, вы знаете, что сейчас такое веб-сервер Apache.

Оставьте свои сомнения в поле для комментариев.

Что такое Apache? Краткий обзор программного обеспечения веб-сервера Apache — WordPress.com

Что такое апач? Apache — это наиболее широко используемое программное обеспечение для веб-серверов в мире. Это программное обеспечение, которое помогает отображать веб-сайты в вашем браузере. Apache — это программное обеспечение с открытым исходным кодом, созданное проектом HTTP-сервера Apache, которое помогает пользователям получать доступ к веб-сайтам, включая сайты WordPress. По данным W3Techs, Apache используют не менее 47,8% веб-сайтов в мире.

Как используется веб-сервер Apache?

Веб-сервер — это аппаратное обеспечение, на котором хранятся как веб-сайты, так и так называемое программное обеспечение веб-сервера. Когда посетитель пытается получить доступ к вашему веб-сайту, его браузер отправляет запрос на веб-сервер в формате, называемом HTTP (протокол передачи гипертекста), который представляет собой интересный способ описания того, как данные веб-сайта перемещаются из одного места в другое.

Когда HTTP-запрос достигает нужного сервера, программное обеспечение веб-сервера, такое как Apache, отвечает.Apache получает запрошенную информацию о веб-сайте и отправляет ее в браузер.

Все ли сайты WordPress.com используют Apache?

Многие пользователи WordPress предпочитают размещать свои сайты на WordPress.com или выбирают хостинг для сайтов таких компаний, как BlueHost или Pressable. Независимо от того, где он размещен, ваш веб-сайт использует программную технологию веб-сервера для связи между браузерами и серверами. Это может быть или не быть Apache, поскольку WordPress совместим с различными вариантами программного обеспечения веб-сервера.

Что нужно знать об Apache

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

Хотя ответить на вопрос «Что такое Apache?» Имеет смысл, вам, скорее всего, не нужно знать, как им пользоваться. Для большинства пользователей WordPress настройка и обслуживание Apache или другого программного обеспечения веб-сервера является обязанностью их хоста.

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

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

Определение Apache

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

Популярность Apache на рынке веб-хостинга во многом объясняется тем, что он имеет открытый исходный код и бесплатен для использования. Таким образом, компании, занимающиеся веб-хостингом, могут предложить решения для веб-хостинга на базе Apache с минимальными затратами. Другое серверное программное обеспечение, такое как Windows Server, требует коммерческой лицензии. Apache также поддерживает несколько платформ, включая операционные системы Linux, Windows и Macintosh. Поскольку многие дистрибутивы Linux также имеют открытый исходный код, комбинация Linux / Apache стала самой популярной конфигурацией веб-хостинга.

Apache может размещать статические веб-сайты, а также динамические веб-сайты, использующие серверные языки сценариев, такие как PHP, Python или Perl. Поддержка этих и других языков осуществляется с помощью модулей или установочных пакетов, которые добавляются к стандартной установке Apache. Apache также поддерживает другие модули, которые предлагают расширенные параметры безопасности, инструменты управления файлами и другие функции. Большинство установок Apache включают модуль перезаписи URL-адресов под названием «mod_rewrite», который стал обычным способом для веб-мастеров создавать собственные URL-адреса.

Хотя программное обеспечение веб-сервера Apache обычно называют просто «Apache», технически его называют «сервером Apache HTTP», поскольку программное обеспечение обслуживает веб-страницы по протоколу HTTP. Когда Apache запущен, его имя процесса — «httpd», что является сокращением от «HTTP-демон».

Обновлено: 7 января 2011 г.

TechTerms — Компьютерный словарь технических терминов

Эта страница содержит техническое определение Apache. Он объясняет в компьютерной терминологии, что означает Apache, и является одним из многих интернет-терминов в словаре TechTerms.

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

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

Подписаться

Что такое апач? — BetterStudio

Веб-сервер Apache — один из самых популярных серверов для HTTP, который поддерживает PHP и Perl.Это популярное программное обеспечение разработано и поддерживается Apache Software в США. Многие серверы по всему миру управляются веб-сервером Apache. Причина этого — скорость и безопасность, которые обеспечивает эта компания.

Апачи — это название индейского племени. Это племя было известно своей храбростью и умением вести войну. Это имя было выбрано в 1995 году для первой версии этого веб-сервера. В этой статье мы должны объяснить, что такое apache и для чего он используется?

Причина в скорости и безопасности, которые обеспечивает эта компания.Апачи — это название индейского племени. Это племя было известно своей храбростью и умением вести войну. Это имя было выбрано в 1995 году для первой версии этого веб-сервера. В этой статье мы должны объяснить, что такое apache и для чего он используется?

В 1996 году Apache был хорошо известен во всем мире и быстро стал популярным. Благодаря функции с открытым исходным кодом он поддерживает многие современные технологии, такие как сертификат SSL и CGL. Apache поддерживает Linux, Windows и т. Д.

Кроме того, вы можете использовать макросы и дополнения для улучшения, разработки и настройки этого программного обеспечения.Они дали Apache прозвище «LAMP» за поддержку 4 наиболее часто используемых систем: Linux, Apache, MySQL и PHP / Perl. Можно с уверенностью сказать, что Apache поддерживает все системы, используемые в современном мире. Согласно статистике Netcraft.com, около 60% веб-сайтов во всем мире используют Apache.

В нашей предыдущей статье мы обсуждали, как установить WordPress на localhost.

Что такое веб-сервер?

Веб-сервер — это система / программное обеспечение, которое отвечает на запросы браузеров.Он получает запросы, а затем отправляет пользователям желаемую запрошенную страницу. Веб-сервер — это программное обеспечение, которое использует HTTP для отправки файлов с физического сервера в браузер пользователя, и без него пользователь не может открывать никакие страницы. Проще говоря, веб-сервер называется программой, которая вызывает запрошенные веб-страницы.

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

Зачем нужен веб-сервер Apache?

В настоящее время существует множество веб-серверов, которые пользователи используют в Мир. Самые популярные из них — Apache, IIS, LiteSpeed, LightTPD и Nginx. Apache является самым популярным по нескольким простым причинам:

  1. Apache бесплатен как для личного, так и для коммерческого использования.
  2. Это программное обеспечение заслуживает доверия и обеспечивает отличную безопасность. Кроме того, Apache имеет открытый исходный код и позволяет пользователям просматривать коды и изменять их в соответствии со своими потребностями.
  3. Веб-серверы Apache могут использоваться для любых веб-сайтов (от веб-сайтов с несколькими страницами до веб-сайтов с тысячами страниц).
  4. Чаще всего Apache используется .htaccess, который используют многие эксперты по Linux. Программисты могут редактировать файл .htaccess, чтобы добавить свои собственные функции.

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

Как упоминалось выше, Apache используется уже 25 лет, и его популярность продолжает расти, и другие веб-серверы не могут конкурировать с ним. У веб-сервера Apache много преимуществ. Мы упомянем некоторые ниже:

  • Поскольку это открытый исходный код, вам необходимо разрешение на просмотр кодов.
  • Вы можете редактировать код.
  • К нему можно добавлять макросы и дополнения. Эта функция сделала Apache популярным в сообществе программистов.
  • Веб-сервер Apache заслуживает доверия.
  • Вы можете сохранить любые внесенные вами изменения, не перезагружая его.
  • Apache поддерживает две известные в мире операционные системы, Linux и Windows.
  • Регулярно обновляется.
  • Простота установки.
  • Гибкий.
  • Вы можете разместить несколько веб-сайтов одновременно.
  • Простая конструкция.
  • Поддерживает многие CMS, такие как WordPress и Joomla.
  • Рекомендуется для начинающих.
  • Документы и руководства Apache регулярно обновляются.
  • Apache не имеет статических или динамических проблем и может управлять тысячами веб-сайтов.
  • Apache — самый старый веб-сервер в мире, и его сообщество очень активно поддерживает.
  • Высокая скорость

Недостатки Apache

У Apache может быть много преимуществ, но есть и некоторые недостатки.Важные недостатки:

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

Заключение

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

  1. Apache: 60,6%
  2. NGINX: 20,6%
  3. IIS: 13,9%
  4. LiteSpeed: 2,0%

Хотя эти цифры могли измениться за 5 лет, это сильно Считается, что благодаря преимуществам Apache, он по-прежнему является наиболее часто используемым веб-сервером.

Apache позволяет размещать веб-сайты, не беспокоясь о рисках безопасности.Этот веб-сервер подходит для веб-сайтов малого и среднего размера. Apache имеет хорошие отношения между различными CMS, такими как Joomla, Drupal, Weebly и WordPress, поэтому многие пользователи WordPress полагаются на Apache.

Лучший хостинг Apache: кто лучше всего подходит для вашего сайта? [Обновлено: 2021]

Что такое хостинг Apache?

«Цель проекта [Apache] — предоставить безопасный, эффективный и расширяемый сервер, который предоставляет услуги HTTP в синхронизации с текущими стандартами HTTP.»- Apache Foundation

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

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

Настройка Apache

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

Перейти к оставшейся части обзора.

Что такое Apache?

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

Веб-серверы и приложения веб-сервера

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

Это приложение веб-сервера — это то, что позволяет серверу доставлять контент через Интернет . Серверное программное обеспечение устанавливается в операционной системе, чаще всего Linux.

Разработка и сопровождение

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

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

Что такое Apache Tomcat?

Apache Tomcat — это контейнер сервлетов Java с открытым исходным кодом, разработанный Apache Software Foundation. Сервлет Java позволяет людям расширять возможности сервера, например, путем развертывания веб-приложений.

Написанный на Java, Apache Tomcat предоставляет чистую среду веб-сервера Java для запуска кода Java. Он также включает инструменты, позволяющие настраивать и управлять.Люди также могут настроить Apache Tomcat напрямую, отредактировав файлы конфигурации XML .

Как работает Apache?

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

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

Система доставки HTTP

Веб-серверы доставляют веб-страницы, используя HTTP (протокол передачи гипертекста) через запросы URL-адресов (универсальные указатели ресурсов). Как вы, наверное, знаете, URL-адрес — это идентификатор веб-страницы, к которой вы хотите получить доступ.

Когда пользователь вводит URL-адрес в адресную строку веб-браузера, его браузер отправляет HTTP-запрос на серверный компьютер, на котором запущен Apache.

Компания и сайты с собственным хостингом

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

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

Обработка множественных запросов

Серверы Apache должны обрабатывать множество HTTP-запросов одновременно. В результате сервер Apache создаст новый поток или ответвление программы для выполнения каждого нового HTTP-запроса.

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

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

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


Ищете хост Apache с самым высоким рейтингом?
Получите быструю скорость и качественную техническую поддержку, зарегистрировавшись на нашем хостинге №1 — SiteGround.В настоящее время вы можете сэкономить до 67% на их тарифных планах. Воспользуйтесь этой специальной ссылкой на скидку, чтобы заключить сделку.


Что делает Apache таким популярным?

Сообщество поддерживает Apache, несмотря на появление множества конкурирующих решений. Хотя Apache работает на серверах под управлением Windows, Mac, Unix и Linux, он обычно ассоциируется с Linux.

Простая интеграция

Apache поддерживает различные технологии, включая :

  • MySQL
  • PHP
  • SSL
  • Общий интерфейс шлюза (CGI)
  • Включает серверную часть (SSI)
  • Перенаправление URL-адресов
  • HTTP метафайлы заголовков
  • Прокси-кеширование

Кросс-платформенная совместимость

Кросс-платформенная совместимость означает, что независимо от того, какая операционная система работает на сервере, Apache может легко разместить ваш веб-сайт .

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

Обычное использование

Многие планы общего хостинга предлагают серверы Apache, как и многие планы выделенных серверов, поскольку это более экономичный вариант по сравнению с Microsoft Internet Information Services (IIS).

Благодаря своей гибкости и доступности является самым популярным программным обеспечением для веб-серверов, доступным сегодня.

Apache против других веб-серверов

Однако в последние годы Apache уступил место IIS и конкурентам с открытым исходным кодом, таким как Nginx. Несколько лет назад Apache управлял более 60% всех веб-серверов, но в начале 2014 года эта доля упала до 42%.

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

Процессный характер Apache также означает, что создает много накладных расходов на потоки , поскольку для каждого одновременного подключения требуется отдельный поток.Некоторые пользователи считают IIS более привлекательным благодаря беспрецедентной поддержке .NET.

Как получить Apache

с ограниченным бюджетом? Стек LAMP — отличный вариант .

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

Что такое ЛАМПА?

LAMP означает Linux, Apache, MySQL и PHP. Стек LAMP эффективно предоставляет операционную систему, сервер, базу данных и язык сценариев.

Люди, желающие установить Apache на свой компьютер, могут получить его с веб-сайта Apache. Но многие люди предпочитают устанавливать его со стеком LAMP. Используя Ubuntu в качестве операционной системы Linux, люди могут легко установить Apache из командной строки с помощью команды apt-get install.

Что такое виртуальный хост?

Сервер Apache может обслуживать несколько доменов одновременно. Это называется виртуальным хостингом. Вот как хостинговые компании могут предлагать решения для хостинга на общих серверах и предоставлять вам несколько доменов с вашими планами.

Виртуальный хостинг

Виртуальный хостинг — это то, что позволяет одному серверу делиться своими ресурсами с несколькими пользователями. Это позволяет компаниям легко предлагать виртуальный хостинг по низкой цене.

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

Виртуальный хостинг Apache

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

Конфигурация на основе имени использует имя хоста в заголовке HTTP для поиска запрошенного веб-сайта. Таким образом, серверу необходимо иметь только один IP-адрес и указывать несколько веб-сайтов на этот один IP-адрес.

Виртуальный хостинг на базе IP

Однако, когда размещенные веб-сайты совместно используют IP-адрес, люди могут столкнуться с проблемами SSL. Когда вы делитесь IP-адресом с другими пользователями на своем сервере, вы также используете SSL-сертификат .

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

Вот почему многие хостинговые компании предлагают виртуальный хостинг на базе IP за дополнительную плату. Это дает вам ваш собственный IP-адрес, на который вы можете разместить частный сертификат SSL.

Недостатки виртуального хостинга на основе IP

Обратной стороной виртуального хостинга на основе IP является то, что он увеличивает накладные расходы для компаний . Вот почему выделенные IP-адреса часто включаются в более дорогие планы или предлагаются как надстройки.

Виртуальный хост на основе имен Виртуальный хост на основе IP
Идентификатор Несколько имен хостов (каждое со ссылкой на определенный веб-сайт), используемых для указания на один IP-адрес Один выделенный IP-адрес для каждого веб-сайта
Безопасность Трудно защитить веб-сайты с SSL / TLS из-за технической конфигурации виртуального хостинга на основе имени
Стабильность Требуется постоянно доступная система доменных имен для быть пригодным для использования Уникальные IP-адреса снижают вероятность путаницы по поводу того, какой именно веб-сайт запрашивал пользователь. Варианты хостинга Apache

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

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

Экономьте на стоимости хостинга, выбирая Apache

Планы хостинга Apache, как правило, несколько дешевле, чем сопоставимые планы Windows. Имейте в виду, что Apache бесплатный, поэтому большинство хостов сочетают его с бесплатными операционными системами, такими как Linux.Комбинация известна как LAMP, что означает Linux Apache MySQL PHP .

С другой стороны, для хостинга Windows требуются IIS, Microsoft SQL или ODBC и, конечно же, операционная система Microsoft. Требования к оборудованию также могут отличаться.

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

Однако даже эти планы хостинга Apache начального уровня предлагают множество функций — их часто бывает достаточно для сайтов, построенных на популярных платформах , таких как WordPress, Drupal, phpBB и Joomla.

Три наиболее распространенных уровня планов хостинга Apache

Хотя отраслевых стандартов нет и существует ряд различных вариантов, наиболее распространенными планами и ценовыми уровнями являются общие планы Apache, планы виртуального частного сервера (VPS) и управляемый частный сервер (MPS) планы.

Общие планы

Наиболее доступными вариантами обычно являются общие планы Apache, включая облачные планы. Они , как правило, предлагают базовую функциональность , в том числе:

  1. cPanel
  2. MySQL
  3. PHP
  4. Электронная почта POP
  5. Общие сертификаты SSL

Планы VPS

Разработаны более дорогие и комплексные планы VPS (Virtual Private Server) для многосайтового хостинга и сайтов средней нагрузки.

Обычно включают выделенное оборудование , обычно с использованием модели виртуального частного сервера, хостинга с несколькими доменами, большего объема хранилища и других функций.

Выделенные серверы

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

Излишне говорить, что выделенные серверы, как правило, оказываются дорогими независимо от платформы, и в большинстве случаев разница в цене между пакетами LAMP и Windows / IIS, как правило, больше на планах начального уровня.

Мой выбор: три основных хоста Apache

У всех этих трех хостинговых компаний есть очень дешевый хостинг серверов Apache.

GreenGeeks

Для начала, услуги веб-хостинга GreenGeeks на основе Apache оптимизированы для хостинга Apache. Они регулярно обновляют свой сервер Apache, чтобы ваши сайты были быстрыми и безопасными.

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

A2 Hosting

A2 Hosting не включает бесплатное доменное имя. Но они предоставляют Turbo Server для , увеличивая скорость вашего хостинга на 20x . Эти Turbo-серверы предоставляют больше ресурсов для каждого пользователя, потому что на них остается меньше пользователей.Это также повысит производительность пользователей по сравнению с Apache.

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

SiteGround

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

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

Плюсы и минусы Apache

Как любой программный продукт, Apache имеет свои плюсы и минусы. Ниже я выделил основные плюсы и минусы Apache .

Плюсы

  • Веб-сервер Apache полностью бесплатен, потому что это программное обеспечение с открытым исходным кодом
  • Природа сервера с открытым исходным кодом также означает, что за ним стоит сообщество разработчиков, производящее частые обновления
  • Разработчики могут изменять и настраивать исходный код в соответствии с требованиями их потребности
  • Виртуальный хостинг позволяет запускать несколько веб-сайтов с одного сервера
  • В установочный пакет Apache входят DNS, SMTP и FTP.
  • Многочисленные сторонние модули позволяют настраивать ваш веб-сервер.
  • Совместимость с множеством различных операционных систем и конфигураций оборудования.

Минусы

  • Возможность изменения конфигурации сервера добавляет угрозу безопасности сервера
  • Изменение исходного кода приведет к ошибкам
  • Apache необходимо регулярно обновлять
  • Apache может испытывать трудности в ситуациях с высоким трафиком, когда NGINX может работать лучше.

Вердикт: мы рекомендуем SiteGround для хостинга Apache.
Наши читатели в настоящее время могут сэкономить 67% на хостинге SiteGround, используя эту ссылку со скидкой.


Заключение

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

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

Другие функции веб-серверов

Часто задаваемые вопросы об Apache

  • Что такое Apache?

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

  • Кому принадлежит Apache?

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

  • Apache бесплатный?

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

  • В каких операционных системах можно запускать Apache?

    Apache чаще всего используется на серверах Linux, но программное обеспечение также доступно для различных операционных систем, включая Microsoft Windows и Mac OS X.

  • Какие компании веб-хостинга используют серверы Apache?

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

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

  • Почему Apache по-прежнему является наиболее распространенным программным обеспечением для веб-серверов?

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

  • Чем отличается Apache от Nginx?

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

    Сообщество поддерживает Apache более широко, потому что программное обеспечение существует уже много лет.

  • Чем отличается Apache от Lighttpd?

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

  • Что такое сервер, основанный на процессах, и чем он отличается от асинхронного?

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

    С новыми асинхронными серверами (также называемыми основанным на событиях или асинхронным вводом-выводом) несколько HTTP-запросов могут обрабатываться в одном потоке, который использует меньше оперативной памяти и может обрабатывать большие нагрузки более эффективно.

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

  • Какие типы модулей доступны для Apache?

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

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

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

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

  • В чем разница между HTTP-сервером Apache и Apache Tomcat?

    HTTP-сервер Apache написан на C и, как следует из названия, является HTTP-сервером общего назначения. Tomcat написан на Java, и его основная цель — размещать сервлеты и JSP. Tomcat может служить HTTP-сервером для статического содержимого, но HTTP-сервер Apache предлагает множество дополнительных параметров, которых нет в Tomcat.

  • Где доступна поддержка Apache?

    Apache Software Foundation поддерживает обширную документацию по Apache на своем официальном веб-сайте.Сторонние компании предоставляют коммерческую поддержку Apache, но фонд не ведет их список и не поддерживает какие-либо конкретные компании.

О Тони Аллене
Веб-мастер, мама, жонглер. Тони управляет повседневными операциями WhoIsHostingThis. Она заядлый путешественник, альпинист и исследователь природы.

Веб-сервер Apache HTTP и почему он так популярен

Apache — это веб-сервер, разработанный Apache Software Foundation. Согласно опросу, проведенному Netcraft, это самый популярный веб-сервер в мире.И причин его популярности несколько.

Apache является бесплатным и открытым исходным кодом. Он обеспечивает высокий уровень безопасности и хорошо подходит как для больших, так и для небольших веб-сайтов. Apache также может работать в различных операционных системах, включая Unix, Linux, FreeBSD, Windows, Mac OS X и т. Д. Apache совместим с HTTP / 1.1, очень мощный и гибкий. Веб-сервер, в отличие от многих других, страдающих выгоранием, активно разрабатывается группой преданных своему делу программистов.

Рекламные ссылки

Однако Apache почти не поддерживается Apache Software Foundation.Это не значит, что вам не помогут в трудную минуту. Поддержки в списках рассылки и на форумах более чем достаточно.

Apache, работающий в Linux / Unix или FreeBSD, известен своей высокой производительностью.

Идеальная конфигурация для Apache (?)

Многие разработчики считают, что лучший веб-сервер — это тот, который работает под управлением операционной системы Linux, имеет веб-сервер Apache, который поддерживает сценарии PHP и сервер базы данных MySQL — ласково известный как LAMP ( L inux — A pache — ). M ySQL — P л.с.).Причина такого убеждения может заключаться в том, что эти четыре продукта бесплатны. Однако мне хотелось бы думать, что это больше связано с поддержкой сообщества открытого исходного кода. Далее нельзя ограничиваться использованием продукции только одной компании.

Запуск веб-сервера Apache на локальных машинах

Если вы планируете разрабатывать веб-сайты на PHP или Perl, я бы посоветовал вам взять последнюю копию Apache и установить ее на свой компьютер. Например, я запускаю сервер Apache на моем компьютере с Windows XP для тестирования сценариев PHP и Perl.Тестирование и исправление скриптов на моем локальном компьютере экономит мне время, чем попытки работать без подключения к онлайн-серверу.

Вы можете получить последнюю версию веб-сервера Apache HTTP на странице загрузки.

Что такое апач? Краткое описание программного обеспечения веб-сервера

Apache — это программное обеспечение веб-сервера, созданное и поддерживаемое сообществом Apache Software Foundation. Он доступен как отдельно, так и как часть более крупного стека под названием LAMP (Linux, Apache, MySQL, PHP)

.

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

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

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

Среди модулей наиболее важными являются многопроцессорные модули (MPM), поскольку они определяют, как сервер выполняет свою работу. А именно для подключения портов, приема запросов данных и многозадачных процессов. В результате на сервер Apache можно загружать только один MPM за раз.

Unix имеет MPM на основе Prefork, Worker и Event, тогда как Windows имеет MPM WinNT. Их отличает количество дочерних процессов и потоков, которые они могут запускать, а также количество задач, которые они могут выполнять в одном потоке.

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

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

Почему вам следует использовать Apache?

С момента своего создания в 1995 году Apache обслуживает более 44% веб-сайтов в Интернете, и не зря. Ниже приведены аспекты, заслуживающие вашего внимания.

1. Открытый исходный код

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

Есть много известных веб-сайтов, использующих это программное обеспечение, таких как Paypal, BBC и Etsy.

Некоторые крупные компании, такие как Amity Software Systems Limited, Openwave Computing и WillowTree, Inc., также использовали этот веб-сервер как часть стека LAMP.

2. Простота настройки

По сравнению с другим программным обеспечением веб-серверов, таким как NGINX или Litespeed, Apache легко настроить, поскольку он имеет только четыре основных файла конфигурации поверх своей гибкой модульной архитектуры.Их:

  • httpd.conf — основной файл конфигурации, содержащий большую часть настроек. Он определяет, как работает система, место хранения данных и многое другое.
  • access.conf — этот файл настраивает безопасность и определяет, к какой информации пользователь может получить доступ. Начиная с версии 2.0, он объединен с директивой Include в httpd.conf , которая обеспечивает ту же функцию.
  • srm.conf — он обрабатывает ресурсы и где их искать, но он также объединен с основной конфигурацией с использованием той же директивы, что и выше.
  • mime.types — файл настраивает расширения с правильными типами файлов. Последняя часть Apache использует директиву TypeConfig для того же эффекта.

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

И последнее, но не менее важное: если вам нужна помощь, всегда есть активное сообщество, которое может получить техническую поддержку.

3. Многоплатформенный веб-сервер

Apache совместим с несколькими операционными системами, будь то Unix (Linux, Solaris, macOS и другие) или Windows.Установить его на последний особенно легко, поскольку он оснащен удобным графическим интерфейсом пользователя .

4. Поддержка WordPress

WordPress может работать на Apache с небольшими настройками.

Apache поддерживает PHP, на котором написан WordPress. Однако вам необходимо установить модуль, такой как mod_php , или менеджер процессов на основе PHP, такой как PHP-FPM , чтобы заставить его работать. Последний особенно способен оптимизировать скорость для WordPress и совместим с Apache.

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

Недостатки

Хотя Apache известен своими замечательными функциями, у него есть несколько недостатков:

  • Проблемы безопасности — поскольку он легко настраивается, он приводит к нескольким уязвимостям, которые делают его уязвимым для некоторых типов атак, таких как Slowloris.
  • Неэффективность статического содержимого — Apache не так эффективен в обслуживании статических данных по сравнению с NGINX или Litespeed.
  • Отсутствие скорости — по скорости Apache отстает от NGINX и LiteSpeed, которые лучше справляются с более тяжелым трафиком.

Заключение: что такое Apache?

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

Программное обеспечение с открытым исходным кодом , сравнительно легко настроить, , можно использовать на нескольких платформах , и полностью совместим с WordPress .

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

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *