Назад | Перейти на главную страницу

Внедрение обновлений на сервере Apache / TOMCAT

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

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

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

Спасибо

Насколько мне известно, 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 (администратором) и т. Д. сложности делают это не всегда тривиальной задачей.

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