Установка LAMP (Linux, Apache, MySQL, PHP) одной командой
Хочу себе такие же кнопкиЧто вы получите за 5 минут
Вы научитесь развернуть полностью готовый стек LAMP (Linux + Apache + MySQL + PHP) на виртуальном сервере 🏰 VDSina одним лишь вводом команды. После этого у вас будет рабочий веб‑сервер, способный обслуживать динамические страницы, хранить данные в базе и запускать скрипты PHP. Всё это понадобится для разработки сайтов, тестирования приложений и изучения серверных технологий без долгих настроек.
1. Почему «одна команда» – это реально?
Современные дистрибутивы Linux (особенно Ubuntu и Debian) поддерживают метапакеты – наборы пакетов, которые автоматически устанавливают все зависимости. Пакет lamp-server^ (обратите внимание на «карет» ^) – это именно такой метапакет. Он собирает в себе apache2, mysql-server, php и необходимые модули. Всё, что осталось, – вызвать пакетный менеджер apt с флагом -y (подтверждать автоматически).
2. Подготовка сервера
| Шаг | Что делаем | Почему ||-----|------------|--------|
| 1 | Подключаемся к серверу по SSH | Без доступа к терминалу нельзя выполнить команды |
| 2 | Обновляем список пакетов (apt update) | Гарантирует, что будем ставить самые свежие версии |
| 3 | Устанавливаем software-properties-common (необязательно) | Позволяет управлять репозиториями, если понадобится добавить PPA |
Важно: Если вы только что создали ВД на VDSina, у вас уже есть root‑доступ и предустановленный Ubuntu 22.04 LTS.
3. Команда, которая делает всё за вас
sudo apt update && sudo apt install -y lamp-server^
Разбор команды
| Части | Описание |
|---|---|
sudo |
Выполняет команду от имени администратора (root). |
apt update |
Скачивает свежие индексы пакетов из репозиториев. |
&& |
Оператор «и», гарантирует, что вторая часть выполнится только если первая завершилась успешно. |
apt install -y |
Устанавливает указанные пакеты, -y отвечает «yes» на все запросы. |
lamp-server^ |
Метапакет LAMP; символ ^ говорит apt, что это «task»‑пакет, а не обычный пакет. |
После выполнения команды система автоматически:
- Скачает и установит Apache (
apache2). - Установит MySQL (
mysql-server) и запросит пароль root‑пользователя (если вы не задалиDEBIAN_FRONTEND=noninteractive). - Установит PHP и модули
php-mysql,libapache2-mod-php,php-cliи т.д. - Запустит и включит автозапуск всех сервисов (
systemctl enable --now …).
4. Проверка, что всё работает
| Проверка | Команда | Ожидаемый результат |
|---|---|---|
| Apache | systemctl status apache2 |
active (running) и порт 80 слушает |
| PHP | php -r "phpinfo();" |
Вывод конфигурации PHP в консоли |
| MySQL | mysql -u root -p -e "SELECT VERSION();" |
Версия MySQL, запрос выполнен без ошибок |
| Веб‑страница | Откройте в браузере http://<IP‑адрес> |
Страница «It works!», генерируемая Apache |
Если всё в порядке, ваш сервер готов принимать запросы.
5. Минимальная настройка безопасности
| Шаг | Команда | Что делает |
|---|---|---|
| 1 | sudo ufw allow OpenSSH |
Открывает SSH‑порт 22 |
| 2 | sudo ufw allow http |
Открывает порт 80 (HTTP) |
| 3 | sudo ufw enable |
Включает брандмауэр UFW |
| 4 | sudo mysql_secure_installation |
Позволяет задать пароль root, удалить анонимных пользователей, отключить удалённый вход root и удалить тестовую БД |
Эти четыре команды делают ваш сервер более надёжным без лишних хлопот.
6. Где взять готовый пример проекта?
VDSina предлагает готовый шаблон phpinfo.php в корне веб‑директории:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
Откройте http://<IP‑адрес>/info.php – увидите полную информацию о PHP, модулях и настройках.
Ссылка для скачивания готовых скриптов: https://vdsina.ru/downloads/lampsample.zip?partner=5095
7. Часто задаваемые вопросы (FAQ)
| Вопрос | Краткий ответ |
|---|---|
| Что если у меня Debian? | Тот же метапакет: sudo apt install -y lamp-server^. |
| Можно ли поставить MySQL 8.0? | Да, в Ubuntu 22.04 по умолчанию ставится MySQL 8.0. |
| Где находятся файлы сайта? | /var/www/html/ – корневая директория Apache. |
| Как добавить поддержку HTTPS? | Установите certbot и выполните sudo certbot --apache. |
| Нужен ли отдельный пользователь для PHP? | По умолчанию Apache работает от www-data. Это безопасно для большинства задач. |
8. Как дальше развивать проект
| Направление | Что добавить |
|---|---|
| База данных | Создайте базу CREATE DATABASE mydb; и пользователя CREATE USER 'dev'@'localhost' IDENTIFIED BY 'pwd'; GRANT ALL ON mydb.* TO 'dev'@'localhost'; |
| Фреймворк | Установите Composer (sudo apt install -y composer) и подключите Laravel, Symfony и т.п. |
| Контейнеризация | Перенесите LAMP в Docker‑контейнеры для изоляции и простого масштабирования. |
| Мониторинг | Добавьте htop, netstat, apachetop для отслеживания нагрузки. |
Практика для закрепления
- Установите LAMP на новом сервере VDSina, используя одну команду. Проверьте статус всех сервисов.
- Создайте файл
hello.phpв/var/www/html/с кодом<?php echo "Привет, мир!"; ?>. Откройте его в браузере и убедитесь, что вывод отображается. - Настройте MySQL: создайте базу
testdb, пользователяtesterс паролем12345и дайте ему все привилегии на эту базу. Проверьте подключение черезmysql -u tester -p12345 testdb. - Включите HTTPS с помощью Certbot (используйте бесплатный сертификат Let's Encrypt). После установки проверьте, что сайт доступен по
https://<IP>. - Напишите скрипт
db.php, который подключается кtestdbи выводит количество записей в таблицеusers. При отсутствии таблицы скрипт должен создать её и вставить одну строку.
Выполните все пункты, сравните результаты с ожидаемыми, и вы полностью освоите быстрый запуск LAMP‑стека на VDSina. Удачной разработки!
Введение: чем VDS отличается от шаред-хостинга и зачем это веб-мастеру
Как правильно выбрать тариф: CPU, RAM, NVMe или SSD, канал
Выбор операционной системы: почему Ubuntu 22.04/24.04 — стандарт индустрии
Регистрация домена и первичная настройка DNS-записей (A, AAAA, CNAME)
Генерация SSH-ключей на локальном компьютере (Windows/Mac/Linux)
Добавление публичного ключа на сервер и первый вход по SSH
Отключение входа по паролю и запрет авторизации для root
Смена стандартного порта SSH для снижения шума в логах
Создание основного рабочего пользователя с правами sudo
Базовое обновление системы и установка необходимых утилит (curl, wget, git, htop)
Настройка часового пояса и синхронизация времени (NTP)
Установка и базовая настройка фаервола UFW
Разрешение только необходимых портов (SSH, HTTP, HTTPS)
Установка Fail2Ban для защиты от перебора паролей
Настройка правил Fail2Ban для SSH и веб-сервера
Знакомство с Docker: установка движка и CLI
Установка Docker Compose для управления мульти-контейнерными приложениями
Основы изоляции: почему каждый проект должен быть в своем контейнере
Подготовка файловой структуры сервера для удобного хранения проектов
Развертывание Nginx как обратного прокси-сервера через Docker
Настройка конфигурации Nginx для статических сайтов
Установка PHP-FPM в отдельном контейнере
Связка Nginx и PHP-FPM через внутреннюю Docker-сеть
Оптимизация настроек PHP-FPM (pm.max_children, memory_limit) под нагрузку
Установка MariaDB/MySQL в изолированном контейнере
Безопасное хранение паролей от БД через переменные окружения (.env)
Подключение к базе данных из внешнего клиента (DBeaver/Navicat) через туннель
Установка Redis для кэширования запросов и сессий
Интеграция Redis с PHP-приложением для ускорения работы
Автоматическая выдача SSL-сертификатов через Certbot (Let's Encrypt)
Настройка автопродления SSL-сертификатов по крону
Принудительный редирект с HTTP на HTTPS в Nginx
Включение gzip и brotli сжатия для ускорения загрузки страниц
Настройка кэширования статики (browser caching) в заголовках Nginx
Защита от простых DDoS и ботов: модуль limit_req в Nginx
Настройка резервного копирования баз данных (mysqldump) по расписанию
Настройка резервного копирования файлов проектов (tar)
Отправка бэкапов на удаленное хранилище (S3-compatible storage или другой сервер)
Ротация и очистка старых логов, чтобы не забить диск
Мониторинг нагрузки: установка и настройка htop и iotop
Просмотр логов в реальном времени: tail, grep и journalctl
Установка простого мониторинга доступности (Uptime Kuma или скрипт в Telegram)
Изоляция арбитражных инструментов: запуск ботов в отдельных контейнерах
Установка SOCKS5/HTTP прокси (3proxy) внутри Docker для мультиаккаунтинга
Настройка аутентификации и ограничения доступа к прокси по IP
Проверка анонимности и работы прокси-сервера
Оптимизация ядра Linux (sysctl.conf) для высоких нагрузок и сетевых соединений
Настройка swap-файла: когда он нужен, а когда вредит
Чек-лист финальной проверки безопасности перед запуском проекта
План действий при взломе или падении сервера: восстановление из бэкапа
АПТЕЧКА ДЛЯ ЖИВОТНЫХ
Автомобили Германии — FORD, MERSEDES, VW, IVECO
Чат рулетка 2026: чаты, где каждый момент — шанс
Чат рулетка онлайн
Чат с Аней: психологический разговор
Чатрулетка: новый способ общения
Чай и кофе: сила вкуса
Детские игрушки из безопасных материалов
Эксплуатация шин: Рекомендации по использованию
Фототехника для пейзажей
Как Aptum хостинг помогает малым бизнесам в управлении CRM-системами
Как выбрать Vdsina вечный хостинг для своего проекта
Компоненты безопасности IP
Конкуренция на российском автомобильном рынке
Онлайн генератор паролей для Windows
Оптимизация обработки форм GEO проекта
Сервер для социальных сетей: Безопасность, Скорость, Изоляция
Смешные моменты
Сравнение Arsys хостинг сервисов для блогеров с WordPress на 2023 год
Весь экран под циферблат