Lychee — как развернуть собственный фотосервер на Ubuntu

Lychee — саморазмещаемое (self‑hosted) приложение для управления фото‑коллекцией через веб-интерфейс. Оно позволяет загружать, каталогизировать и просматривать фото без подписки на облачные сервисы. Lychee работает на любом веб‑сервере с Apache2 (или Nginx), PHP и MySQL/MariaDB.
В этом руководстве используется Ubuntu Server, но шаги применимы и к другим дистрибутивам Linux с незначительными изменениями пакетов. Убедитесь, что у вас доступны: MySQL/MariaDB, актуальная версия PHP и веб‑сервер (Apache/Nginx).
Кому это подходит
- Тем, кто хочет хранить фотографии под своим контролем и доступ к ним по HTTP/HTTPS.
- Малому офису или домашнему серверу без потребности в коммерческих облаках.
- Пользователям, готовым поддерживать сервер (бекапы, обновления, безопасность).
Аппаратные требования
- Любой Linux‑сервер, где можно установить snapd (опционально для дополнительных инструментов).
- Старый настольный ПК (DDR2 и выше), который может постоянно работать в сети.
- VPS или выделенный сервер — для доступа извне и большей надёжности.
Подготовка Ubuntu Server
- Скачайте актуальную ISO‑сборку Ubuntu Server с официального сайта и запишите её на USB через Etcher или другой инструмент. Можно также записать на DVD.
- В BIOS/UEFI измените порядок загрузки, чтобы установка шла с USB/DVD. Кнопка входа в BIOS зависит от производителя (DEL, F2, ESC и т. п.).
- Выберите «Install Ubuntu Server» и следуйте мастеру установки: язык, hostname (например, ubuntu-lychee), пользователь, пароль.
- При разметке диска выберите «guided — use entire disk» для автоматической разметки (подойдёт для нового сервера).
- На экране выбора пакетов отметьте LAMP server, OpenSSH server и стандартные утилиты. Установка LAMP предложит задать пароль для MySQL root — запомните его.




Установка Lychee — пошагово
Следующие блоки показывают команды и конфигурацию. Выполняйте от имени пользователя с sudo‑правами.
- Войдите в MySQL/MariaDB и создайте базу данных и пользователя. Замените ReplaceWithPasswordHere на надёжный пароль.
sudo mysql -u root -p
CREATE DATABASE lychee;
GRANT ALL PRIVILEGES ON lychee.* TO 'lycheeuser'@'localhost' IDENTIFIED BY 'ReplaceWithPasswordHere';
FLUSH PRIVILEGES;
EXIT;- Создайте конфигурацию для Apache. Откройте файл /etc/apache2/sites-available/lychee.conf в текстовом редакторе.
sudo nano /etc/apache2/sites-available/lychee.confВставьте корректный VirtualHost (замените domainnamehere.com и your-domain.com на ваш реальный домен при наличии):
ServerAdmin admin@domainnamehere.com
DocumentRoot /var/www/html/Lychee/
ServerName your-domain.com
ServerAlias www.domainnamehere.com
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
ErrorLog /var/log/apache2/domainname.com-error_log
CustomLog /var/log/apache2/domainname.com-access_log common
Сохраните (Ctrl+O) и закройте (Ctrl+X).
- Включите сайт и перезапустите Apache:
sudo a2ensite lychee.conf
sudo systemctl reload apache2- Установите git и PHP‑модули, необходимые Lychee. Команда объединена корректно и устанавливает стандартные модули.
sudo apt update
sudo apt install git php-cli php-gd php-mysql php-curl php-json php-zip php-exif php-mbstring php-xml unzip- Скачайте код Lychee в папку веб‑сервера и установите права и владельца:
cd /var/www/html/
sudo git clone https://github.com/electerious/Lychee.git
sudo chown -R www-data:www-data Lychee
sudo find Lychee -type d -exec chmod 755 {} \;
sudo find Lychee -type f -exec chmod 644 {} \;
sudo chmod -R 755 Lychee/uploads Lychee/dataПримечание: в ранних инструкциях часто предлагают chmod 777. Это небезопасно для продакшена. Правильнее использовать владельца www-data и права 755/644.
- Перезапустите Apache ещё раз:
sudo systemctl restart apache2Первичная настройка Lychee
- Узнайте локальный IP с помощью ifconfig или ip addr. Пример:
ip a | grep inet- В браузере откройте http://local.ip.address/Lychee или http://your-domain.com
- В форме подключения к базе укажите:
- User: lycheeuser
- Database: lychee
- Password: пароль, который вы задали при создании пользователя
- Создайте администратора Lychee: укажите имя пользователя и безопасный пароль и нажмите Create.

Основные операции в Lychee
Добавление фотографий интуитивно:
- Нажмите «+» → Upload, выберите файл или папку.
- Фотографии появятся в альбоме «unsorted».
Создание альбома:
- Нажмите «+» → Create Album. Для загрузки в альбом сначала выберите его, затем Upload.
Импорт по ссылке:
- Нажмите «+» → Import via Link. Вставьте прямую ссылку на изображение и подтвердите.
Импорт с сервера (массовая загрузка):
- Разместите фото в папке на сервере. В интерфейсе Lychee выберите Import via server и укажите путь к папке.
Импорт через Dropbox:
- Нажмите значок шестерёнки → Setup Dropbox и следуйте инструкциям для привязки. Затем можно Import через Dropbox.



Безопасность и эксплуатация (рекомендации)
Важно обеспечить базовые меры безопасности для публичного фотосервера:
- Включите HTTPS с помощью Let’s Encrypt (certbot) и автоматического обновления сертификатов.
- Используйте firewall (UFW): откройте только нужные порты (80, 443, 22 для SSH по необходимости).
- Отключите root‑вход по SSH и используйте ключи SSH вместо паролей.
- Установите Fail2ban для защиты от брут‑форса.
- Ограничьте права на файлы: владелец www‑data, права 755/644, избегайте 777.
- Регулярно применяйте обновления системы и PHP/Apache.
Резервное копирование и обновления
Резервируйте два компонента:
- Файлы: /var/www/html/Lychee/uploads и /var/www/html/Lychee/data.
- База данных MySQL: дамп командой
mysqldump -u root -p lychee > lychee_backup.sqlПример простой стратегии: ежедневный бекап файлов и ежечасный дамп базы (в зависимости от количества изменений). Храните копии на внешнем диске или в другом сервере.
Чеклисты по ролям
Администратор (установка и поддержка):
- Установить сервер и LAMP.
- Создать базу данных и пользователя.
- Настроить виртуальный хост и HTTPS.
- Настроить права и резервное копирование.
- Планировать обновления и мониторинг.
Оператор загрузок (контент):
- Создавать альбомы и загружать фото корректных размеров.
- Проверять метаданные (EXIF) при необходимости.
- Контролировать публичные ссылки и права доступа.
Оператор резервного копирования:
- Проверять наличие ежедневных бекапов.
- Проводить тестовое восстановление из резервных копий раз в месяц.
Критерии приёмки
Чтобы считать развёртывание успешным:
- Веб‑интерфейс Lychee доступен по HTTP(S) и открывается главная страница.
- Авторизация администратора работает, и можно создать альбом.
- Загрузка файла в интерфейсе проходит без ошибок; фото появляется в альбоме.
- База данных подключается с указанными учётными данными.
- Резервное копирование файлов и дамп базы успешно выполняются.
Отладка частых проблем
- 500 Internal Server Error: проверьте логи Apache (/var/log/apache2/…). Проверьте права и owner для каталога Lychee.
- Ошибка подключения к БД: проверьте правильность hostname, пользователя и пароля; убедитесь, что MySQL слушает локально.
- Изображения не загружаются или повреждены: проверьте права на uploads и наличие PHP‑модулей (gd, exif).
Когда Lychee не подойдёт (ограничения)
- Если нужен корпоративный уровень SLA и масштабируемость на тысячи одновременных пользователей — лучше рассмотреть коммерческие решения или масштабируемые сервисы.
- Для автоматической синхронизации с мобильными устройствами потребуется дополнительная настройка или сторонние инструменты.
Альтернативные подходы
- PhotoPrism — современный self‑hosted менеджер с функциями распознавания изображений (требует больше ресурсов).
- Piwigo — ориентирован на каталоги и альбомы, хорошо подходит для публикации фото‑галерей.
- Простая файловая папка + Nginx + WebDAV — минималистичный вариант без метаданных и галерей.
Мини‑методология развёртывания (5 шагов)
- Подготовка ОС и сети (обновления, firewall, SSH).
- Установка LAMP и зависимостей PHP.
- Создание базы данных и пользователя.
- Деплой Lychee, права и виртуальный хост.
- HTTPS, бекапы, мониторинг и безопасность.
Краткое руководство по миграции из другого сервиса
- Скачайте все изображения с исходного сервиса (ZIP/экспорт).
- Поместите их на сервер в каталог, доступный Lychee (или импортируйте через интерфейс Import via server).
- Импортируйте и вручную скорректируйте метаданные/альбомы при необходимости.
Заключение
Lychee — надёжный выбор для тех, кто хочет простой, интуитивный и контролируемый фотосервер. Он легко разворачивается на Ubuntu и даёт все базовые возможности: загрузка, альбомы, импорт по ссылке и интеграция с Dropbox. Следите за безопасностью, настройте HTTPS и бекапы — и ваш фотосервер будет работать стабильно.
Важно: поддержка, обновления и безопасность — ваша ответственность как хозяина сервера.
Ключевые ссылки и команды приведены в тексте. Если нужно, могу подготовить playbook Ansible или готовый скрипт автоматической установки для Ubuntu.
Похожие материалы
Gmail не скачивает изображения на Android
Рваная картинка в Firefox — как исправить
Сеть не работает после обновления Windows 10 (1803)
Смотреть все матчи NFL в прямом эфире без кабеля
Auth0 в React — пошаговая интеграция