Установка WordPress на Raspberry Pi: полный пошаговый гид

Если вы хотите минимизировать администрирование, хостинг WordPress под управлением провайдера (например, WP Engine) снимает с вас настройку и поддержку. Но для тех, кто предпочитает экономить деньги или учиться, Raspberry Pi — отличная площадка для запуска WordPress.
Краткое введение
Этот материал шаг за шагом показывает, как подготовить Raspberry Pi в качестве веб-сервера, установить Apache, PHP и MariaDB (форк MySQL), развернуть WordPress и настроить доступ извне. Гид ориентирован на домашнюю или тестовую установку: при выводе сайта в публичный доступ учитывайте безопасность, резервное копирование и SLA.
Важно: если вы планируете коммерческий или сильно нагруженный сайт, лучше использовать управляемый хостинг.
Почему WordPress?
WordPress — это CMS с большим набором тем и плагинов. Он подходит для блогов, лендингов, малых бизнесов и прототипов. WordPress удобен, когда вам нужно быстро получить динамическую систему с панелью управления для контента.
Когда WordPress имеет смысл:
- Вы хотите CMS с визуальным редактором и множеством готовых тем.
- Вы разрабатываете тему или плагин и хотите локальную тестовую среду.
- Важна гибкость плагинов и готовых решений.
Когда лучше отказаться:
- Если нужна очень лёгкая статическая страница — статический сайт будет быстрее и проще.
- Для высоконагруженных проектов со строгими требованиями к SLA лучше использовать облачные платформы и масштабируемую инфраструктуру.
Какой Raspberry Pi выбрать?

Рекомендации по выбору:
- Минимум: Raspberry Pi 2 — возможна установка, но будет медленнее. Лучше Pi 3 или Pi 4.
- Рекомендуется: Raspberry Pi 4 с 2–8 ГБ ОЗУ; для комфортной работы — 4 ГБ и выше.
- Носитель: SD-карта неидеальна для интенсивных записей. Рекомендуется минимум 16 ГБ, лучше 32/64 ГБ, и по возможности внешний SSD через USB 3.0.
- Питание: качественный блок питания 3A для Pi 4.
Факторы, влияющие на производительность: объём ОЗУ, скорость хранения (SD vs SSD), сеть (гигабитный порт у Pi 4), нагрузка плагинов и кеширования.
Предварительная подготовка
Требования перед установкой:
- Raspberry Pi подключён к сети и включён.
- SSH включён для удалённого управления (raspi-config → Interface Options → SSH).
- Система обновлена:
sudo apt update && sudo apt upgrade -y- Зарезервируйте время и доступ к маршрутизатору, если будете открывать сайт в Интернет.
Шаг 1: Установка Apache (веб-сервер)
Apache — один из самых распространённых веб-серверов и совместим с WordPress.
Установите Apache:
sudo apt install apache2 -yПроверьте IP-адрес Pi:
hostname -IОткройте в браузере http://IP_ВАШЕГО_PI — должна появиться тестовая страница Apache.
Вы можете также проверить с самого Pi:
http://localhost
Если Apache доступен, переходим к PHP.
Шаг 2: Установка PHP
PHP — язык, на котором написан WordPress. На Raspberry Pi используйте стабильную версию из репозиториев (обычно PHP 7.x или 8.x, в зависимости от ОС).
Установите PHP и модули, необходимые для WordPress:
sudo apt install php php-mbstring php-xml php-curl php-gd php-zip libapache2-mod-php -yПроверьте работу PHP, создавая тест-файл:
cd /var/www/html/
sudo rm index.html
sudo nano index.phpДобавьте в index.php:
Сохраните и перезапустите Apache:
sudo service apache2 restartОткройте сайт в браузере — должно отображаться «hello world», текущее время и страница phpinfo().

Совет: после проверки удалите phpinfo() из index.php — эта страница раскрывает конфигурацию сервера.
Шаг 3: Установка MariaDB (MySQL)
WordPress требует базу данных. На Raspberry Pi рекомендуем MariaDB (совместима с MySQL).
Установите сервер базы данных и PHP-модуль для соединения:
sudo apt install mariadb-server php-mysql -yПерезапустите Apache на всякий случай:
sudo service apache2 restartЗатем запустите скрипт безопасности:
sudo mysql_secure_installationСледуйте подсказкам: задайте root-пароль, удалите анонимных пользователей, запретите удалённый вход для root, удалите тестовую базу и обновите таблицы привилегий.
Шаг 4: Установка WordPress
Очистите директорию веб-сервера и скачайте WordPress:
cd /var/www/html/
sudo rm *
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: .Команды удаляют старую страницу, скачивают WordPress, распаковывают и назначают владельцем Apache-пользователя www-data.

Альтернатива: используйте WP-CLI для управления WordPress из командной строки. Установка WP-CLI ускоряет деплой и автоматизацию.
Шаг 5: Конфигурация MariaDB для WordPress
Войдите в MariaDB от root:
sudo mysql -uroot -pСоздайте базу данных и пользователя (замените PASSWORD на надёжный пароль):
create database wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'localhost' IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
exitПримечание: в этом примере мы даём привилегии root@localhost. В рабочей среде лучше создать отдельного пользователя с ограниченными правами.
Шаг 6: Запуск мастера установки WordPress
Откройте в браузере http://IP_ВАШЕГО_PI/ и следуйте мастеру. Для установки понадобятся:
- Database name: wordpress
- Username: root (или другой пользователь, которого вы создали)
- Password: пароль, который вы назначили
- Database host: localhost
- Table prefix: wp_
После заполнения запустите установку, задайте название сайта, учётную запись администратора и пароль.
Вход в админ-панель: http://IP_ВАШЕГО_PI/wp-admin

Доступ к сайту из Интернета
Локальная установка доступна только в вашей сети. Чтобы открыть сайт в Интернет:
- Получите доменное имя (рекомендуется для SSL).
- Настройте проброс портов на маршрутизаторе: перенаправьте внешний порт 80 → порт 80 Raspberry Pi, 443 → 443.
- Если у вас динамический IP, используйте Dynamic DNS (DynDNS, No-IP и др.). Некоторые провайдеры предоставляют бесплатные клиенты.
- Получите SSL-сертификат Let’s Encrypt с помощью certbot.
Пример получения сертификата для Apache:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.comВажно: открытие сервера в Интернет требует внимательной настройки безопасности и резервного копирования.
Альтернативы и улучшения
- Nginx + PHP-FPM вместо Apache: легче по памяти и быстрее при статиках. Установите nginx и php-fpm, адаптируйте конфигурацию.
sudo apt install nginx php-fpmПример server-блока Nginx опускается, но при необходимости можно добавить конфигурацию для /var/www/html.
Docker: упакуйте весь стек в контейнеры (nginx, php-fpm, mariadb, phpmyadmin). Это упрощает переносимость, откат и тестирование.
WP-CLI: автоматизация установки и управления плагинами/темами.
Безопасность и жесткая настройка
Основные шаги по повышению безопасности:
- Обновляйте систему и пакеты регулярно.
- Используйте отдельного пользователя БД с ограниченными правами вместо root.
- Закройте удалённый вход в MariaDB для root.
- Настройте UFW (брандмауэр): разрешите SSH, HTTP, HTTPS только при необходимости.
sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable- Установите fail2ban для защиты от брутфорса.
- Ограничьте доступ к /wp-admin по IP или настройте двухфакторную аутентификацию для администраторов.
- Отключите XML-RPC, если не используете внешние клиенты.
- Назначьте корректные права на файлы и каталоги:
sudo find /var/www/html/ -type d -exec chmod 755 {} \;
sudo find /var/www/html/ -type f -exec chmod 644 {} \;
sudo chown -R www-data:www-data /var/www/html/- Сгенерируйте уникальные ключи и соли в wp-config.php через https://api.wordpress.org/secret-key/1.1/salt/.
Резервное копирование и восстановление
Простая стратегия резервного копирования включает бекап файлов WordPress и дамп базы данных.
Резервное копирование базы данных (mysqldump):
sudo mysqldump -u root -p wordpress > /home/pi/backup/wordpress-$(date +%F).sqlРезервирование файлов сайта:
sudo rsync -av --delete /var/www/html/ /home/pi/backup/wp-files/Автоматизация через cron (ежедневно в 03:00):
crontab -e
0 3 * * * /usr/local/bin/wp-backup.shПример простого скрипта /usr/local/bin/wp-backup.sh (права +x):
#!/bin/bash
mkdir -p /home/pi/backup/$(date +%F)
mysqldump -u root -p'ВАШ_ПАРОЛЬ' wordpress > /home/pi/backup/$(date +%F)/wordpress.sql
rsync -a --delete /var/www/html/ /home/pi/backup/$(date +%F)/html/
find /home/pi/backup/ -type d -mtime +30 -exec rm -rf {} \;Замечание: храните пароль доступа к БД в защищённом файле или используйте .my.cnf с ограниченными правами.
Обслуживание и оптимизация производительности
Советы по повышению быстродействия:
- Установите кеш-плагины (WP Super Cache, W3 Total Cache, LiteSpeed Cache) — это снижает нагрузку на PHP и БД.
- Используйте object cache (Redis или Memcached) при возможности.
- Минимизируйте количество плагинов, особенно тяжёлых.
- Перенесите медиа-файлы на CDN или внешний диск.
- Для чтения/записи используйте внешний SSD, чтобы снизить износ SD-карты.
- Рассмотрите настройку OPCache и увеличение memory_limit в php.ini, если есть свободная память.
Пример включения OPCache в /etc/php//cli/php.ini и /etc/php//apache2/php.ini:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000Распространённые ошибки и способы их устранения
- Белая страница (White Screen of Death): проверьте PHP-ошибки, увеличьте memory_limit, отключите плагины, проверьте файлы темы.
sudo tail -n 100 /var/log/apache2/error.log- 500 Internal Server Error: проверьте права доступа, .htaccess и расширения PHP, лог Apache.
- Ошибка соединения с базой данных (Error establishing a database connection): проверьте параметры в wp-config.php, запустите mysql и убедитесь, что база создана.
sudo systemctl status mariadb
sudo mysql -uroot -p -e "SHOW DATABASES;"- Проблемы с обновлениями плагинов/ядра: проверьте права на файлы и свободное место на диске.
df -hКогда установка может не подойти
- Нагрузка и трафик вашего сайта превышают возможности Raspberry Pi (CPU/IO/память). В таком случае стоит перейти на облачный хостинг.
- Требования по доступности и резервированию не позволяют использовать одиночное устройство в жилой сети.
Полезные сценарии и чек-листы для ролей
Чек-лист для системного администратора:
- Обновить систему и пакеты.
- Настроить UFW и fail2ban.
- Проверить резервное копирование и его автоматизацию.
- Настроить мониторинг (uptime, нагрузка, диск).
- Регулярно проверять логи.
Чек-лист для разработчика темы/плагина:
- Включить WP_DEBUG в wp-config.php (на тестовой среде).
- Использовать WP-CLI для тестовой развертки.
- Протестировать на локальной копии данных.
Чек-лист для контент-редактора:
- Регулярно обновлять плагины и темы (после проверки в тестовой среде).
- Делать бекап перед крупными изменениями.
- Проверять скорость загрузки страниц.
Мини-методология деплоя (SOP)
- Подготовка ОС и бэкапов.
- Установка LAMP (или Nginx/FS).
- Конфигурация БД и пользовательских прав.
- Развёртывание WordPress и назначение владельца файлов.
- Первичная настройка безопасности и SSL.
- Мониторинг и бекапы.
Критерии приёмки
- Сайт доступен по локальному IP и/или домену.
- Админ-панель /wp-admin доступна и работает.
- Создана резервная копия файлов и базы данных.
- SSL установлен и перенаправление HTTP→HTTPS настроено (если сайт публичный).
Глоссарий (1 строка)
- LAMP: Linux + Apache + MySQL/MariaDB + PHP — классический стек для PHP-приложений.
Decision flowchart
flowchart TD
A[Нужен только локальный сайт?] -->|Да| B[Используйте Raspberry Pi без проброса портов]
A -->|Нет: нужен доступ из Интернета| C[Есть домен и статический IP?]
C -->|Да| D[Настройте проброс портов и сертификат Let's Encrypt]
C -->|Нет| E[Используйте Dynamic DNS или купите домен/статический IP]
E --> D
D --> F[Убедитесь в безопасности и резервном копировании]Тестовые случаи и приёмочные тесты
- Тест 1: Открыть главную страницу по IP — должна вернуться 200 OK.
- Тест 2: Войти в /wp-admin и создать пост — контент должен сохраняться и отображаться.
- Тест 3: Создать бэкап базы и восстановить его — данные совпадают.
- Тест 4: Проверить SSL (если настроен) — сертификат действителен и страница отвечает по HTTPS.
Короткое объявление — версия для соцсетей (100–200 слов)
Вы можете запустить WordPress прямо на Raspberry Pi: в этом подробном руководстве собран LAMP-стек, показана настройка Apache, PHP и MariaDB, развёртывание WordPress и советы по безопасности. Подробно описаны резервное копирование, получение SSL-сертификата и варианты с Nginx или Docker для продвинутых пользователей. Идеально для тестовой среды, обучения и небольших сайтов. Если нужен хостинг без забот — стоит рассмотреть управляемые решения.
Социальный превью (OG)
OG-заголовок: WordPress на Raspberry Pi — быстро и правильно OG-описание: Инструкция по установке LAMP, настройке WordPress, безопасности и бэкапам для домашнего сервера.
Резюме: пошаговые действия
- Установите Apache (или Nginx) и проверьте работу веб-сервера.
- Установите PHP и нужные расширения.
- Установите MariaDB и создайте базу данных.
- Скачайте WordPress, распакуйте и настройте права.
- Пройдите мастер установки и настройте администратора.
- Настройте SSL, бекапы, брандмауэр и мониторинг перед открытием в Интернет.
Важно: Raspberry Pi — отличная платформа для тестов и малых проектов. При публикации сайта в сеть уделите особое внимание безопасности, производительности и резервированию данных.
Примечания:
- Храните пароли безопасно и не используйте root для обычной работы сайта.
- Рассмотрите возможность автоматизации с помощью WP-CLI и Docker для повторяемого развертывания.
- Если вы столкнулись с конкретной ошибкой, посмотрите логи Apache и MariaDB — чаще всего ответ там.
Удачи с развёртыванием! Если нужно, могу собрать для вас готовый checklist в виде файла или подготовить Docker Compose для быстрого запуска.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента