Гид по технологиям

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

9 min read WordPress Обновлено 23 Apr 2026
WordPress на Raspberry Pi — установка и настройка
WordPress на Raspberry Pi — установка и настройка

wordpress-host-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 3 and Raspberry Pi 3 B+

Рекомендации по выбору:

  • Минимум: 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 server installed on Raspberry Pi

Если 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().

PHP installed and working on Raspberry Pi

Совет: после проверки удалите 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.

Download WordPress with wget

Альтернатива: используйте 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

Installed WordPress site on a Raspberry Pi

Доступ к сайту из Интернета

Локальная установка доступна только в вашей сети. Чтобы открыть сайт в Интернет:

  1. Получите доменное имя (рекомендуется для SSL).
  2. Настройте проброс портов на маршрутизаторе: перенаправьте внешний порт 80 → порт 80 Raspberry Pi, 443 → 443.
  3. Если у вас динамический IP, используйте Dynamic DNS (DynDNS, No-IP и др.). Некоторые провайдеры предоставляют бесплатные клиенты.
  4. Получите 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/

Резервное копирование и восстановление

Простая стратегия резервного копирования включает бекап файлов 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)

  1. Подготовка ОС и бэкапов.
  2. Установка LAMP (или Nginx/FS).
  3. Конфигурация БД и пользовательских прав.
  4. Развёртывание WordPress и назначение владельца файлов.
  5. Первичная настройка безопасности и SSL.
  6. Мониторинг и бекапы.

Критерии приёмки

  • Сайт доступен по локальному 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 для быстрого запуска.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро