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

Как установить и использовать Piwigo на Raspberry Pi

8 min read Самохостинг Обновлено 23 Dec 2025
Piwigo на Raspberry Pi: установка и руководство
Piwigo на Raspberry Pi: установка и руководство

Piwigo с темой Pure Sky и несколькими изображениями

Что такое Piwigo

Piwigo — это веб-приложение для управления фотографиями с открытым исходным кодом. Одной строкой: Piwigo хранит, индексирует и показывает фото через браузер и мобильные приложения.

Коротко: Piwigo родился как PhpWebGallery в 2001 году и получил текущее имя в 2009 году. Лицензия GNU GPL позволяет запускать, изучать, распространять и изменять программное обеспечение без ограничений.

Зачем запускать Piwigo на Raspberry Pi

Многие пользователи устали от зависимостей от облачных провайдеров и ограничения бесплатного хранилища. Самохостинг даёт контроль над фото, метаданными и доступом. Raspberry Pi подходит как недорогая платформа для домашнего сервера — особенно модели с 2–8 ГБ оперативной памяти.

Преимущества самохостинга Piwigo на Raspberry Pi:

  • Полный контроль над данными и доступом.
  • Низкие эксплуатационные затраты в домашних условиях.
  • Простая интеграция с локальной сетью и внешним доступом через домен и HTTPS.
  • Поддержка тем, плагинов и мобильных клиентов.

Ограничения:

  • Для больших библиотек лучше выбирать более мощное железо или NAS.
  • Требуется настройка безопасности и резервного копирования.

Требования и подготовка

Коротко: вам нужен Raspberry Pi с установленной OS (Raspberry Pi OS / Debian), интернет, домен (или динамический DNS), и доступ к маршрутизатору (для проброса портов). Рекомендуется минимум 8 ГБ свободного пространства для базы и превью, а для больших коллекций — внешний диск.

Подготовьте:

  • Raspberry Pi с последней версией Raspberry Pi OS (64‑бит рекомендуется для новых моделей).
  • Пользователь с sudo.
  • Домен или DDNS для внешнего доступа.
  • Резервный диск или USB/NAS для хранения фото (по желанию).

Примеры аппаратных рекомендаций:

  • Raspberry Pi 4 / 400 с 4–8 ГБ ОЗУ для комфортной работы.
  • Быстрая SD карта (A1/A2) или, лучше, SSD через USB 3.0.

Обновление системы

Обновите пакеты перед установкой:

sudo apt update
sudo apt upgrade -y

Important: обновления улучшают безопасность. Выполняйте их регулярно.

Установка и настройка базы данных

Piwigo требует реляционную базу данных (MariaDB/MySQL).

Установите MariaDB (если ещё не установлена):

sudo apt install mariadb-server -y

Запустите консоль MariaDB и создайте базу и пользователя:

sudo mariadb

В интерактивной консоли выполните (замените пароль на сложный):

CREATE DATABASE piwigo;
CREATE USER 'piwigo'@'localhost' IDENTIFIED BY 'supertopsecretpassword';
GRANT ALL PRIVILEGES ON piwigo.* TO 'piwigo'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Note: используйте безопасный пароль и храните его в менеджере паролей.

Настройка Apache и виртуального хоста

Установите Apache и PHP с необходимыми расширениями (рекомендуемая минимальная сборка):

sudo apt install apache2 php php-mysql php-gd php-xml php-mbstring php-json php-curl libapache2-mod-php -y

Создайте конфигурацию сайта:

cd /etc/apache2/sites-available/
sudo nano piwigo.conf

В файле укажите примерно:


    ServerName your-domain-name.tld
    DocumentRoot /var/www/piwigo/
    
        AllowOverride All
        Require all granted
    

Сохраните и выйдите (Ctrl+O, Enter, Ctrl+X).

Активируйте сайт и перезапустите Apache:

sudo a2ensite piwigo.conf
sudo service apache2 restart

Если сайт должен работать и по локальным запросам, добавьте ServerAlias или создайте отдельный DNS/hosts-запись.

Создайте директорию сайта и установите права:

sudo mkdir -p /var/www/piwigo/
cd /var/www/piwigo/
sudo chown -R www-data:www-data .

Настройка DNS и проброс портов

На registrar’е добавьте A‑запись домена (или subdomain) — хост @ или subdomain укажите IP вашего маршрутизатора. На маршрутизаторе пробросьте порты 80 и 443 на Raspberry Pi.

Если у вас динамический IP, используйте службу DDNS и настройте клиент обновления IP на Raspberry Pi.

Загрузка инсталлятора Piwigo

Скачайте net‑installer в папку сайта:

sudo curl "https://piwigo.org/download/dlcounter.php?code=netinstall" -o install.php

Проверьте содержимое каталога:

ls -a /var/www/piwigo/

установщик Piwigo для загрузки и распаковки архива

Установка через браузер

Откройте в браузере: https://your-domain-name.tld/install.php (или http:// если HTTPS ещё не настроен). В установщике выберите язык и целевой путь. Если вы хотите, чтобы Piwigo открывался по корню домена, оставьте поле пути пустым.

Нажмите «Retrieve and unzip Piwigo». Инсталлятор загрузит и распакует архив.

терминал с содержимым каталога piwigo

На следующем шаге введите данные базы данных (host — localhost, имя базы — piwigo, пользователь — piwigo, пароль — тот, что вы задали), затем создайте администратора сайта.

экран базовой конфигурации Piwigo

После успешной установки вы получите сообщение об окончании. Войдите в панель администратора.

Настройка HTTPS

Установите Certbot и получите сертификаты от Let’s Encrypt:

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache

Следуйте подсказкам: введите email, соглашайтесь с правилами, выберите домен. Certbot автоматически обновит конфигурацию Apache и добавит редирект на HTTPS.

Important: сертификаты Let’s Encrypt действуют 90 дней. Certbot добавляет автоматическое обновление, но проверьте cron/systemd timer.

Первые шаги в Piwigo — загрузка и альбомы

После входа нажмите «I want to add photos» и создайте новый альбом. Вы можете перетаскивать файлы в браузер или использовать кнопку «Add photos» и затем «Start upload».

сообщение о пустой галерее Piwigo

Фото будут создавать превью и храниться в каталоге Piwigo. В зависимости от количества и скорости соединения загрузка может занять длительное время.

экран загрузки фотографий в Piwigo

Альбомы пагинируются. Настройки глобальных параметров находятся в Admin > Configuration.

галерея тем Piwigo

Мобильные приложения

Piwigo имеет официальные мобильные клиенты для iOS и Android. На Android клиент доступен в Google Play и в F‑Droid (открытый). Мобильное приложение упрощает загрузку прямо с телефона.

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

Резервное копирование — ключ к защите фото. Делайте регулярные бэкапы двух типов:

  1. Бэкап базы данных (содержит информацию о фото, альбомах, пользователях):
mysqldump -u root -p piwigo > /path/to/backup/piwigo_db_$(date +%F).sql
  1. Бэкап файлов (оригиналы, превью и конфиги):
sudo rsync -a /var/www/piwigo/ /path/to/backup/piwigo_files/

Храните бэкапы на внешнем диске и/или в облаке. Тестируйте восстановление.

Безопасность и харднинг

Рекомендации по безопасности:

  • Используйте HTTPS для внешнего доступа.
  • Обновляйте систему и Piwigo (ядро и плагины) регулярно.
  • Отключите или ограничьте доступ к панели администратора по IP, если возможно.
  • Настройте firewall (ufw):
sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable
  • Ограничьте права файлов: папки веб‑сервера принадлежат www-data, не давайте лишних прав.
  • Используйте сложные пароли и двухфакторную аутентификацию для критичных учётных записей (если плагин поддерживает).

Оптимизация производительности

Несколько практических советов:

  • Перенесите хранилище фотографий на SSD или сетевой NAS для больших коллекций.
  • Увеличьте память PHP (php.ini) при большом количестве одновременных обработок:
memory_limit = 256M
upload_max_filesize = 100M
post_max_size = 110M
  • Настройте кэширование (APCu для PHP) и включите механизмы кэширования в Piwigo.
  • Контролируйте фоновые задачи по созданию превью и крон‑задачи.

Плагины и темы

Piwigo имеет магазин расширений: плагины добавляют функциональность (вложенные альбомы, комментарии, водяные знаки и т. д.). Темы меняют оформление галереи.

Рекомендации:

  • Watermark — для автоматической подписи изображений.
  • Geolocation — для карт и метаданных GPS.
  • Batch Manager — для массовых изменений метаданных.

Когда Piwigo может не подойти

Контрпримеры и ограничения:

  • Если у вас десятки тысяч крупных RAW‑файлов и многопользовательская нагрузка, лучше выбирать более мощный сервер или коммерческие решения.
  • Piwigo не заменит системы с полноценным AI‑поиском по содержимому (например, Google Photos с распознаванием лиц), если вам нужны автоматические метки объектов.

Альтернативы и сравнение

Короткая матрица сравнения:

  • Nextcloud + Photos: сильная интеграция с облачным хранилищем, много функций, встроенная синхронизация.
  • PhotoPrism: современный интерфейс, встроенное распознавание изображений, требователен к ресурсам.
  • Lychee: лёгкий и простой, но с меньшей экосистемой плагинов.

Выбор зависит от приоритетов: удобство, приватность, функции AI, требования к ресурсам.

Практическая методология развертывания (мини‑SOP)

  1. Подготовьте Pi и диск.
  2. Обновите систему.
  3. Установите LAMP‑стек и MariaDB.
  4. Создайте базу и пользователя.
  5. Настройте виртуальный хост Apache.
  6. Скачайте и распакуйте Piwigo.
  7. Пройдите установку в браузере.
  8. Настройте HTTPS и firewall.
  9. Настройте регулярные бэкапы и мониторинг.
  10. Тестируйте восстановление из бэкапа.

Роли и чеклисты

Администратор:

  • Обновить систему и приложение ежемесячно.
  • Проверять логи Apache и MariaDB.
  • Тестировать бэкапы раз в месяц.
  • Управлять правами пользователей.

Пользователь (фотограф):

  • Загружать фото через мобильное приложение или веб.
  • Присваивать метаданные (даты, теги).
  • Контролировать качество превью и размер загрузки.

Оператор сети:

  • Настроить проброс портов и резервный DNS.
  • Следить за использованием диска и I/O.

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

  1. Сайт доступен по HTTPS и корректно обслуживает страницы галереи.
  2. Администратор может войти и управлять фотографиями.
  3. Загрузка фото создаёт превью и добавляет записи в базу.
  4. Резервное копирование базы и файлов выполняется и тестово восстанавливается.

Инцидентный план восстановления (runbook)

Симптом: сайт недоступен (500 или пустая страница).

  1. Проверить логи Apache: sudo journalctl -u apache2 -e или /var/log/apache2/error.log.
  2. Проверить свободное место на диске: df -h.
  3. Проверить статус MariaDB: sudo systemctl status mariadb.
  4. Восстановить базу из последнего дампа, если коррумпирована.
  5. Откатить последние изменения конфигурации (git или резервная копия).
  6. При проблемах с HTTPS проверить certbot: sudo certbot renew –dry-run.

Тесты и критерии приёмки

  • Функциональность: логин, загрузка, просмотр, создание альбома.
  • Нагрузочный тест: одновременная загрузка 5–10 файлов — сервер не должен падать.
  • Восстановление: восстановление последней резервной копии должно занимать предсказуемое время и возвращать рабочую галерею.

Decision tree: стоит ли вам самохостить Piwigo

flowchart TD
  A[Нужен контроль над фото?] -->|Да| B[Имеется Raspberry Pi или сервер?]
  A -->|Нет| Z[Оставайтесь в облаке]
  B -->|Да| C[Большая коллекция '>50k'?]
  B -->|Нет| D[Рассмотрите облако или малую установку]
  C -->|Да| E[Используйте NAS/сервер с большим диском]
  C -->|Нет| F[Raspberry Pi подходит — продолжить установку]
  E --> G[PhotoPrism или Nextcloud]
  F --> H[Установить Piwigo]

Локальные советы и подводные камни

  • На Raspberry Pi старых версий генерация превью может быть медленной. Используйте фоновые задачи и отложенную обработку.
  • Следите за правами на каталоги: неправильные права приведут к ошибкам загрузки.
  • Если вы используете внешнюю папку для хранения фото, настройте символические ссылки и корректные права для www-data.

Короткое объявление для друзей и семьи (100–200 слов)

Я развернул домашнюю фото‑галерею на Raspberry Pi с помощью Piwigo. Теперь все семейные снимки хранятся в нашем доме, доступны по защищённому адресу и синхронизируются с телефона. Это даёт полный контроль над приватностью и удобный доступ для просмотра и скачивания. Если хотите, могу настроить доступ и показать, как загружать фото с телефона.

Краткое резюме

Piwigo — отличное решение для домашнего хранилища фотографий. На Raspberry Pi оно работает стабильно для персональных и небольших коллекций. Сосредоточьтесь на безопасности (HTTPS, firewall), резервном копировании и периодическом обслуживании. Для больших коллекций рассмотрите более мощный сервер или NAS.

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

Полезные ссылки и следующий шаг

  • Официальный сайт Piwigo: piwigo.org
  • Документация по Certbot и Let’s Encrypt
  • Руководство по резервному копированию MySQL/MariaDB

Вывод: если вам важен контроль и приватность фотографий, Piwigo на Raspberry Pi — практичное и экономичное решение. Следуйте шагам установки, настройте безопасность и бэкапы, и вы получите стабильную домашнюю фотогалерею.

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

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

Как закрепить папку или файл в Dock на Mac
macOS

Как закрепить папку или файл в Dock на Mac

Как найти локальные вакансии в вашем городе через Twitter
Поиск работы

Как найти локальные вакансии в вашем городе через Twitter

Включить «Привет, Siri» на iPhone и iPad
Мобильные устройства

Включить «Привет, Siri» на iPhone и iPad

Как поделиться библиотекой Plex с друзьями
Медиа

Как поделиться библиотекой Plex с друзьями

Ошибка 264 в Roblox — как устранить на Windows и Mac
Техподдержка

Ошибка 264 в Roblox — как устранить на Windows и Mac

Команда cat в Linux: как и когда использовать
Linux

Команда cat в Linux: как и когда использовать