Руководства и туториалы

Как установить LAMP стек на VPS: пошаговая инструкция без лишней воды

Поделиться:

На прошлой неделе тебе на почту пришло уведомление о продлении управляемого хостинга.

Ого.

Сумма больше, чем ты помнишь. Твой тариф за $9 в месяц теперь каким-то образом стоит $34 в месяц. В маркетинговом письме это назвали «корректировкой тарифа».

Цена — это даже не самая раздражающая часть. План, который ты оформил три года назад, теперь совсем другой, и никто тебя не спросил. Ты не можешь ssh подключиться к серверу. Ты не можешь изменить версию PHP без подачи заявки. Хостинг-провайдер не считает, что сдаёт тебе сервер в аренду. Он считает, что продаёт тебе разрешение на запуск сайта.

LAMP по-прежнему является средой выполнения PHP по умолчанию в публичном вебе. Более четырёх из каждых десяти сайтов работают на приложении LAMP под названием WordPress. За последнее десятилетие изменилось то, что управляемые хостинги обернули LAMP в панель управления и начали брать больше денег за меньшее. VPS снимает эту панель управления обратно.

Самостоятельная установка LAMP занимает около пяти шагов плюс одно ключевое решение (PHP-FPM, а не mod_php), которое большинство старых руководств описывают неправильно. Вот как это сделать — и как понять, стоит ли тебе вообще заниматься самостоятельным управлением.

Что такое стек LAMP?

How to Install a LAMP Stack on a VPS

Стек LAMP — это четырёхкомпонентная среда выполнения, которая обслуживает большинство PHP-приложений в интернете. Linux — операционная система, Apache — веб-сервер, MySQL (или MariaDB) — база данных, PHP — код приложения. Это стандартный стек с открытым исходным кодом с начала 2000-х. Версии менялись, форма осталась прежней.

Букву «L» можно выбирать: подойдут Ubuntu, AlmaLinux, Debian и Rocky. Выбери одну и двигайся дальше. Для большинства людей в 2026 году правильным ответом для нового развёртывания будет Ubuntu 24.04 LTS. Это текущая версия по умолчанию для новых установок, и многие production-серверы всё ещё работают на 22.04 LTS, которая получает поддержку до 2027 года.

По данным W3Techs на июнь 2026 года, PHP работает на 70,8% всех сайтов с известным серверным языком. (Очевидно, PHP не умер.) Только WordPress работает на 41,5% всех сайтов, и это приложение LAMP по своей сути. Другими словами, если у тебя сайт на WordPress, ты уже используешь LAMP. Просто, возможно, не владеешь сервером.

Запуск LAMP на VPS по сравнению с общим или управляемым хостингом даёт тебе три вещи:

  • Полный root-доступ: ты решаешь, какие модули PHP установлены, какую конфигурацию Apache использовать и на каком порту слушает база данных.
  • Отсутствие шума от соседей: VPS получает гарантированную долю CPU и RAM. Твой всплеск трафика не конкурирует с остальными на том же хосте.
  • Предсказуемое ценообразование: фиксированная ежемесячная стоимость, которая не удваивается, когда «безлимитный» общий тариф решает, что потребление CPU слишком велико.

Плата за это — всё, что находится между ядром и твоим приложением, теперь твоя работа.

Получайте контент прямо на почту

Подпишитесь сейчас, чтобы получать все последние обновления прямо на ваш почтовый ящик.

Какой VPS тебе на самом деле нужен для стека LAMP?

VPS с 4 ГБ ОЗУ, 2 vCPU и NVMe SSD хранилищем комфортно справляется с типичным LAMP-приложением — один WordPress-сайт, небольшое Laravel-приложение или пара PHP-сайтов с низким трафиком. Масштабируйся только тогда, когда нагрузка этого потребует.

НагрузкаОЗУvCPUХранилищеПримечания к уровню
Один WordPress-сайт, низкий-средний трафик2–4 ГБ240–60 ГББазовый Stack 4
Хостинг для нескольких сайтов (5–15 сайтов)4–8 ГБ2–480–120 ГБStack 4 до Stack 8
WordPress с высоким трафиком или магазин WooCommerce8–16 ГБ4+100+ ГБStack 8 и выше
Пользовательское PHP-приложение с тяжёлой базой данных8–16 ГБ4+100+ ГБStack 8 и выше

