Домашний сервер - photo hosting IV

Jun 12, 2024 14:09


Предыдущий пост был про установку Zenphoto, и вообще-то на этом можно было остановиться, поскольку если следовать советам, то у вас уже есть работающая галерея, mission accomplished. В этом дополнительном посте будут несколько tips & tricks как сделать Zenphoto продуктивнее и безопаснее
Структура альбомов

Что в Zenphoto замечательно - обычные альбомы просто берутся из под-директорий фолдера /volume1/web//albums. Есть альбомы виртуальные, которые набираются вручную, и существуют только в базах данных, но мне они ни разу не понадобились. Достоинство реальных альбомов - можно снести базу данных, создать новую - zenphoto перечитает директории, ничего не потеряется. Можно перенести фйлы картинок из одной директории в другую - когда откроете новый/старый альбом, zenphoto сообразит про несоответствие базы данных и файлов, и обновит базу данных как надо. Это не просто удобно, это condicio si ne qua non.

Но это еще не все. Понимание директорий позволяет использовать
Symbolic links

Вот это самая мякотка. Если использовать внутренний upload в Zenphoto с созданием новых альбомов для залитых картинок, то она создаст новый альбом/фолдер под своей дирееекторией albums. Что не всегда удобно, а, главное, может быть небезопасно - open source он такой open source, но вдруг где какая дыра? Решением служат symbolic links под альбомной директорией. Щас поясню.

Вот, допустим, у вас есть отдельная директория photo_archive, где собраны все важные для вас фотографии, допустим, под /volume1/photo_archive. Было бы очень удобно, чтобы можно было их показывать на интернете, или посылать ссылки родственникам и знакомым, но не хотелось бы, чтобы эти фотографии как-то зависели от zenphoto, хотелось бы наоборот. Очень просто:

1. Идете в Control Panel -> Shared Folders, и выбираете photo_archive. Жмете Edit -> Permissions и меняете “Local Users” на “Local Groups” - там будет группа “http” - даете им read-only permission:



2. Логинитесь на Diskstation через SSH как администратор, идете в директорию albums, и исполняете вот такую команду:

sudo -u http ln -s /volume1/photo_archive PhotoArchive

Это создаст альбом PhotoArchive, к которому у Zenphoto будет доступ только для посмотреть. Потрогать не получится.

Немедленное практическое применение для symbolic links - подцепить директорию /volume1/photo, куда Synology Photos копирует шедевры с вашего телефона. Photos не позволяет расшарить ссылку на картинку, а через связку Synology Photos -> symbolic links -> Zenphoto это делается на раз.
Прямые ссылки на фотографии

Собственно, ради чего это все и писалось.

По умолчанию, Zenphoto будет создавть специальные ссылки для своих файлов/картинок, чтобы препятствовать т.н. hotlinking, это как раз тогда, когда кто-то хочет вставить картинку напрямую в свой пост, будь то livejournal, dreamwidth или твиттер. Ссылка ведет не на картинку, а на специальный скрипт, который показывает не картинку, а страницу Zenphoto с картинкой (и авторской подписью, требованием залогинится и т.п.). Наверное, есть возможность выборочно разрешить hotlinking через какой-нибудь whitelist, но я таким пилотажем не занимался. Можно поспотреть тут, но только если вы настолько ненавидите окружающий вас мир, что можете понимать синтакс htaccess файлов. Для остальных нужно пойти (на залогиненой странице photos.fooblah.com) Admin -> Options -> Image и un-чекнуть “disable hotlinking”. После чего картинка (например) jopa.jpg в альбоме PrivateParts будет доступна по ссылке https://photos.fooblah.con/albums/PrivateParts/jopa.jpg - прямое соответсвие структуры директорий альбомов и URL’ов, на них указующих.

Да, но я не хочу, чтобы мои альбомы видели все, кто захочет? - понимаю, сочувствую, и готов сообщить решение -
Published/Unpublished альбомы

Любой альбом можно сделать password-protected, но это недостаточно, альбом не суслик и будет видно, что он там есть, а зачем привлекать внимание. Кроме защиты по паролю/юзеру, любой альбом можно сделать unpublished, и он будет как суслик - невидим.
Остальное

Zenphoto использует всякие плагины для чего-то, на эти плагины можно смотреть и с ними играть. Можно вставлять видело, если у вас хороший домашний интернет на upload. Можно создавать виртуальные альбомы, если вдруг приспичит. Все это, и многое другое, я предоставляю тебе, %USERNAME%, для самостоятельного упражнения, раз уж ты сюда добрался.

Cross-posted from here

членисторукое, зато я нюхаю и слышу хорошо, вы конечно назовете это чепухой

Previous post Next post
Up