Установка и запуск Wordpress на Raspberry Pi

Спустя некоторое время мне встретилась новость о том, что MySQL стал доступен на Raspberry в докере. Я решил попробовать запустить блог Wordpress на моем Raspberry Pi model 3 (хотя и на model 2 тоже должно работать) и сейчас опишу как это у меня получилось.

Raspberry Pi

Первым делом устанавливаем докер. Он нам понадобится для более простого запуска и настройки сервисов, необходимых для блога.

Подключаемся по ssh к малинке и выполняем команду

curl -fsSL get.docker.com | sh

После установки видим сообщение

If you would like to use Docker as a non-root user, you should now consider
adding your user to the “docker” group with something like:
sudo usermod -aG docker pi

Если мы хотим использовать докер без sudo можно выполнить предложенную нам команду. С помощью нее мы добавим текущего пользователя “pi” в группу “docker”.

sudo usermod -aG docker pi

Еще нам понадобится docker-compose и его необходимо установить отдельной командой.

sudo apt install -y docker-compose

docker-compose это часть докера которая позволяет запускать докер образы по заранее подготовленному конфигурационному файлу.

После того как докер и его части установлены, создаем папку, в которой будет находиться конфигурация.

mkdir docker

Переходим в созданную папку с помощью команды

cd docker

и создаем файл с настройками для докера который будет содержать 2 сервиса: база данных и сам блог.

nano docker-compose.yml

Открывается окно редактирования текста.

Вставляем туда следующий текст (количество пробелов вначале строки должно соответствовать потому что это yaml файл)

version: '2'

services:
db:
image: hypriot/rpi-mysql:5.5
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:

Пароли в файле необходимо поменять но MYSQL_USER должен быть равен WORDPRESS_DB_USER , а MYSQL_PASSWORD — WORDPRESS_DB_PASSWORD

После того как текст напечатан/вставлен, сохраняем его с помощью комбинации клавиш “Ctrl” + “X” , потом нажимаем “y” и “Enter”

Чтобы запустить наш блог нам необходимо выполнить команду

sudo docker-compose up -d

После ее выполнения запустится два сервиса и после этого блог можно будет открыть по адресу http://raspberrypi или ip адрес вроде http://192.168.1.50

Если мы хотим остановить сервис необходимо из папки с docker-compose файлом выполнить “sudo docker-compose stop”, для дальнейшего запуска “docker-compose start”. Если необходимо удалить сервисы то необходимо выполнить “sudo docker-compose down”. В таком случае удалятся сервисы но остается база данных. Если необходимо удалить и ее то нужно добавить -v в конец команды чтобы она выглядела так sudo “docker-compose down -v”

После этого в можно настроить ddns в роутере и привязать доменное имя к своему блогу. С учетом того что потребление электроэнергии у Raspberry Pi минимальное то содержание такого блога будет обходиться меньше 0.1$ в месяц.

UPD

Проверил сейчас с помощью wrk нагрузку при открытии главной страницы, получилось — 56.22 запросов в секунду.

Для более серьезных задач можно разделить базу и сервис на разные устройства или купить китайские аналоги, которые могут быть быстрей в несколько раз.