Реализация обновлений на сервере Apache / TOMCAT

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

Но мне нужно более глубокое понимание того, как Apache обычно применяет обновления для своих продуктов. Например, Apache Server, как правило, исправляется, как Windows, и требует многократных обновлений, или исправления объединены, и выпущена новая версия?

если нужна дополнительная информация, пожалуйста, дайте мне знать.

Спасибо

1 ответ

Решение

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

Apache httpd (веб-сервер Apache) обычно вообще не предоставляет бинарный дистрибутив, а только исходный дистрибутив. Двоичные дистрибутивы (скомпилированные файлы, такие как.exe, готовые к запуску) предоставляются другими, например, дистрибутивы Linux компилируют их для различных платформ Linux. Я не знаю, предоставляет ли какой-либо из этих дистрибутивов прогрессивные бинарные патчи.

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

Также имейте в виду систему управления версиями, используемую в Apache Software Foundation. Обычно он основан на major.minor.revision . Например, версия 1.2.3 означает основную версию 1, второстепенную версию 2, редакцию 3.

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

Младшие, как правило, совместимы с исходным кодом (ваш пользовательский код с использованием внутренних компонентов Apache Httpd или Apache Tomcat по-прежнему будет компилироваться и, вероятно, будет работать правильно), но не совместим с двоичным кодом (ваш пользовательский код необходимо перекомпилировать). Таким образом, обновление может быть опасным, возможно, потребуется перекомпилировать модули http и настройку tomcat.

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

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

Если вы хотите настроить автоматическое обновление Apache Httpd и Apache Tomcat в системе вашего клиента, это сильно зависит от платформы, на которую вы ориентируетесь, поскольку обычно оба сервера могут работать как службы, запускаются пользователем root (Administrator) и т. П. осложнения делают это не всегда тривиальной задачей.

В большинстве дистрибутивов Linux уже есть менеджеры пакетов, которые большую часть времени корректно обрабатывают обновления. В Windows есть несколько упакованных Apache Httpd, которые также обычно поставляются в комплекте с PHP, MySql и другим программным обеспечением, используемым для веб-разработки, которые выполняют самообновления.

Другие вопросы по тегам