Обновление Apache на Debian 13, 12, 11: подробное руководство

На момент написания (март 2026) во всех актуальных версиях Debian (11, 12, 13) доступен Apache 2.4.66 из стандартных репозиториев. Обычное обновление через apt upgrade уже даёт вам эту версию. Однако есть сценарии, когда нужно перейти на пакеты из репозитория Ondrej Sury: если вы хотите более частые обновления (не дожидаясь security-обновлений Debian), или если на сервере уже используются другие пакеты Sury (например, PHP). Главные сложности для новичка: не перепутать способы добавления репозитория (extrepo vs ручной), не создать конфликт Signed-By (не использовать оба способа одновременно), а также правильно настроить UFW после обновления.

💡 В этом руководстве вы обновите Apache на Debian тремя способами: через стандартные репозитории Debian (рекомендовано для большинства), через extrepo (Sury) и ручным добавлением репозитория Sury. Вы также узнаете, как проверить версию, настроить UFW и решить типичные проблемы.

В этой статье вы узнаете:

  • Как обновить Apache из стандартных репозиториев Debian
  • Как перейти на пакеты Apache из репозитория Ondrej Sury через extrepo
  • Как перейти на пакеты Apache из репозитория Sury вручную (DEB822)
  • Как проверить, из какого источника установлен Apache
  • Как настроить UFW после обновления
  • Как решить типичные проблемы: конфликт Signed-By, порт уже занят, отсутствие модулей

Для кого: администраторы веб-серверов, которые хотят обновить Apache на Debian 11, 12 или 13.

Оглавление

1. 🔧 Предварительные требования

Перед обновлением убедитесь, что:

  • У вас установлена Debian 11, 12 или 13
  • Apache уже установлен (если нет — сначала установите Apache)
  • Подключение к интернету стабильно
  • У вас есть права sudo

⚠️ ВАЖНО: Проверьте права sudo перед установкой

Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:

sudo whoami

Что делает: sudo выполняет команду от имени суперпользователя, whoami показывает имя текущего пользователя.

Зачем: Эта команда проверяет, есть ли у вас права sudo. Без них вы не сможете обновлять пакеты.

✅ Если выводит root — всё в порядке, можете продолжать.

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.

1.1 Обновление системы

Перед обновлением всегда обновляйте список пакетов.

sudo apt update && sudo apt upgrade -y

Что делает: Обновляет список пакетов и устанавливает последние обновления.

2. 📊 Сравнение способов обновления Apache

В Debian есть три основных способа обновления/переключения Apache. Вот их сравнение:

МетодОткудаВерсияКогда использовать
Стандартный APTРепозитории Debian2.4.66 (latest)Для большинства
серверов
обновление через
apt upgrade уже даёт
актуальную версию
extrepo (Sury)Репозиторий Sury
через extrepo
2.4.66 (Sury build)Если вы уже
используете другие
пакеты Sury (PHP) или
хотите более частые
обновления
Ручной DEB822 (Sury)Репозиторий Sury2.4.66 (Sury build)Если не хотите
устанавливать
extrepo, но нужны
пакеты Sury

💡 Рекомендация: Для большинства серверов достаточно стандартного sudo apt upgrade. Переход на Sury имеет смысл только если вы уже используете репозиторий Sury для PHP или других пакетов.

3. 📦 Способ 1: Обновление Apache из стандартных репозиториев Debian (рекомендованный)

Этот способ подходит для большинства пользователей.

3.1 Обновление Apache

sudo apt install --only-upgrade apache2 -y

Что делает: Обновляет только Apache (если он уже установлен), не трогая другие пакеты.

3.2 Проверка версии

sudo apache2 -v

Ожидаемый вывод:

Server version: Apache/2.4.66 (Debian)

3.3 Проверка источника пакета

apt-cache policy apache2

Ожидаемый вывод: В строке Version table должен быть http://deb.debian.org/debian.

4. 📦 Способ 2: Переход на репозиторий Sury через extrepo

Этот способ подходит, если вы хотите перейти на пакеты Apache из репозитория Ondrej Sury (например, для единообразия с PHP).

4.1 Установка extrepo и включение репозитория Sury для Apache

sudo apt install extrepo -y
sudo extrepo enable sury_apache2

4.2 Обновление списка пакетов

sudo apt update

4.3 Установка/обновление Apache из репозитория Sury

sudo apt install apache2 -y

Что делает: Если Apache уже был установлен из Debian, APT переключит его на пакет из Sury.

4.4 Проверка источника

apt-cache policy apache2

Ожидаемый вывод: В строке Version table должен быть https://packages.sury.org/apache2.

5. 📦 Способ 3: Переход на репозиторий Sury вручную (DEB822)

Этот способ подходит, если вы не хотите устанавливать extrepo.

5.1 Установка зависимостей

sudo apt install ca-certificates curl lsb-release -y

5.2 Установка keyring-пакета Sury

curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
sudo dpkg -i /tmp/debsuryorg-archive-keyring.deb

5.3 Создание файла репозитория (DEB822)

sudo tee /etc/apt/sources.list.d/apache2-sury.sources > /dev/null <<EOF
Types: deb
URIs: https://packages.sury.org/apache2/
Suites: $(lsb_release -cs)
Components: main
Architectures: $(dpkg --print-architecture)
Signed-By: /usr/share/keyrings/debsuryorg-archive-keyring.gpg
EOF

5.4 Обновление и установка

sudo apt update
sudo apt install apache2 -y

6. 🔥 Настройка UFW после обновления

Если вы используете UFW, убедитесь, что Apache разрешён.

6.1 Разрешить Apache

sudo ufw allow 'Apache Full'

6.2 Проверка правил

sudo ufw status

7. ⚠️ Решение типичных проблем

7.1 Ошибка: Conflicting values set for option Signed-By

Симптом: sudo apt update выдаёт ошибку:

Error: Conflicting values set for option Signed-By regarding source https://packages.sury.org/apache2/

Причина: Вы добавили репозиторий Sury и через extrepo, и вручную.

Решение: Удалите один из способов.

Если хотите оставить extrepo:

sudo rm -f /etc/apt/sources.list.d/apache2-sury.sources
sudo apt remove -y debsuryorg-archive-keyring
sudo apt update

Если хотите оставить ручной способ:

sudo rm -f /etc/apt/sources.list.d/extrepo_sury_apache2.sources
sudo rm -f /var/lib/extrepo/keys/sury_apache2.asc
sudo apt update

7.2 Ошибка: Address already in use (порт 80 или 443)

Симптом: Apache не запускается, systemctl status apache2 показывает failed.

Причина: Другой веб-сервер (например, Nginx) уже слушает порт 80.

Решение: Остановите конфликтующий сервис:

sudo systemctl stop nginx
sudo systemctl start apache2

7.3 Отсутствуют модули после переключения на Sury

Симптом: Виртуальный хост требует mod_rewrite, но модуль не загружен.

Решение: Включите нужные модули:

sudo a2enmod rewrite
sudo systemctl restart apache2

8. 🔄 Откат на стандартные пакеты Debian (если перешли на Sury)

Если вы решили вернуться к стандартным пакетам Debian.

8.1 Удаление пакетов Apache

sudo systemctl stop apache2
sudo apt remove --purge apache2 apache2-bin apache2-data apache2-utils -y
sudo apt autoremove -y

8.2 Удаление репозитория Sury

Для ручного способа:

sudo rm -f /etc/apt/sources.list.d/apache2-sury.sources
sudo apt remove -y debsuryorg-archive-keyring

Для extrepo:

sudo extrepo disable sury_apache2
sudo rm -f /etc/apt/sources.list.d/extrepo_sury_apache2.sources
sudo rm -f /var/lib/extrepo/keys/sury_apache2.asc

8.3 Установка Apache из Debian

sudo apt update
sudo apt install apache2 -y

9. 📝 Чек-лист: всё готово к работе

  • [ ] Система обновлена (sudo apt update && sudo apt upgrade -y)
  • [ ] Выбран и выполнен один из способов обновления (Debian / extrepo Sury / ручной Sury)
  • [ ] sudo apache2 -v показывает Apache/2.4.66
  • [ ] systemctl status apache2 показывает active (running)
  • [ ] UFW разрешает Apache Full (если используется)
  • [ ] Сайт открывается без ошибок

Заключение

Вы обновили Apache на Debian. Если вы использовали стандартные репозитории — ничего не меняли, просто получили актуальную версию. Если перешли на репозиторий Sury — теперь вы будете получать обновления Apache из этого источника. Главное, что нужно запомнить: во всех актуальных Debian уже есть Apache 2.4.66, так что переход на Sury нужен только если вы уже используете другие пакеты Sury. Не используйте одновременно extrepo и ручной способ — это вызовет конфликт Signed-By.

Что дальше:

  • Настройте SSL-сертификаты Let’s Encrypt
  • Установите PHP для динамических сайтов
  • Настройте Fail2Ban для защиты
  • Для увеличения производительности рассмотрите Nginx как reverse-прокси