Piwigo на Raspberry Pi: установка, настройка и безопасная эксплуатация

Что такое Piwigo и зачем запускать его на Raspberry Pi?
Piwigo — это система управления фотографиями с открытым исходным кодом (раньше называлась PhpWebGallery). Простыми словами: это веб-приложение для хранения, организации и публикации ваших снимков, которым вы управляете сами. Кратко:
- Лицензия: свободное ПО (GNU GPL) — можно запускать, изучать, изменять и распространять.
- Интерфейс: темы, мобильные клиенты, расширения.
- Подходит для Raspberry Pi: работает даже на старых моделях при умеренной нагрузке.
Почему self-hosting? Главные преимущества:
- Контроль над данными: фото остаются на вашем оборудовании.
- Отсутствие коммерческих ограничений и неожиданных политик хранения.
- Гибкость: свои темы, правила доступа, интеграции.
Важное: self-hosting требует базовых навыков системного администрирования и регулярного обслуживания (обновления, бэкапы, мониторинг).
Требования и подготовка Raspberry Pi
Коротко о минимуме для комфортной работы:
- Raspberry Pi 3/4/Zero 2 — Pi 4 предпочтительнее при большой библиотеке.
- SD/SSD: быстрый носитель для системы и метаданных; для большого каталога используйте внешний диск.
- Память: 2–4 ГБ достаточно для домашней галереи; если планируете много одновременных пользователей — берите 4 ГБ и выше.
- Сеть: стабильный интернет-канал и статический публичный IP или DDNS для внешнего доступа.
Подготовьте Raspberry Pi: обновите пакеты и установите необходимые компоненты (Apache, PHP, MariaDB/MySQL, curl). Далее — пошаговая настройка.
Подготовка системы и обновление пакетов
Запустите обновление пакетов перед установкой:
sudo apt update
sudo apt upgradeОбщая рекомендация: периодически выполнять apt update/upgrade и перезагружать систему при необходимости.
Создание базы данных для Piwigo
Piwigo хранит метаданные в базе. В примере используется MariaDB.
Откройте MariaDB:
sudo mariadbВыполните по очереди SQL-команды для создания базы и пользователя:
CREATE DATABASE piwigo;
CREATE USER piwigo IDENTIFIED BY 'supertopsecretpassword';
GRANT USAGE ON *.* TO piwigo@localhost IDENTIFIED BY 'supertopsecretpassword';
GRANT ALL privileges ON piwigo.* TO piwigo@localhost;
FLUSH PRIVILEGES;
quit;Примечание: замените ‘supertopsecretpassword’ на надёжный пароль, который вы храните в менеджере паролей.
Важно: используйте отдельного пользователя базы данных с ограниченными правами — только для Piwigo.
Настройка DNS и Apache
- В панели регистратора создайте A-запись на ваш публичный IP (host = @ или поддомен, если используете subdomain).
- Настройте виртуальный хост Apache. Создайте файл конфигурации:
cd /etc/apache2/sites-available/
sudo nano piwigo.confВ файле укажите порт 80 и вашу доменную имя и корень документа:
ServerName your-domain-name.tld
DocumentRoot /var/www/piwigo/
Сохраните файл и включите сайт, затем перезапустите Apache:
sudo a2ensite
sudo service apache2 restartСоздайте директорию для Piwigo и назначьте правильного владельца:
sudo mkdir /var/www/piwigo/
cd /var/www/piwigo/Скачайте инсталлятор Piwigo в текущую папку:
sudo curl https://piwigo.org/download/dlcounter.php?code=netinstall -o install.phpЗатем установите владельца файлов на пользователя Apache (www-data):
sudo chown -R www-data:www-data .Установка Piwigo через веб-инсталлятор
Откройте браузер и перейдите по адресу:
https://your-domain-name.tld/install.phpИнсталлятор предложит выбрать язык и директорию установки. Если вы хотите, чтобы Piwigo был доступен по корню домена, оставьте поле «destination» пустым.

Нажмите «Retrieve and unzip Piwigo», затем проверьте содержимое:
ls -a /var/www/piwigo/Если всё прошло успешно, нажмите «Install Piwigo now». На следующем экране укажите конфигурацию базы данных (название базы и пользователя — piwigo, пароль тот, который вы задали).

Создайте учётную запись администратора в разделе Administration configuration и нажмите «Start installation». После установки обязательно удалите или защитите установочный файл по инструкции Piwigo.
Настройка HTTPS с помощью Certbot
Чтобы обеспечить безопасное соединение, используйте Certbot и Let’s Encrypt:
sudo certbotВведите контактный email и выберите домен. Certbot автоматически получит и установит сертификаты. Затем проверьте автоматическое обновление сертификатов, например с помощью cron или systemd-timer (certbot обычно создаёт таймер сам).
Важно: перенаправляйте HTTP на HTTPS, чтобы все соединения были шифрованы.
Первые шаги в Piwigo: загрузка и организация фото
После входа в Piwigo вы увидите сообщение, что галерея пуста. Нажмите кнопку «I want to add photos», затем создайте альбом и загрузите фотографии — через диалог «Add photos» или перетянув файлы в браузер.

Загрузка больших объёмов может занять время. Piwigo поддерживает постраничный просмотр изображений в альбоме и позволяет устанавливать размеры по умолчанию, водяные знаки, комментарии и управление пользователями через Admin > Configuration.



Мобильный доступ и синхронизация
Piwigo имеет официальные мобильные приложения для iOS и Android, а также Android-версию в F-Droid (open source). Приложения облегчают загрузку фотографий прямо с телефона и позволяют создавать альбомы на ходу.
Безопасность и жёсткая конфигурация (hardening)
Короткий чеклист по безопасности:
- Обновления: регулярно выполняйте apt upgrade и обновляйте PHP и плагины Piwigo.
- Права: убедитесь, что каталоги имеют корректные права; web-пользователь (www-data) владеет только директориями, связанными с Piwigo.
- TLS: включите HTTPS и отключите старые версии протоколов (TLS 1.0/1.1).
- Защита от перебора: установите fail2ban для защиты от брутфорс-атак на SSH и веб-админку.
- Ограничение доступа: при необходимости ограничьте доступ к /admin по IP или двухфакторной аутентификацией.
- Удалите install.php и другие установочные файлы после установки.
- Бэкап секретов: храните пароли и ключи в безопасном менеджере паролей.
Дополнительно: рассмотрите использование reverse proxy (nginx) перед Apache для тонкой настройки SSL и кеширования.
Резервное копирование и восстановление
Минимальная методология резервного копирования:
- Резервируйте папку с файлами Piwigo (/var/www/piwigo/galleries, user uploads и конфиги).
- Резервируйте базу данных MariaDB (mysqldump).
- Храните копии вне устройства (диска): внешний NAS, облачный бэкап или другой сервер.
Пример команд (ориентир):
- Бэкап базы:
mysqldump -u root -p piwigo > /path/to/backup/piwigo.sql- Архивация загрузок:
tar czvf /path/to/backup/piwigo-files-$(date +%F).tar.gz /var/www/piwigo/galleriesПроверяйте бэкапы, восстанавливайте их на тестовой машине и документируйте процедуру восстановления.
Отладка и частые проблемы
- 500 / 502 ошибки: проверьте логи Apache (/var/log/apache2/error.log) и логи PHP.
- Ошибка подключения к базе: проверьте credentials в файле конфигурации Piwigo и доступ mariadb.
- Проблемы с правами: убедитесь, что www-data владеет релевантными каталогами и имеет право записывать превью.
- SSL не применяется: повторите certbot –apache или проверьте виртуальный хост для порта 443.
- Медленная загрузка миниатюр: настройте кеширование и убедитесь, что PHP имеет достаточно памяти.
Критерии приёмки (после установки):
- Веб-интерфейс открывается по HTTPS без ошибок.
- Вход под администратором работает.
- Можно создать альбом и загрузить тестовую фотографию.
- Превью генерируются, а права файлов корректны.
Роли и чеклисты (кто что делает)
Администратор:
- Настроить DNS и Apache/HTTPS.
- Обеспечить бэкап и обновления.
- Управлять пользователями и правами.
Фотограф/пользователь:
- Загружать фотографии через мобильное приложение или браузер.
- Организовывать альбомы и метаданные.
Технический поддержник:
- Мониторить загрузку диска и работу MariaDB.
- Проводить тесты восстановления бэкапов.
Альтернативы и когда Piwigo не подойдёт
Когда стоит выбрать другое решение:
- Большие коллекции с автоматическим распознаванием лиц и продвинутой обработкой (AI) — рассмотрите PhotoPrism или коммерческие сервисы.
- Если вам нужна тесная интеграция с файловым хранилищем и офисными документами — Nextcloud Photos может быть лучше.
- Для простой минималистичной галереи без сервера — Lychee или статические генераторы галерей.
Piwigo отлично подходит, если вы хотите гибкость тем и плагинов, простоту управления пользователями и открытость исходников.
Конфигурационные рекомендации и лучшие практики
- Настройте квоты для пользователей, если на сервере мало места.
- Используйте внешний диск или NAS для хранения оригиналов.
- Регулярно удаляйте устаревшие превью и запускайте оптимизацию базы.
Приватность и соответствие требованиям (GDPR и прочее)
Если вы публикуете личные данные или фотографии других людей:
- Храните согласия на публикацию и обработку изображений.
- Доступ к галерее ограничивайте на уровне ролей и альбомов.
- При необходимости предоставьте пользователям способ удалить их данные.
Piwigo позволяет управлять правами доступа и скрывать метаданные EXIF при экспорте.
Проверочные тесты и критерии приёмки
- Тест 1: Установка завершилась без ошибок, админ входит — пройдён.
- Тест 2: Загрузка 10 фотографий разного размера, генерация превью — пройдён.
- Тест 3: Восстановление базы и файлов из бэкапа на тестовой машине — пройдён.
Ментальные модели и эвристики
- Разделяйте оригиналы и превью: оригиналы на медиа-носителе, а превью в кеше — это ускорит показ.
- Малые шаги: внедряйте бэкап → тест восстановления → мониторинг до того, как начнёте массовую загрузку.
- Принцип наименьших прав: давать пользователям минимум нужных разрешений.
Короткое объявление для соцсетей (100–200 слов)
Разворачиваете личную фотогалерею без сторонних сервисов? Piwigo на Raspberry Pi — отличное сочетание: вы храните все снимки у себя, управляете доступом и используете мобильные приложения для быстрого добавления фото. В статье — пошаговая установка, настройка Apache и MariaDB, включение HTTPS, рекомендации по безопасности и резервному копированию. Подходит как для семейных архивов, так и для небольших портфолио.
Короткая сводка и дальнейшие шаги
Piwigo на Raspberry Pi — практичное решение для тех, кто ценит контроль над фотоархивом. Начните с базовой установки, настройте TLS и бэкапы, затем постепенно настраивайте права и темы. Если нужно масштабировать — переносите медиа на NAS и укрепляйте сервер.
Итоги:
- Piwigo даёт гибкий и открытый путь к self-hosted фотогалерее.
- Важно следить за безопасностью, правами и бэкапами.
- Мобильные приложения делают загрузку удобной.
Если хотите, могу подготовить готовый checklist в формате файла (CSV/Markdown) для развертывания Piwigo шаг за шагом.
Похожие материалы
Скриншот в инкогнито на Android
Микрофон не работает на Android — как быстро исправить
Как устанавливать моды в Minecraft — полный гид
Как сделать групповой заказ в Uber Eats
Липкий хедер на CSS: простое руководство