Установка LAMP‑сервера с помощью XAMPP на Ubuntu

Этот документ объясняет, как настроить LAMP‑окружение (Linux, Apache, MySQL/MariaDB, PHP) на Ubuntu с помощью XAMPP. XAMPP удобно использовать для разработки PHP‑приложений и фреймворков: WordPress, Joomla, Drupal, PrestaShop и т. п.
Важно: XAMPP настроен максимально просто для разработки и по умолчанию ослабляет некоторые меры безопасности (например, отсутствие пароля у root в базе, доступ к БД по сети). Не разворачивайте XAMPP как публичный продакшн‑сервер.
Что такое XAMPP
XAMPP — популярный кроссплатформенный стек для локальной разработки PHP. Это набор: Apache (веб‑сервер), MariaDB/MySQL (СУБД), PHP и Perl. XAMPP упрощает запуск LAMP‑сервера — подходит для прототипирования и разработки, но не для публичных продакшн‑развертываний без доработок по безопасности.
Ключевые ограничения: по умолчанию MariaDB доступен из сети, учётная запись администратора базы (root) часто пустая, отключены некоторые механизмы ограничения доступа. Эти упрощения ускоряют старт, но требуют ручной настройки для защищённой работы.
Предварительные требования
- Ubuntu (локальная машина или виртуальная машина). Подойдёт Ubuntu 18.04/20.04/22.04 и новее.
- Доступ к терминалу с привилегиями sudo.
- Связь с интернетом для загрузки дистрибутива XAMPP.
Скачивание XAMPP для Linux
Откройте терминал и перейдите в папку «Загрузки»:
cd ~/DownloadsСкачайте инсталлятор с официального сайта (пример для версии 8.0.8 — при необходимости замените версию):
wget https://www.apachefriends.org/xampp-files/8.0.8/xampp-linux-x64-8.0.8-0-installer.runwget сохранит файл инсталлятора в текущую папку (~/Downloads).
Установка XAMPP на Ubuntu
Сделайте скачанный файл исполняемым:
sudo chmod 755 xampp-linux-x64-8.0.8-0-installer.runПроверьте список файлов, чтобы убедиться в правах:
ls -l xampp-linux-x64-8.0.8-0-installer.runЗапустите инсталлятор:
sudo ./xampp-linux-x64-8.0.8-0-installer.runОткроется графический мастер установки. Нажимайте «Далее» для перехода шаг за шагом и «Готово» в конце.
После установки XAMPP файлы будут размещены в каталоге /opt/lampp, а веб‑проекты — в /opt/lampp/htdocs.
Запуск и управление сервисами XAMPP
Запустите все службы (Apache, MariaDB, ProFTPD и др.):
sudo /opt/lampp/lampp startПроверьте статус:
sudo /opt/lampp/lampp statusДля графического управления используйте менеджер XAMPP:
cd /opt/lampp
sudo ./manager-linux-x64.runПроверка работы
Откройте браузер и перейдите по адресу:
- http://localhost — должна открыться стартовая страница XAMPP (Apache по умолчанию на порту 80).
- http://localhost/phpmyadmin — интерфейс управления MariaDB/MySQL.
Если страницы открываются, Apache и MariaDB запущены и обслуживают запросы.
Типовая мини‑методология настройки проекта
- Скопируйте проект в /opt/lampp/htdocs/yourproject.
- Настройте виртуальный хост (см. ниже) или используйте http://localhost/yourproject.
- Настройте права на файлы: владельцем должен быть системный пользователь, под которым работает веб‑сервер, либо корректно выставьте chmod (см. рекомендации по безопасности).
- Импортируйте БД через phpMyAdmin или mysql CLI.
- Тестируйте в браузере и логах (/opt/lampp/logs).
Виртуальные хосты (рекомендация)
Для удобной разработки создайте виртуальный хост, например project.local:
- Отредактируйте /opt/lampp/etc/extra/httpd-vhosts.conf и добавьте блок:
ServerName project.local
DocumentRoot "/opt/lampp/htdocs/project"
Require all granted
AllowOverride All
- Добавьте запись в /etc/hosts на вашей машине:
127.0.0.1 project.local- Перезапустите XAMPP:
sudo /opt/lampp/lampp restartБазовые шаги по усилению безопасности (security hardening)
Важно для локальной сети и перед публикацией в продакшн выполнить следующие действия:
- Установите пароль для MariaDB root:
sudo /opt/lampp/bin/mysql_secure_installation- Запретите удалённый доступ к MariaDB: отредактируйте /opt/lampp/etc/my.cnf, задайте bind-address = 127.0.0.1 и перезапустите.
- Ограничьте доступ к phpMyAdmin через .htaccess или через конфигурацию Apache (например, разрешить только localhost или конкретные IP).
- Включите и настройте UFW (межсетевой экран):
sudo ufw enable
sudo ufw allow from 127.0.0.1 to any port 3306 proto tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp- Проверьте права на каталоги: веб‑файлы не должны быть записываемыми для всех. Например:
sudo chown -R youruser:www-data /opt/lampp/htdocs/yourproject
find /opt/lampp/htdocs/yourproject -type d -exec chmod 755 {} \;
find /opt/lampp/htdocs/yourproject -type f -exec chmod 644 {} \;- Отключайте или удаляйте ненужные службы (FTP, демон сторонних модулей), если они не нужны.
- Используйте SSL при доступе к локальному проекту (self‑signed cert для dev или mkcert для удобства).
Примечание: XAMPP поставляется с удобствами для разработки; эти шаги минимальны и не заменят детального продакшн‑аудита.
Альтернативные подходы
- Установка LAMP через пакеты Ubuntu (apt install apache2 mysql-server php) — более безопасно и ближе к продакшн‑окружению.
- Docker (контейнеры): позволяет собрать изолированное окружение с точными версиями PHP/MySQL и лёгкой миграцией на сервера.
- WSL 2 на Windows: ставьте LAMP напрямую в дистрибутив Ubuntu под WSL или используйте Docker Desktop.
Когда XAMPP не подходит: если нужен многосерверный кластер, HA‑настройки, защищённый продакшн или соответствие стандартам безопасности — выбирайте контейнеры или настоящие серверные пакеты.
Настройка в WSL
Если вы работаете в Windows Subsystem for Linux, можно либо:
- Установить LAMP напрямую в Ubuntu на WSL (apt install), либо
- Запустить XAMPP в виртуальной Linux‑машине (VM) или использовать Docker под Windows/WSL.
WSL имеет ограничения по сетевым настройкам и доступу к GUI, поэтому для простоты разработки зачастую удобнее использовать Docker или полноценную VM.
Критерии приёмки
- Apache отвечает на http://localhost и возвращает страницу XAMPP.
- phpMyAdmin открывается по адресу http://localhost/phpmyadmin и доступна авторизация.
- В каталоге /opt/lampp/htdocs присутствуют ваши файлы проекта и отображаются в браузере.
- После выполнения mysql_secure_installation root в MariaDB имеет пароль и удалённый доступ запрещён.
- UFW настроен, лишние порты закрыты.
Роль‑ориентированные чеклисты
Developer:
- Проект доступен по локальному домену (project.local).
- Логи Apache доступны и понятны (/opt/lampp/logs).
- Быстрый перезапуск сервисов через lampp.
DevOps:
- Выполнен mysql_secure_installation.
- MariaDB слушает только 127.0.0.1.
- Файловые права проверены.
QA:
- Импорт и экспорт базы работает через phpMyAdmin.
- Тестовые запросы к API возвращают корректные коды.
Краткая галерея исключений и возможные проблемы
- Проблема: порт 80 занят (например, snap‑версия nginx/Apache). Решение: остановите конфликтующий сервис или смените порт в XAMPP (в httpd.conf).
- Проблема: пермишены не позволяют записывать файлы. Решение: скорректируйте владельца/права в каталоге проекта.
- Проблема: phpMyAdmin недоступен — проверьте статус MariaDB и журналы XAMPP.
Краткий глоссарий
- XAMPP — набор для локальной разработки: Apache, MariaDB, PHP, Perl.
- LAMP — Linux, Apache, MySQL/MariaDB, PHP.
- Apache — HTTP‑сервер, обслуживает веб‑страницы.
- MariaDB — форк MySQL, реляционная база данных.
- phpMyAdmin — веб‑интерфейс для управления MySQL/MariaDB.
- htdocs — папка, где размещаются веб‑файлы XAMPP (/opt/lampp/htdocs).
Тесты и критерии приёмки (микроплан для QA)
- Тест 1: Открыть http://localhost — ожидается 200 OK и вид страницы XAMPP.
- Тест 2: Загрузить PHP‑файл with phpinfo(); — проверить, что версия PHP соответствует ожиданиям.
- Тест 3: Войти в phpMyAdmin, создать базу, импортировать дамп — все операции выполняются.
- Тест 4: Изменить права на файл и проверить сохранение изменений через веб.
Итог и рекомендации
XAMPP — быстрый и удобный инструмент для локальной разработки PHP‑проектов на Ubuntu. Для повседневной разработки он экономит время, но требует обязательной настройки безопасности при переходе в более открытые сети или при попытке использовать для продакшн‑развёртывания. Рассмотрите Docker или пакеты Ubuntu, если вам нужно более управляемое и безопасное окружение.
Ресурсы для дальнейшего изучения: документация Apache, MariaDB, официальная страница Apache Friends, Docker‑образцы для LAMP.
Короткая заметка: продолжайте регулярно бэкапить базы и храните рабочую конфигурацию и скрипты автоматического развёртывания под контролем версий.
Похожие материалы
Как выигрывать в HQ Trivia: практические советы
Отключить спам-приглашения в Google Календаре
Тайм‑блокинг в Google Календаре для студентов
Цветовое кодирование в Google Календаре
Вторая временная зона в Google Календаре