Как обновить apache debian

Обновлено: 06.07.2024

На моем компьютере с Debian текущая версия apache2 - 2.4.10:

Я хотел бы обновить Apache до последней версии (как минимум 2.4.26): Я пытался:

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

введите описание изображения здесь

@wawanopoulos: Джесси по- прежнему поддерживается, поэтому вы должны ожидать появления патчей безопасности или бэкпортов, даже если номер версии отличается от исходного. Они исправлены в пакете Debian. Отчет Tenable основан исключительно на номерах версий, что, к сожалению, не работает со многими дистрибутивами.

Ручное обновление для обеспечения безопасности не требуется и, вероятно, вредно.

Как Debian выпускает программное обеспечение

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

Но что, если после выпуска стабильной версии Debian обнаружится серьезная ошибка или проблема безопасности? Они исправлены в версии программного обеспечения, поставляемой со стабильной версией Debian . Таким образом, если стабильная версия Debian поставляется с Apache 2.4.10 , проблема безопасности обнаружена и устранена 2.4.26 , Debian примет это исправление безопасности, применяет его 2.4.10 и распространяет исправленные исправления. 2.4.10 среди своих пользователей. Это сводит к минимуму сбои при обновлении версий, но делает анализ версий, такой как Tenable, бессмысленным.

Серьезные ошибки собираются и исправляются в точечных выпусках ( .9 в Debian 8.9 ) каждые несколько месяцев. Исправления безопасности исправляются немедленно и предоставляются через канал обновления.

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

Ваш надежный отчет

Чтобы проверить, уязвима ли стабильная версия Debian для ваших проблем, в Tenable «2.4.x <2.4.27 много проблем» бесполезно. Нам нужно точно знать, о каких проблемах безопасности они говорят. К счастью, каждой существенной уязвимости присвоен идентификатор Common Vulnerability and Exposures (CVE), поэтому мы можем легко говорить о конкретных уязвимостях.

Например, на этой странице для проблемы Tenable 101788 мы видим, что эта проблема связана с уязвимостями CVE-2017-9788 и CVE-2017-9789. Мы можем искать эти уязвимости в трекере безопасности Debian . Если мы это сделаем, то увидим, что CVE-2017-9788 имеет статус «исправлено» в версии или ранее 2.4.10-10+deb8u11 . Кроме того, CVE-2017-9789 исправлен .

Так что, если вы используете версию 2.4.10-10+deb8u11 , вы должны быть защищены от всех этих уязвимостей! Вы можете проверить это с помощью dpkg -l apache2 (убедитесь, что ваш терминал достаточно широк, чтобы показать полный номер версии).

Будьте в курсе

Итак, как вы убедитесь, что вы в курсе этих обновлений безопасности?

Во-первых, вам нужно иметь репозиторий безопасности в вашем /etc/apt/sources.list или /etc/apt/sources.list.d/* что-то вроде этого:

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

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

Судя по тому, что вы сообщаете о своей версии Debian как 8.8 (мы находимся на 8.9) и . and 48 not upgraded. из вашего поста, вы можете сделать это в ближайшее время.

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

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

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

Почему обновление себя вредно

Во втором предложении я сказал, что обновление до последней версии Apache, вероятно, вредно .

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

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

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

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

Продолжительность обновлений безопасности

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

Выпуск, который вы запускаете, Debian 8 / jessie , является устаревшим стабильным выпуском ( oldstable в терминах Debian). Он получит полную поддержку безопасности до мая 2018 года и долгосрочную поддержку до апреля 2020 года. Я не совсем уверен, какова степень этой поддержки LTS.

Текущий стабильный выпуск Debian - Debian 9 / stretch . Рассмотрите возможность обновления до Debian 9 , который поставляется с более новыми версиями всего программного обеспечения и полной поддержкой безопасности в течение нескольких лет (вероятно, до середины 2020 года). Я рекомендую обновление в удобное для вас время, но задолго до мая 2018 года.

Заключительные замечания

Ранее я писал, что исправления безопасности в Debian backports. Это оказалось несостоятельным для некоторых программ из-за высоких темпов разработки и высокого уровня проблем безопасности. Эти пакеты являются исключением и фактически обновлены до последней версии апстрима. Пакеты, которые я знаю об этом, относятся к chromium (браузер), firefox и nodejs .

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

Я слышал замечания, которые вы здесь делаете, но они были бы намного более заметными, если сравнивать Stretch (стабильный) и Sid (нестабильный). В любом случае, Stretch получает большую часть внимания, и к обновлениям безопасности применяются те же правила. Главной причиной oldstable является устаревшая поддержка всех тех ленивых системных администраторов или просто тех, у которых есть внутренние программные зависимости, которые не были обновлены. Не могли бы вы продемонстрировать заметное различие в безопасности, используя стабильный против старого стабильного? @jdwolf Насколько я знаю, пока поддерживается oldstable, он получает столько же поддержки безопасности, сколько и стабильный. Я управляю несколькими десятками машин Debian, в настоящее время это смесь Джесси и Стретч, и я читаю все DSA, которые мне подходят. Я никогда не замечал, что шаблон oldstable не получает достаточного внимания. Если вы когда-либо читали DSA, вы можете увидеть, что они склонны перечислять фиксированную версию для стабильной и старой (обычно вместе с информацией о тестировании и нестабильной версии) в одном и том же объявлении. Я понимаю, что ваш пост создает впечатление, что обновление от oldstable к stable - это плохо. @jdwolf Это совсем не мое намерение! На самом деле, я рекомендую стабильную версию поверх старой (если это позволяет ситуация). Из какой части вы получаете это впечатление? Я немного отредактировал свой пост; надеюсь, теперь стало понятнее, я не защищаю oldstable вместо stable.

Debian Jessie по-прежнему поддерживается, и исправления безопасности, предоставленные в более новых версиях, были перенесены в пакет, доступный в Jessie (2.4.10-10 + deb8u11, что означает, что с момента выпуска Jessie было 11 обновлений). Все известные исправимые уязвимости в Apache исправлены в пакете Jessie ; до тех пор, пока вы обновляете свою установку, вы должны быть в безопасности. Будущие уязвимости будут по-прежнему исправляться в Jessie, пока они поддерживаются.

Маловероятно, что более новая версия когда-либо будет перенесена на Джесси. Как указано выше, вы в безопасности, если останетесь на Джесси, если это поддерживается; если вам нужны более новые функции, недоступные в 2.4.10, вам необходимо выполнить обновление до Debian 9.

Вы используете Debian Jessie, которая является старой стабильной версией Debian. Последняя версия Apache в Jessie: 2.4.10.

Таким образом, у вас есть два варианта: запустить apt dist-upgrade и перейти на Debian Stretch, или вы можете подождать, пока он будет доступен в бэкпортах.

Как установить или обновить Apache до последней версии на Debian 11 Bullseye

В следующем уроке вы узнаете как Обновиться до последней версии веб-сервера Apache на Debian 11 Bullseye.

Предпосылки

  • Рекомендуемая ОС:Debian 11 "Яблочко"
  • Учетная запись пользователя: Учетная запись пользователя с sudo privilages or root-доступ (команда su).
  • Необходимые пакеты: виться

Обновление операционной системы

Обновите свою Debian 11 операционной системы, чтобы убедиться, что все существующие пакеты обновлены:

Root или Sudo доступ

По умолчанию, когда вы создаете свою учетную запись при запуске с Debian по сравнению с другими дистрибутивами, он не получает автоматически статус sudoers. У вас должен быть доступ к пароль root использовать команда su или посетите наш учебник по Как добавить пользователя в Sudoers в Debian.

Установить пакет CURL

В учебнике будет использоваться пакет curl; сначала проверьте, присутствует ли пакет:

Пример вывода, если он установлен:

Если у вас не установлен curl, используйте следующую команду:

Установить последнюю версию Apache

Добавление репозитория Apache репозиторием Ондржея Сури

Первый шаг - импортировать и установить веб-сервер Apache до последней версии - добавить репозиторий с помощью Ондржея Сури. Для тех, кто не знаком, Ондржей занимается сопровождением PHP в Debian.

Чтобы добавить репозиторий, используйте следующую команду в своем терминале:

Обновите свой репозиторий, чтобы отразить новое изменение:

Теперь, когда вы установили Apache репозиторий и обновили список репозиториев, установите Apache2 со следующим:

установить последнюю версию apache debian 11

Тип Y, затем нажмите клавишу ввода чтобы продолжить и завершить установку.

Затем подтвердите, что установка прошла успешно, подтвердив новую сборку:

Теперь убедитесь, что Apache запущен, используя команду systemctl:

systemctl status ok последний apache2 debian 11

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

Чтобы включить Apache при загрузке системы, используйте следующее:

Пример вывода в случае успеха:

Эта версия всегда будет поддерживаться и обновляться, когда будет доступна новая версия Apache; Ондржей Сури обычно обновляет в течение нескольких дней до нескольких недель, поскольку он поддерживает построенные репозитории PHP, Nginx и Apache; он соответствует своему обновлению.

По желанию. Настроить брандмауэр UFW для Apache

После установки веб-сервера Apache 2 вам нужно будет изменить Правила UFW, если у вас установлен UFW. Чтобы разрешить внешний доступ к веб-портам по умолчанию. К счастью, во время установки Apache регистрируется в UFW, чтобы предоставить несколько профилей, которые можно использовать для включения или отключения доступа, что упрощает и ускоряет настройку.

Если вы хотите установить брандмауэр UFW, выполните следующую команду:

После установки UFW разрешите UFW запускаться и быть активным при загрузке системы.

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

В этом руководстве, поскольку мы не настроили SSL, мы включим профиль (Apache) с помощью следующей команды:

Как и выше, правила были добавлены как для IPV4, так и для IPV6. Позже вы можете отключить этот профиль и включить только безопасный режим или отключить правило Apache и использовать вместо него правило Apache Full.

Как обновлять Apache

Чтобы обновить Apache в будущем, все, что вам нужно сделать, это запустить команда обновления apt поскольку новый репозиторий добавляется в список подходящих источников:

Если он доступен, обновите Apache следующим образом:

Или обновите Apache самостоятельно:

Это все, что вам нужно сделать, чтобы ваша версия оставалась актуальной.

Комментарии и заключение

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

In my Debian machine, the current version of apache2 is 2.4.10:

I would like to upgrade apache to a latest version (at least 2.4.26): I tried:

But it doesn't find any update. What can i do to upgrade to a latest version ?

enter image description here


61.7k 9 9 gold badges 168 168 silver badges 264 264 bronze badges


271 1 1 gold badge 2 2 silver badges 8 8 bronze badges @wawanopoulos: Jessie is still supported so you should expect security patches or backports to show up even if the version number differs from upstream. They are fixed in the Debian package. The Tenable report is based purely on version numbers, which unfortunately doesn’t work with many distribution packages.

6 Answers 6

Manual upgrading for security is unnecessary and probably harmful.

How Debian releases software

To see why this is, you must understand how Debian deals with packaging, versions, and security issues. Because Debian values stability over changes, the policy is to freeze the software versions in the packages of a stable release. This means that for a stable release very little changes, and once things work they should continue working for a long time.

But, what if a serious bug or security issue is discovered after release of a Debian stable version? These are fixed, in the software version provided with Debian stable. So if Debian stable ships with Apache 2.4.10 , a security issue is found and fixed in 2.4.26 , Debian will take this security fix, and apply it to 2.4.10 , and distribute the fixed 2.4.10 to its users. This minimizes disruptions from version upgrades, but it makes version sniffing such as Tenable does meaningless.

Serious bugs are collected and fixed in point releases (the .9 in Debian 8.9 ) every few months. Security fixes are fixed immediately and provided through an update channel.

In general, as long as you run a supported Debian version, stick to stock Debian packages, and stay up to date on their security updates, you should be good.

Your Tenable report

To check if Debian stable is vulnerable for your issues, Tenable's "2.4.x < 2.4.27 multiple issues" is useless. We need to know exactly which security issues they are talking about. Luckily, every significant vulnerability is assigned a Common Vulnerability and Exposures (CVE) identifier, so we can talk easily about specific vulnerabilities.

For example, on this page for Tenable issue 101788 we can see that that issue is about vulnerabilities CVE-2017-9788 and CVE-2017-9789. We can search for these vulnerabilities on the Debian security tracker. If we do that, we can see that CVE-2017-9788 has the status "fixed" in or before version 2.4.10-10+deb8u11 . Likewise, CVE-2017-9789 is fixed.

So if you're on version 2.4.10-10+deb8u11 , you should be safe from all these vulnerabilities! You can check this with dpkg -l apache2 (ensure your terminal is wide enough to show the full version number).

Staying up to date

So, how do you ensure you're up to date with these security updates?

First, you need to have the security repository in your /etc/apt/sources.list or /etc/apt/sources.list.d/* , something like this:

This is a normal part of any installation, you should not have to do anything special.

Next, you must ensure that you install updated packages. This is your responsibility; it is not done automatically. A simple but tedious way is to log in regularly and run

Judging from the fact that you report your Debian version as 8.8 (we're at 8.9) and the . and 48 not upgraded. from your post, you might want to do this soon.

To be notified of security updates, I higly recommend subscribing to the Debian security announcements mailinglist.

Another option is ensuring your server can send you emails, and installing a package like apticron, which emails you when packages on your system need updating. Basically, it regularly runs the apt-get update part, and pesters you to do the apt-get upgrade part.

Finally, you could install something like unattended-upgrades, which not only checks for updates, but automatically installs the updates without human intervention. Upgrading the packages automatically without human supervision carries some risk, so you need to decide for yourself if that is a good solution for you. I use it and I'm happy with it, but caveat updator.

Why upgrading yourself is harmful

In my second sentence, I said upgrading to the latest Apache version is probably harmful.

The reason for this is simple: if you follow Debian's version of Apache, and make a habit of installing the security updates, then you are in a good position, security-wise. Debians security team identifies and fixes security issues, and you can enjoy that work with minimal effort.

If, however, you install Apache 2.4.27+, say by downloading it from the Apache website and compiling it yourself, then the work of keeping up with security issues is fully yours. You need to track security issues, and go through the work of downloading/compiling/etc every time a problem is found.

It turns out this is a fair amount of work, and most people slack off. So they end up running their self-compiled version of Apache that becomes more and more vulnerable as issues are found. And so they end up a lot worse than if they simply had followed Debian's security updates. So yes, probably harmful.

That's not to say there's no place for compiling software yourself (or selectively taking packages from Debian testing or unstable), but in general, I recommend against it.

Duration of security updates

Debian doesn't maintain its releases forever. As a general rule, a Debian release recieves full security support for one year after it has been obsoleted by a newer release.

The release you're running, Debian 8 / jessie , is an obsoleted stable release ( oldstable in Debian terms). It will receive full security support until May 2018, and long-term support until April 2020. I'm not entirely sure what the extent of this LTS support is.

The current Debian stable release is Debian 9 / stretch . Consider upgrading to Debian 9, which comes with newer versions of all software, and full security support for several years (likely until mid-2020). I recommend upgrading at a time that is convenient for you, but well before May 2018.

Closing remarks

Earlier, I wrote that Debian backports security fixes. This ended up being untenable for some software due to the high pace of development and high rate of security issues. These packages are the exception, and actually updated to a recent upstream version. Packages I know of this applies to are chromium (the browser), firefox , and nodejs .

Finally, this entire way of dealing with security updates is not unique to Debian; many distributions work like this, especially the ones that favour stability over new software.

В этой статье я объясню, как установить Apache сервер на операционной системе Debian/Ubuntu.

Эта инструкция была выполнена на операционных системах: Debian 10, Debian 9, Ubuntu 20.10, Ubuntu 20.04, Ubuntu 19.10.

Установка сервера Apache

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

Установим сервер Apache, выполнив команду в терминале:

Команда установки Apache

Проверка статуса Apache

Давайте проверим, включен ли Apache для автоматического запуска при загрузке системы, выполнив команду в терминале (ожидаемый результат "enabled"):

Давайте проверим, активен ли Apache в данный момент времени, выполнив команду в терминале (ожидаемый результат "active"):

Мы также можем проверить статус Apache с дополнительной информацией о сервисе, выполнив команду в терминале:

Проверка статуса Apache

Если Apache сервер не установлен, при проверке статуса будет отображаться ошибка:

Ошибка проверки статуса Apache

Тестирование доступа к Apache

Давайте убедимся, что сервер Apache работает, введя IP-адрес вашего сервера в браузер:

или для локального хоста

Если все хорошо, вы увидите страницу приветствия Apache:

Тестирование PHP на Apache

Установим PHP, выполнив команду в терминале:

Создадим тестовый файл, который будет возвращать информацию о нашем сервере, выполнив команду в терминале:

Давайте убедимся, что Apache сервер корректно отображает содержимое, сгенерированное PHP скриптом, открыв данную страницу в браузере:

или для локального хоста

Будет отображаться похожая страница:

Тестирование PHP на Apache

После проверки в целях безопасности вам необходимо удалить этот файл, выполнив команду в терминале:

Управление процессами Apache

Для управления сервером вам могут понадобиться следующие команды.

Запуск Apache

Запустим сервер Apache, выполнив команду в терминале:

Остановка Apache

Остановим сервер Apache, выполнив команду в терминале:

Перезапуск Apache

Перезапустим сервер Apache, выполнив команду в терминале:

Проверка конфигурации Apache

Перед перезапуском сервера Apache необходимо проверить конфигурацию на валидность, выполнив команду в терминале:

Перезагрузка конфигурации Apache

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

Читайте также: