Стек LAMP (Linux, Apache, MySQL, PHP) после стандартной установки часто работает неполно: PHP-скрипты отдаются как plain text, Apache не обрабатывает .htaccess, а сайт выдаёт ошибку соединения с базой данных — в большинстве таких случаев причина кроется в отсутствующих или неактивных модулях, которые принято называть «плагинами для лампы».

Под плагинами здесь понимаются три разных слоя: модули Apache, расширения PHP и плагины MySQL/MariaDB. У каждого слоя своя система установки и проверки, и путать их — типичная ошибка новичков. Ниже разберём, какие компоненты действительно нужны для рабочего сервера, как проверить их активность и что делать, если нужный модуль не подключается.

Какие слои плагинов существуют в LAMP

Прежде чем что-то устанавливать, важно понять архитектуру. «Плагин для лампы» — не единая сущность, а компонент одного из трёх подсистем. Модуль Apache отвечает за обработку HTTP-запросов, расширение PHP — за возможности интерпретатора, плагин MySQL — за функции СУБД (аутентификация, хранилища, репликация).

Соответственно, диагностика всегда начинается с вопроса: какой именно слой даёт сбой? Если страница отдаётся как текст — проблема на стыке Apache и PHP. Если скрипт ругается на неизвестную функцию — не хватает расширения PHP. Если ошибка на уровне базы — смотрим плагины и настройки MySQL.

  • 🔧 Модули Apache: mod_rewrite, mod_ssl, mod_php (или связка с PHP-FPM), mod_headers
  • 🐘 Расширения PHP: mysqli/pdo_mysql, mbstring, curl, gd, xml, opcache
  • 🗄️ Плагины MySQL/MariaDB: плагины аутентификации, движки хранения, компоненты аудита
  • 🧩 Вспомогательные пакеты: phpmyadmin, certbot для SSL, кэширующие прослойки

Проверка уже установленных модулей

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

apache2ctl -M # Debian/Ubuntu

httpd -M # CentOS/RHEL

Вывод покажет список загруженных модулей. Ищите в нём rewrite_module, ssl_module и модуль интеграции PHP. Для проверки расширений PHP выполните php -m в терминале — получите список подключённых расширений CLI-версии. Учтите нюанс: конфигурация PHP для командной строки и для веб-сервера может различаться, поэтому надёжнее создать тестовый файл с <?php phpinfo(); ?> и открыть его через браузер.

Для MySQL список активных плагинов выводится SQL-запросом:

SHOW PLUGINS;

В колонке Status должно стоять ACTIVE у нужных компонентов. Если плагин в статусе DISABLED или отсутствует вовсе — его потребуется установить или активировать через конфигурацию сервера.

💡

Проверяйте модули именно в том контуре, где работает сайт: CLI-версия PHP и веб-версия могут иметь разные наборы расширений.