Установка LAMP в WSL — быстрое руководство

Windows Subsystem for Linux (WSL) возвращает Windows в число удобных платформ для разработки. Для веб-разработки это особенно полезно: с помощью WSL быстро собирается LAMP-стек (Linux/Apache/MariaDB/PHP), подходящий для локальной разработки веб-приложений.
Установка и запуск Apache

Apache HTTP Server — надёжный и простой вариант веб-сервера, хорошо знакомый многим разработчикам. В Ubuntu под WSL он устанавливается стандартной командой:
sudo apt install apache2Важно: WSL не использует systemd для управления сервисами. Вместо systemctl в WSL под Ubuntu применяют команду service для запуска и остановки демонов.
Чтобы запустить Apache:
sudo service apache2 startПроверьте работу, открыв в браузере http://localhost — должна появиться стандартная тестовая страница Ubuntu. По умолчанию Apache раздаёт контент из каталога /var/www/html, поэтому сохраняйте HTML и PHP файлы туда.
Установка и настройка PHP

PHP — популярный серверный язык для быстрого создания веб-приложений. Установите PHP и модуль для Apache:
sudo apt install php libapache2-mod-phpЧтобы убедиться, что PHP работает, создайте файл /var/www/html/phpinfo.php (требуются root-права) с содержимым:
Откройте http://localhost/phpinfo.php — вы увидите страницу с информацией о конфигурации PHP. После этого можно встраивать PHP-код в страницы и запустить динамические фрагменты.
Установка MariaDB (замена MySQL)

Для хранения данных приложения нужен СУБД. MariaDB — форк MySQL, совместимый с существующими командами и инструментами.
Установите MariaDB:
sudo apt install mariadb-serverЗапустите сервер (используется имя службы mysql):
sudo service mysql startДа, служба называется mysql. Многие утилиты и скрипты сохраняют это имя для совместимости.
По умолчанию инсталляция может быть небезопасной: пароль root в базе отсутствует. Рекомендуется сразу пройти «жёсткую» настройку безопасности:
sudo mysql_secure_installationСкрипт предложит установить пароль root, запретить удалённые входы под root, удалить тестовую базу и анонимных пользователей.
Установка phpMyAdmin (опционально)
Если предпочитаете GUI для управления базой, установите phpMyAdmin:
sudo apt install phpmyadmin# В процессе установки выберите Apache и задайте учётные данные для доступаПосле установки откройте http://localhost/phpmyadmin и войдите под заданным логином.
Рабочий процесс разработки
- Храните проект в /var/www/html или настройте виртуальный хост Apache для удобства.
- При изменениях в файлах PHP/HTML просто обновляйте страницу в браузере; перезапуск Apache редко нужен.
- Для командной работы используйте git в WSL — он работает как в обычной Ubuntu.
Безопасность и жесткая настройка (базовая чек-лист)
- Выполните sudo mysql_secure_installation и установите сильный пароль root.
- Отключите удалённый доступ root: в mysql_secure_installation или через GRANT/REVOKE.
- Создайте отдельного пользователя базы данных для каждого приложения с минимальными правами.
- Регулярно обновляйте пакеты: sudo apt update && sudo apt upgrade.
- Не запускайте WSL с публичным сетевым доступом на рабочей машине без фаервола.
Важно: WSL по умолчанию маппирует порты Ubuntu на хост Windows, поэтому localhost в браузере Windows будет перенаправлен на сервисы в WSL.
Быстрый план (SOP) — установка LAMP в WSL за 10 шагов
- Откройте терминал WSL (Ubuntu).
- sudo apt update && sudo apt upgrade
- sudo apt install apache2
- sudo service apache2 start
- sudo apt install php libapache2-mod-php
- Создайте /var/www/html/phpinfo.php и проверьте PHP
- sudo apt install mariadb-server
- sudo service mysql start
- sudo mysql_secure_installation
- (опционально) sudo apt install phpmyadmin и проверить http://localhost/phpmyadmin
Критерии приёмки
- http://localhost открывает страницу Apache.
- http://localhost/phpinfo.php показывает страницу конфигурации PHP.
- Служба MariaDB запущена (sudo service mysql status показывает active).
- Доступ в phpMyAdmin возможен при установленном пакете и корректных учётных данных.
Роли и чек-листы
Разработчик:
- Убедиться, что Apache и PHP возвращают корректные страницы.
- Подключить проект в /var/www/html или настроить виртуальный хост.
- Использовать git и запускать unit/integration тесты локально.
Администратор БД:
- Запустить mysql_secure_installation.
- Создать пользователей с ограниченными правами.
- Настроить регулярные бэкапы (scripting + cron в WSL или на хосте).
Дизайнер/Frontend:
- Хранить статические файлы в public-папке проекта.
- Проверять CORS и настройки MIME в Apache.
Отладка — когда что может пойти не так
- Apache не стартует: проверьте логи /var/log/apache2/error.log и порт 80 заняты ли в Windows.
- PHP не обрабатывается: убедитесь, что libapache2-mod-php установлен и Apache перезапущен.
- MariaDB не стартует: просмотрите /var/log/mysql/error.log и убедитесь, что права на /var/lib/mysql корректны.
- phpMyAdmin просит пользовательские права: проверьте, был ли создан пользователь и выбран правильный пароль при установке.
Когда WSL не подходит (ограничения)
- Если нужно точное поведение systemd-среды — WSL по умолчанию отличается; есть решения с systemd-enabled дистрибутивами, но это сложнее.
- Для высоконагруженных тестов производительности локальная WSL-среда может не соответствовать серверному окружению.
- Если требуется сетевой доступ извне (публичный хостинг) — лучше использовать полноценный Linux-сервер или VM.
Краткий глоссарий
- WSL: подсистема Windows для запуска Linux-бинарников.
- LAMP: стек Linux, Apache, MariaDB(MySQL), PHP.
- phpMyAdmin: веб-интерфейс для управления MySQL/MariaDB.
Рекомендации по совместимости и миграции
- Разработка в WSL даёт совместимость с Linux-серверами, но перед деплоем проверьте версии PHP и MariaDB на продакшене.
- Избегайте абсолютных путей Windows в проекте; используйте относительные пути и переменные окружения.
Короткая инструкция для объявления в команде (100–200 слов)
Вы можете быстро развернуть локальный LAMP в WSL: установите apache2, php и mariadb через apt, запустите их командой service и выполните mysql_secure_installation для защиты. По желанию добавьте phpMyAdmin для удобного управления базой. Проверяйте работу через http://localhost и храните проект в /var/www/html или настройте виртуальные хосты. Это даёт среду, близкую к Linux-серверам, без необходимости запускать полноценную виртуальную машину.
Короткое резюме
- WSL позволяет быстро собрать LAMP-стек для локальной веб-разработки.
- Используйте service для управления сервисами, а не systemctl.
- Обязательно пройдите mysql_secure_installation и создайте отдельные учётные записи для приложений.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента