Как откатить Apache 2.4 до 2.2 в Ubuntu
Пошаговый откат Apache 2.4 на 2.2 через репозиторий Ubuntu 12.04 и закрепление пакетов. Когда это было нужно и почему сегодня так делать не стоит.
Актуальность. Статья 2014 года. Откат был нужен для веб-клиента 1С, который тогда не работал с Apache 2.4. Современные версии платформы 1С:Предприятие 8.3 публикуются на Apache 2.4 (ключ -apache24 у утилиты webinst), а Ubuntu 12.04 давно не поддерживается. Используйте инструкцию только для старых серверов, которые нельзя обновить.
Когда это нужно
Старые модули Apache (например, модуль веб-публикации ранних версий 1С) собирались только под ветку 2.2. Если обновить их нельзя, Apache откатывают до 2.2 и запрещают системе обновлять его обратно.
1. Подключаем репозиторий Ubuntu 12.04
Удалите установленный Apache, затем создайте файл источника пакетов:
sudo nano /etc/apt/sources.list.d/ubuntu1204.list
Добавьте в него строку:
deb http://old-releases.ubuntu.com/ubuntu/ precise main
Репозитории Ubuntu 12.04 перенесены на old-releases.ubuntu.com, поэтому старый адрес ru.archive.ubuntu.com больше не работает.
2. Закрепляем версию Apache
Создайте файл /etc/apt/preferences.d/apache22:
Package: apache*
Pin: release a=precise
Pin-Priority: 500
3. Устанавливаем
sudo apt-get update
sudo apt-get install apache2
apache2 -v
Команда apache2 -v должна показать версию 2.2.x.
Что важно учесть
- Apache 2.2 не получает обновлений безопасности с 2017 года. Не открывайте такой сервер в интернет напрямую.
- Синтаксис конфигурации 2.2 и 2.4 отличается (например,
Order allow,denyвместоRequire all granted). - Если откат нужен для 1С — сначала проверьте, не решает ли задачу обновление платформы.