Стек 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/Ubuntuhttpd -M # CentOS/RHEL
Вывод покажет список загруженных модулей. Ищите в нём rewrite_module, ssl_module и модуль интеграции PHP. Для проверки расширений PHP выполните php -m в терминале — получите список подключённых расширений CLI-версии. Учтите нюанс: конфигурация PHP для командной строки и для веб-сервера может различаться, поэтому надёжнее создать тестовый файл с <?php phpinfo(); ?> и открыть его через браузер.
Для MySQL список активных плагинов выводится SQL-запросом:
SHOW PLUGINS;В колонке Status должно стоять ACTIVE у нужных компонентов. Если плагин в статусе DISABLED или отсутствует вовсе — его потребуется установить или активировать через конфигурацию сервера.
💡Проверяйте модули именно в том контуре, где работает сайт: CLI-версия PHP и веб-версия могут иметь разные наборы расширений.