Как установить WordPress на Raspberry Pi (LAMP)

Изображение: Raspberry Pi рядом с монитором и ноутбуком, готовые для развёртывания WordPress
Почему выбирать WordPress на Raspberry Pi
WordPress — популярная CMS, удобная для блогов, маленьких сайтов и прототипов. На Raspberry Pi её можно использовать для:
- Локальной разработки тем и плагинов.
- Персонального сайта или блога при ограниченном бюджете.
- Обучающих и демонстрационных проектов.
Когда WordPress может быть не лучшим выбором:
- Для очень лёгких статичных сайтов проще использовать статический генератор и CDN.
- Для проектов с высокой нагрузкой стоит выбрать коммерческий хостинг или VPS.
Краткое определение: LAMP — набор: Linux (операционная система), Apache (веб‑сервер), MySQL/MariaDB (база данных), PHP (серверный язык).
Какой Raspberry Pi лучше использовать
Изображение: Две платы Raspberry Pi (разные модели) рядом для сравнения
Рекомендации по выбору устройства:
- Подойдёт любая модель, но лучше Raspberry Pi 2 или новее. Для комфортной работы — Pi 3 или Pi 4.
- Оперативная память: 1 ГБ минимально; 2–4 ГБ желательны для плагинов и кэша.
- SD‑карта: минимально 16 ГБ; лучше 32 ГБ или внешнее хранилище (SSD через USB 3.0 на Pi 4).
- Питание: стабильный блок питания — критично для работы сервера.
Перед началом: Raspberry Pi включён и подключён к сети. Настройте SSH для удалённого доступа.
Шаг 1. Установка Apache
Apache служит веб‑сервером. Он отдаёт страницы браузеру.
Откройте терминал и выполните:
sudo apt update && sudo apt install apache2 -yПроверьте IP‑адрес Pi:
hostname -IОткройте в браузере http://
Проверить локально на самом Pi можно по адресу http://localhost.
Изображение: Страница Apache «It works!» в браузере на Raspberry Pi
Шаг 2. Установка PHP
WordPress написан на PHP. Без PHP сайт не будет работать.
Установите PHP и базовые модули:
sudo apt install php libapache2-mod-php php-mysql -yСоздайте тестовую страницу PHP:
cd /var/www/html
sudo rm index.html
sudo nano index.phpВставьте содержимое:
Сохраните и перезапустите Apache:
sudo service apache2 restartОбновите страницу в браузере. Вы увидите “hello world”, текущую дату и страницу phpinfo().
Изображение: Результат работы PHP — «hello world» и информация о PHP
Примечание: На продакшн‑профиле рекомендуется отключать вывод phpinfo() после тестирования.
Шаг 3. Установка MariaDB (форк MySQL)
WordPress требует базу данных. На Raspberry Pi удобно использовать MariaDB (совместима с MySQL).
Установите сервер базы данных:
sudo apt install mariadb-server -yУстановите также php-mysql (если не сделали ранее) и перезапустите Apache:
sudo service apache2 restartЗапустите настройку безопасности:
sudo mysql_secure_installationСледуйте подсказкам: задайте root‑пароль, удалите анонимных пользователей, запретите удалённый root‑доступ, удалите тестовую базу. Подтвердите все изменения.
Шаг 4. Создание базы данных для WordPress
Подключитесь к MariaDB под root:
sudo mysql -uroot -pВнутри консоли выполните:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'сильный_пароль';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;Важно: не используйте root для работы WordPress в реальной установке. Создайте отдельного пользователя с сильным паролем.
Шаг 5. Установка WordPress
Очистите директорию веб‑документов и скачайте WordPress:
cd /var/www/html
sudo rm -rf *
sudo wget http://wordpress.org/latest.tar.gz
sudo tar xzf latest.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest.tar.gz
sudo chown -R www-data:www-data .
sudo chmod -R 755 .Откройте сайт в браузере http://
- Имя базы: wordpress
- Пользователь: wpuser
- Пароль: тот, что вы задали
- Хост: localhost
- Префикс таблиц: wp_
Затем укажите название сайта, учётную запись администратора и e‑mail.
Изображение: Команда wget загружает архив WordPress в терминале
После установки войдите в панель управления: http://
Изображение: Приветственная страница установленного WordPress
Доступ к сайту из интернета
По умолчанию сайт доступен только внутри локальной сети. Чтобы открыть его в сеть:
- Настройте переадресацию портов (port forwarding) на вашем роутере: перенаправьте внешний порт 80 (и 443 для HTTPS) на IP Raspberry Pi.
- Рассмотрите использование динамического DNS (DDNS), если у вас динамический внешний IP. DDNS сопоставит доменное имя с вашим текущим IP.
- Для безопасности используйте HTTPS (см. следующую секцию).
Важно: открывать домашний сервер в интернет — значит брать на себя ответственность за безопасность. Рассмотрите аренду VPS или управляемого хостинга для публичных проектов.
Настройка HTTPS с Let’s Encrypt
Для публичного сайта HTTPS обязателен. На домене с проложенными портами выполните:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.comСледуйте подсказкам certbot. Сертификаты обновляются автоматически через cron/systemd. Проверяйте работу обновлений.
Если вы используете DDNS и не имеете домена, некоторые DDNS‑провайдеры поддерживают автоматическую интеграцию с Let’s Encrypt.
Рекомендации по безопасности
Главные меры:
- Не используйте root как пользователя БД для WordPress.
- Ограничьте права файловой системы: директория WordPress должна принадлежать www-data, права 755 для папок, 644 для файлов.
- Отключите редактирование файлов тем/плагинов из админки: добавьте в wp-config.php:
define('DISALLOW_FILE_EDIT', true);- Установите брандмауэр UFW и откройте только нужные порты:
sudo apt install ufw -y
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable- Установите fail2ban для защиты SSH и попыток взлома админки.
- Регулярно обновляйте систему, PHP, MariaDB и плагины WordPress.
- Делайте регулярные резервные копии файлов и базы данных.
Резервное копирование и восстановление
Простая методика бэкапа:
- Файлы WordPress: rsync или tar архив каталога /var/www/html.
- База данных: дамп с помощью mysqldump.
Команды:
# дамп базы
sudo mysqldump -u wpuser -p wordpress > /home/pi/wordpress-db-$(date +%F).sql
# архив файлов
sudo tar -czf /home/pi/wordpress-files-$(date +%F).tar.gz /var/www/htmlХраните резервные копии на внешнем диске или в облаке. Тестируйте восстановление.
Оптимизация производительности
Raspberry Pi ограничен по ресурсам. Чтобы сайт работал быстро:
- Установите кэш‑плагин (например, WP Super Cache или Cache Enabler).
- Используйте PHP‑FPM + Nginx в качестве альтернативы Apache для меньшей нагрузки.
- Включите object cache (Redis или Memcached) при возможностях.
- Минимизируйте количество активных плагинов.
- Используйте CDN для статики (изображения, скрипты).
- Рассмотрите использование SSD на Pi 4 для ускорения I/O.
Альтернативные подходы
Docker: запуск WordPress в контейнерах (docker-compose) даёт легче переносимость и аккуратную изоляцию. Это особенно удобно для разработки на одном компьютере и деплоя на другом.
Nginx вместо Apache: Nginx часто экономнее расходует память и быстрее работает при большом количестве одновременных соединений.
Headless WordPress: использовать WordPress только как CMS и отдавать фронтенд через статический генератор или отдельное приложение.
Использовать управляемый хостинг (WP Engine, другие): освобождает от администрирования сервера.
Отладка ошибок (частые случаи и решения)
- Белая страница / 500 Internal Server Error: проверьте логи Apache (/var/log/apache2/error.log) и wp‑debug. Включите отладку в wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);- Ошибки подключения к базе: проверьте credentials в wp-config.php и доступ к MariaDB.
- Медленная работа: проверьте нагрузку (top, htop), использование swap и I/O. Увеличьте кэш, отключите тяжёлые плагины.
Миграция с Raspberry Pi на удалённый хост
Если сайт растёт, вы можете перенести его на VPS или управляемый хост. Главное:
- Сделайте дамп базы и архив файлов.
- Настройте целевой сервер (LAMP/LNMP или перенесите контейнеры Docker).
- Импортируйте базу и восстановите файлы.
- Проверьте пути и права, настройте домен и SSL.
Примеры команд — шпаргалка
# обновление системы
sudo apt update && sudo apt upgrade -y
# установка LAMP
sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql -y
# скачивание WordPress
sudo wget http://wordpress.org/latest.tar.gz
sudo tar xzf latest.tar.gz
# права
sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;Руководство действий (SOP) — быстрый план развертывания
- Подготовка: обновить систему, подключить SSH и резервные носители.
- Установка Apache и тестирование.
- Установка PHP и тестирование phpinfo().
- Установка MariaDB, запуск mysql_secure_installation.
- Создание БД и пользователя для WordPress.
- Скачивание и распаковка WordPress, настройка прав.
- Проход установки через веб‑интерфейс.
- Настройка HTTPS и базовых мер безопасности.
- Настройка резервного копирования и мониторинга.
Критерии приёмки:
- Веб‑страница WordPress доступна по IP и/или домену.
- Вход в /wp-admin успешен для созданного администратора.
- HTTPS корректно настроен (для публичного сайта).
- Регулярные бэкапы настроены.
Резервный план и откат
Если после обновления что‑то сломалось, последовательность возврата:
- Включите режим обслуживания (maintenance). 2. Восстановите файлы из последнего архива. 3. Импортируйте дамп БД. 4. Отключите недавно установленные/обновлённые плагины.
Роль‑ориентированные чек‑листы
Для начинающего:
- Подключиться к Pi по SSH.
- Установить Apache, PHP и MariaDB.
- Скачать WordPress и пройти веб‑установку.
Для разработчика темы/плагина:
- Настроить базовую инстанцию WordPress.
- Включить WP_DEBUG и логирование.
- Настроить FTP/SFTP или доступ к файловой системе.
Для администратора:
- Настроить UFW, fail2ban.
- Настроить автоматические обновления и бэкапы.
- Настроить мониторинг диска и CPU.
Краткая таблица совместимости и советы по миграции
- Raspberry Pi 2/3: подойдёт для лёгких сайтов и разработки.
- Raspberry Pi 4: лучше для более тяжёлых сайтов, особенно с 2–4 ГБ RAM и SSD.
- Pi Zero: возможен для тестов, но ограничен по ресурсам.
- При необходимости роста — перенос на VPS/облачный хост.
1‑строчный глоссарий
- LAMP: Linux, Apache, MySQL/MariaDB, PHP; базовый набор для динамичных сайтов.
- DDNS: сервис, который обновляет доменное имя при смене внешнего IP.
- SSL/TLS: протоколы шифрования для HTTPS.
Заключение
Запуск WordPress на Raspberry Pi — отличный вариант для обучения, тестирования и небольших проектов. Процесс включает установки Apache, PHP и MariaDB, создание базы данных, загрузку WordPress и базовую конфигурацию. Для публичного сайта уделите внимание безопасности, HTTPS и резервному копированию. Если вы хотите снизить административную нагрузку, рассмотрите управляемый хостинг.
Дополнительные материалы: изучите методы оптимизации, настройку резервного копирования и варианты запуска через Docker, если вам нужна переносимость.
Важно: если вы хотите бесперебойный и полностью управляемый сервис, управляемый хостинг (например, бизнес‑решения для WordPress) снимет всю нагрузку по поддержке и обновлениям.
Похожие материалы
Дизайн для аддитивного производства — руководство
Ошибка принтера 0x8000FFFF — как исправить
Устранение конфликтов драйверов на Mac
Ярлык принтера в панели задач Windows 10
Как перезагрузить Windows 11 быстро