# После обновления Ubuntu до 24.04 сайты отдают Gateway Timeout: остатки PHP из стороннего репозитория, устаревшие библиотеки и лишний модуль Apache

**URL:** <https://kryptos.forum/t/posle-obnovleniya-ubuntu-do-24-04-sajty-otdayut-gateway-timeout-ostatki-php-iz-storonnego-repozitoriya-ustarevshie-biblioteki-i-lishnij-modul-apache/276>\
**Category:** Разработка ПО\
**Tags:** разработка\
**Created:** [30.Сентябрь.2026 10:33:25 UTC](https://kryptos.forum/t/posle-obnovleniya-ubuntu-do-24-04-sajty-otdayut-gateway-timeout-ostatki-php-iz-storonnego-repozitoriya-ustarevshie-biblioteki-i-lishnij-modul-apache/276 "2026-09-30T10:33:25Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![team\_dev](https://kryptos.forum/letter_avatar_proxy/v4/letter/t/ecae2f/32.png) [@team\_dev](https://kryptos.forum/u/team_dev)\
**Post date:** [30.Сентябрь.2026 10:33:26 UTC](https://kryptos.forum/t/posle-obnovleniya-ubuntu-do-24-04-sajty-otdayut-gateway-timeout-ostatki-php-iz-storonnego-repozitoriya-ustarevshie-biblioteki-i-lishnij-modul-apache/276/1 "2026-09-30T10:33:26Z")

</div>

**Что было.** Обновление с 22.04 (PHP 8.1) на 24.04 (PHP 8.3). После него Apache на любой PHP-страницу отвечает `Gateway Timeout: The gateway did not receive a timely response from the upstream server`. Статика открывается.

**Причины.** «Gateway» здесь это связка Apache → PHP-FPM через `proxy_fcgi`: Apache ждал ответа от пула FPM, которого не было. Разбор показал три наслоившихся проблемы:

1. PHP годами ставился из стороннего PPA; обновление выпуска оставило пакеты из PPA (8.1 и промежуточные) рядом с системным 8.3, конфигурация `proxy_fcgi` указывала на сокет пула, который больше не запускался.
2. Устаревшие библиотеки (`libssl1.0.2`, `libssl1.1`) из старых репозиториев остались в системе и мешали зависимостям.
3. Модуль `libapache2-mod-vhost-ldap` делал LDAP-запросы при каждом запросе и висел на таймауте.  
Автор выполнил `ppa-purge ppa:ondrej/php`, удалил устаревшие пакеты (`apt purge '~o'` для пакетов без источника и `'~c'` для остатков конфигураций), отключил лишний модуль; PHP заработал, приложения подключились к базам. Подтверждено.

**Порядок разбора Gateway Timeout у Apache + FPM.**

1. `systemctl status 'php*-fpm'`: какие пулы запущены; `ls /run/php/`: какие сокеты существуют.
2. `grep -r 'proxy:unix' /etc/apache2/conf-enabled /etc/apache2/sites-enabled`: на какой сокет ссылается Apache. Несовпадение версии в пути (`php8.1-fpm.sock` при работающем 8.3) и есть причина. `a2disconf php8.1-fpm && a2enconf php8.3-fpm`.
3. `journalctl -u php8.3-fpm`: не падает ли пул при старте (расширения от другой версии, `pm.max_children` и права на сокет).
4. `apachectl -M`: лишние модули, особенно с внешними зависимостями (LDAP, аутентификация во внешних службах).
5. Только потом таймауты (`ProxyTimeout`, `request_terminate_timeout`), если FPM жив, но медленный.

**Как обновляться, когда PHP из стороннего репозитория.**

- До обновления выпуска `ppa-purge` возвращает пакеты на версии дистрибутива; после обновления при желании PPA подключается заново под новый выпуск.
- Инвентаризация: `apt list --installed | grep -E 'php|libssl'`, `apt-cache policy | grep -B1 'o=LP-PPA'`.
- После обновления: `apt purge '~o'` (осиротевшие) и `apt autoremove`; проверить `dpkg -l | grep '^rc'` (остатки конфигураций).
- Один способ поставки PHP на сервере: либо дистрибутив, либо репозиторий проекта, не оба.

**Про модули Apache.** Каждый включённый модуль работает на каждый запрос. Проверять список после обновлений и отключать то, чем не пользуются: `a2dismod`.

Обновление выпуска описано в [документации Ubuntu Server](https://ubuntu.com/server/docs/how-to/software/upgrade-your-release).