Несколько важных замечаний по размеру:

  • NVMe важнее, чем кажется. MySQL постоянно пишет — binlog, журнал перезаписи InnoDB, файлы таблиц. Старый SATA SSD технически работает, но ты почувствуешь тормоза при первом импорте базы данных.
  • ОЗУ обычно является узким местом. PHP-FPM держит рабочие процессы в памяти; MySQL держит буферный пул InnoDB. Если ОЗУ заканчивается, сервер начинает использовать своп. А свопящийся LAMP-сервер кажется сломанным, даже если технически всё в порядке.
  • Не переусердствуйте с ресурсами с первого дня. Большинство администраторов планируют ресурсы под воображаемую будущую нагрузку, которая никогда не наступает. Начни с уровня, соответствующего нагрузке, и масштабируйся, когда упрёшься в потолок.

Для большинства LAMP-нагрузок VPS Stack 4 — правильный базовый уровень: 4 ГБ ОЗУ, NVMe хранилище, полный root-доступ и безлимитный трафик. Масштабируйся, когда нагрузка этого потребует.

Как установить стек LAMP на VPS?

Установка LAMP на свежий VPS с Ubuntu 24.04 LTS занимает около 30 минут. Процесс такой же на AlmaLinux, отличается только менеджер пакетов (dnf вместо apt). Debian использует apt, как и Ubuntu.

Сначала выбери ОС. Ubuntu 24.04 LTS — выбор по умолчанию для большинства новых развёртываний. Canonical выпускает обновления безопасности LTS в течение пяти лет, и большинство руководств ориентированы на неё. AlmaLinux — правильный выбор для семейства Red Hat без цены RHEL.

How to Install a LAMP Stack on a VPS

1. Обнови систему

Выполни sudo apt update && sudo apt upgrade -y.

Это обновляет индекс пакетов и устанавливает последние патчи безопасности для базовой ОС.

2. Установи Apache

Выполни sudo apt install apache2.

Пакет создаёт службу systemd с именем apache2, настраивает её автозапуск при загрузке, размещает корень документов в каталоге /var/www/html/ и записывает конфигурацию в /etc/apache2/. Перейди в браузере по IP-адресу твоего VPS. Если ты видишь приветственную страницу Ubuntu Apache, значит, веб-сервер работает.

Выполни systemctl status apache2 для проверки. Зелёная строка «active (running)» — то, что тебе нужно.

3. Установи MySQL или MariaDB

Выполни sudo apt install mysql-server (или mariadb-server).

Затем выполни sudo mysql_secure_installation, чтобы установить пароль root, удалить анонимных пользователей, удалить тестовую базу данных и запретить удалённый вход root. Пропуск mysql_secure_installation — самая распространённая ошибка новичков — не пропускай её.

Если mysql_secure_installation зацикливается на пароле root, ваш root-пользователь использует auth_socket (стандартный для Ubuntu). Сначала переключите его с помощью: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password'; затем запустите скрипт, а после при желании можно вернуть socket-аутентификацию.

Всё ещё сомневаетесь между MySQL и MariaDB? Для большинства PHP-приложений выбор не имеет значения. Выбирайте MariaDB, если вам нужна свободная лицензия с открытым исходным кодом. Остановитесь на MySQL, если документация вашего приложения предполагает его использование. Одно практическое исключение: если вы переходите с управляемого хостинга, где работал MySQL 8.0, оставайтесь на 8.0. Сравнение utf8mb4_0900_ai_ci было доступно только в MySQL, пока MariaDB 11.4.5 (начало 2025) не добавила его в качестве псевдонима для совместимости, так что пограничные случаи с кодировкой могут всё ещё доставлять проблемы на старых сборках MariaDB.

4. Установка PHP и необходимых модулей

Выполните sudo apt install php php-mysql php-curl php-mbstring php-xml php-zip.

Разным приложениям нужны разные модули. WordPress рекомендует php-imagick для обработки изображений (php-gd работает как запасной вариант). Laravel требует php-mbstring, php-xml и php-bcmath. Если не уверены — проверьте документацию приложения.

5. Подключение PHP к Apache через PHP-FPM

Почему PHP-FPM вместо mod_php? Mod_php встраивает интерпретатор PHP в каждый процесс Apache. Это нормально для одного сайта с низким трафиком. Но в масштабе каждый рабочий процесс Apache держит в памяти копию PHP, независимо от того, обрабатывает ли он PHP-запрос или статическое изображение. Оперативная память расходуется впустую, производительность падает.

PHP-FPM разделяет их. Apache остаётся лёгким и проксирует PHP-запросы к пулу процессов FastCGI, который можно настраивать независимо. Для VPS с 4 ГБ ОЗУ, работающего под WordPress, результатом будет меньшее давление на память при трафике и лучшая задержка хвоста при всплесках трафика.

Именно здесь большинство старых руководств ошибаются. Современная рекомендуемая настройка — PHP-FPM с Apache event MPM, а не старый mod_php.

Вот как это настраивается на Ubuntu 24.04 (PHP 8.3):

# Установка среды выполнения FPM
sudo apt install php8.3-fpm

# Отключаем mod_php и prefork MPM, переключаемся на event MPM
sudo a2dismod php8.3
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event

# Передаём PHP-запросы в FPM через прокси FastCGI
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.3-fpm

# Применяем изменения
sudo systemctl restart apache2

# Проверяем, что подключение сработало
sudo apache2ctl -M | grep mpm # должно показать mpm_event, а не mpm_prefork
sudo systemctl status php8.3-fpm # должно быть active (running)

Страница phpinfo() теперь будет показывать Server API: FPM/FastCGI. Если у вас другая версия PHP, замените 8.3 в командах на соответствующую.

Для настройки пула (количество рабочих процессов, ограничения памяти, сокет или TCP) обратитесь к официальной документации по установке PHP-FPM. Документация Ubuntu по установке Apache и руководство по LAMP от DigitalOcean также могут быть полезны в качестве дополнительных источников.

Примечание: Руководство DigitalOcean ссылается на сервер Ubuntu 22.04; на момент написания информация верна для Ubuntu 18.04 и выше.

Как защитить стек LAMP после установки?

How to Install a LAMP Stack on a VPS

Свежеустановленный LAMP ещё не готов к продакшену. Вот пять минимальных шагов:

  1. Настройте межсетевой экран: Используйте UFW (Uncomplicated Firewall — встроенный фронтенд фаервола Ubuntu), чтобы разрешить только порты 22 (SSH), 80 (HTTP) и 443 (HTTPS). Две команды: sudo ufw allow OpenSSH && sudo ufw allow "Apache Full", затем sudo ufw enable.
  2. Только SSH-ключи для входа: Передайте свой открытый ключ с помощью ssh-copy-id, затем отключите аутентификацию по паролю в /etc/ssh/sshd_config: PasswordAuthentication no. Боты круглосуточно сканируют интернет в поисках SSH с паролями. Это одно изменение устраняет подавляющее большинство попыток подбора пароля.
  3. Запустите mysql_secure_installation: Если вы пропустили этот шаг при установке, выполните его сейчас.
  4. Добавьте SSL-сертификат Let's Encrypt: Установите Certbot и выполните sudo certbot --apache. Ваш сайт перейдёт с HTTP на HTTPS за пять минут. Сертификаты автоматически обновляются через таймер systemd. (Да, это действительно одна команда. Да, большинство управляемых хостингов берут за это дополнительную плату.)
  5. Обновляйтесь по расписанию: Установите unattended-upgrades и настройте его на автоматическое применение исправлений безопасности. Настройте один раз. Пропустите этот шаг — и узнаете об уязвимости (CVE), только когда вас взломают.

Это минимум. Всё остальное (fail2ban, ModSecurity, обнаружение вторжений и внешние резервные копии) — хорошая практика, но не обязательное условие для запуска. По укреплению безопасности на уровне ОС обратитесь к документации Ubuntu по безопасности сервера.

Не хотите заниматься всем этим самостоятельно? Управляемые VPS-планы DreamHost берут на себя обновление, мониторинг и резервное копирование.

Сколько стоит запуск LAMP на VPS по сравнению с управляемым хостингом?

Самоуправляемый LAMP на VPS стоит примерно столько же, сколько начальный управляемый тариф, но при этом снимает все ограничения в виде платы за каждый сайт, дополнительной платы за email и повышения цен при продлении. Плата за это — административная работа (обновления, резервное копирование, мониторинг), которую за вас выполняют управляемые планы.

ПодходЗа что вы платитеЧто контролируете
Общий/управляемый хостингПредварительно настроенный стек, поддержка, SLA по доступности, резервные копииВаше приложение и контент
Самоуправляемый LAMP VPSСервер и трафикОС, стек, все конфигурации, все сайты
Выделенный серверЦелая физическая машинаТо же, что и VPS, плюс оборудование

Реальная стоимость администрирования в человеко-часах: чистому LAMP VPS требуется около 30 минут внимания в месяц, если вы автоматизировали обновление. Это меньше времени, чем большинство людей тратят на выбор фильма на Netflix в воскресенье вечером.

Цифра, которую никто не публикует, — это то, сколько на самом деле стоит управляемый хостинг через три года. Типичная схема повышения цен при продлении выглядит так:

  • 1-й год: $9/мес. — вводный тариф
  • 2-й год: $19/мес. — «корректировка тарифа»
  • 3-й год: $34/мес. плюс $3 за SSL, плюс $5 за ежедневные резервные копии, плюс $15 в год за конфиденциальность WHOIS.

В DreamHost мы устанавливаем цены на наши VPS-планы фиксированными — никакой платы за каждый сайт, безлимитный трафик и полный root-доступ по предсказуемой ежемесячной ставке.

Когда имеет смысл запускать LAMP на VPS?

Запуск LAMP на VPS имеет смысл, когда вы переросли возможности общего или управляемого хостинга и готовы взять на себя то, что раньше делали за вас.

Подходящие случаи:

  • Уход с управляемого хостинга: Повышение цен, ограничение CPU или ограничения на плагины, с которыми вы не согласны.
  • Запуск PHP-приложения: WordPress, Laravel, Magento, Drupal или собственный код, которому нужны предсказуемые ресурсы.
  • Агентство, размещающее несколько сайтов: Плата за каждый сайт на управляемых тарифах становится абсурдной при масштабировании.
  • Потребность в `ssh`, `wp-cli` и `git`: Инструментах, которые вы на самом деле используете для управления сайтом.

Когда LAMP на VPS не подходит:

  • Приложения реального времени с интенсивным трафиком WebSocket: Node.js лучше справляется с постоянными соединениями, чем цикл запрос-ответ LAMP.
  • Микросервисы с потребностью в автомасштабировании: Контейнеры и Kubernetes лучше подходят, когда нужно запускать и останавливать экземпляры по требованию.
  • Нулевой опыт работы с Linux и отсутствие желания его приобретать: Оставайтесь на управляемом хостинге.

Полезный самопроверочный тест: если вы можете ssh зайти на сервер и прочитать конфигурационный файл без паники, то вы сможете запустить LAMP. Если эта фраза показалась вам запутанной, значит, ваш управляемый хостинг действительно выполняет за вас большую работу — и это неплохо.

Когда лучше остаться на управляемом хостинге?

Оставайтесь на управляемом хостинге, если вам знакомо что-либо из этого:

  • У вас нет технических специалистов, способных разобраться в логах systemctl, если WordPress упадет субботним вечером.
  • Вы не хотите писать скрипт резервного копирования или проверять тот, что написал знакомый.
  • Бесперебойная работа критически важна, и у вас нет дежурного специалиста, который может отреагировать на оповещение.
  • Экономия времени окажется меньше затрат. Консультант, берущий 150 долларов в час и тратящий два часа в месяц на обслуживание сервера, платит 300 долларов за привилегию самостоятельного управления. Тарифный план за 30 долларов в месяц при такой математике выглядит отлично.

Где-то в диапазоне от 50 до 80 долларов в месяц за управляемый хостинг при минимальном уровне навыков администрирования математика начинает склоняться в сторону самостоятельного управления. Ниже этого порога управляемый хостинг вполне подходит.

Заключение

LAMP на VPS имеет смысл, когда вы хотите получить контроль и предсказуемую стоимость, а не полное отсутствие работы по эксплуатации. Установка занимает около получаса. Укрепление защиты — еще полчаса.

Самое сложное — решить, стоит ли овчинка выделки.

Вспомните письмо о продлении в начале этого руководства. Хостинг-провайдер тихо решил, что клиент не заметит, как тариф за 9 долларов превратился в 34 доллара. Самоуправляемый LAMP VPS не делает изменения цен невозможными, но он убирает сам стек из уравнения. Версия PHP, межсетевой экран, SSL-сертификат и скрипт резервного копирования — это конфигурации, которыми вы владеете на сервере, который вы контролируете.

Самостоятельный хостинг вашего LAMP-стека — это то, что вы теперь можете сделать. Раньше для этого требовался шкаф, полный оборудования, и статический IP-адрес от вашего интернет-провайдера. Теперь оборудование арендуется по цене пары чашек кофе, а статический IP поставляется вместе с сервером.

How to Install a LAMP Stack on a VPS
VPS

Владейте всем своим стеком. Приложения, ИИ, базы данных и многое другое.

Храните все учетные данные и разговоры на сервере, которым вы управляете, со встроенной скоростью NVMe и безлимитным трафиком.

Изучите тарифы VPS-хостинга

Часто задаваемые вопросы о LAMP на VPS

Актуален ли стек LAMP в 2026 году?

Да, стек LAMP по-прежнему актуален в 2026 году. PHP работает на 70,8% всех веб-сайтов с известным языком на стороне сервера, а один только WordPress, являющийся приложением LAMP, занимает 41,5% всех веб-сайтов. LEMP и современные стеки на JavaScript отвоевали долю для высоконагруженных задач реального времени, но для типичных PHP-приложений и контентных сайтов LAMP остается стандартом.

Сколько оперативной памяти нужно для LAMP VPS?

VPS с 4 ГБ ОЗУ справляется с типичным LAMP-приложением: одним сайтом на WordPress, небольшим приложением на Laravel или несколькими низконагруженными PHP-сайтами. VPS Stack 4 от DreamHost рассчитан именно на этот базовый уровень. Переходите на 8 ГБ для хостинга агентства с несколькими сайтами или магазина WooCommerce с высокой посещаемостью. Планируйте 16 ГБ для пользовательских PHP-приложений с тяжелой базой данных.

Могу ли я запустить WordPress на самоуправляемом LAMP VPS?

Да, WordPress работает на LAMP нативно, потому что LAMP — это то, на чем он был создан. Установка включает виртуальный хост, базу данных MySQL, файлы WordPress в /var/www/ и WP-CLI для управления из командной строки. Управляемые хостинги WordPress запускают этот же стек под своей панелью управления. Разница в том, что на самоуправляемом VPS вы можете видеть и настраивать каждый слой.

Нужен ли мне root-доступ для установки LAMP на VPS?

Да, для установки LAMP на VPS вам нужен root-доступ или доступ с sudo. Большинство управляемых и общих хостингов не дают root, поэтому этот вопрос важен. Если ваш текущий тариф блокирует sudo apt install, значит, вы на управляемом тарифе, и установка LAMP на нем невозможна без перехода на другой.

Стоит ли устанавливать LAMP вручную или использовать образ для установки в один клик?

Устанавливайте вручную, если хотите понимать, что работает на вашем сервере. Образы для установки в один клик и мета-пакеты, такие как tasksel, подходят для прототипирования, но скрывают выбор: какие модули PHP установлены, подключен ли PHP-FPM или mod_php, как настроен межсетевой экран. Затраты времени в 30-60 минут на ручную установку окупаются при первой же поломке в 11 часов вечера.

В чем разница между LAMP и LEMP?

LEMP заменяет Apache на Nginx («E» произносится как engine-x). Те же Linux, база данных и PHP — другой веб-сервер. Nginx лучше справляется с высоконагруженным статическим трафиком. Apache выигрывает в гибкости .htaccess и совместимости с WordPress «из коробки».

Согласно W3Techs, Nginx лидирует по доле рынка веб-серверов с показателем 31,8%, Cloudflare Server занимает 28,5%, а Apache — 23,2% (по состоянию на июнь 2026 года). Nginx — новый стандарт для развертываний, ориентированных на API или статику. Apache все еще лучший выбор, если ваше приложение ожидает правил .htaccess, как и большинство готовых PHP-приложений, включая WordPress.