Jump to content

Kirill Petrov

Forum Members
  • Posts

    2
  • Joined

  • Last visited

Equipment

  • Keenetic
    d

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Kirill Petrov's Achievements

Newbie

Newbie (1/5)

3

Reputation

  1. Спасибо за подсказку. НЕ силен в nginx долго не мог понять почему не работает вызов библиотеки. Напишу маленький мануал может быть кому-нибудь пригодится. Ставим nginx-extras + библиотеки libxml2 и libxslt. opkg update opkg install nginx-extras libxml2 libxslt Подключаем библиотеку в /opt/etc/nginx/nginx.conf load_module /opt/lib/nginx/ngx_http_xslt_filter_module.so; Делаем свой server ( тут кусочек из nginx.conf отвечающий за Галерею) server { listen 4444 ; auth_basic "Restricted Content"; auth_basic_user_file /opt/etc/nginx/.htpasswd; root /opt/share/www; location /gal { autoindex on;} location ~ /gal/([A-z]+)/$ { autoindex on; autoindex_format xml; xslt_string_param title $1; xslt_stylesheet /opt/etc/nginx/gal.xslt; try_files $uri/ =404; } } Маленькое пояснение. Сделал листинг директории /gal - открытый - можно видеть папки ( делать аля Альбомы). Директории ниже /gal - включается листинг через xslt_stylesheet - отображение фотографий. Т.е. положив фотографии в директорию /opt/share/www/gal/myphoto их можно будет просмотреть по адресу: http://mysite.com/gal/myphoto auth_basic и auth_basic_user_file - отвечают за аутентификацию. Т.е. вход в галерею по Логин\пароль (легко гуглится подробности) Создать файл /opt/etc/nginx/gal.xslt следующего содержания <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="utf-8" indent="yes" /> <xsl:template match="/"> <xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text> <html> <head> <title><xsl:value-of select="$title" /></title> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <style> img { display: block; max-width: 25cm; max-height: 20cm; margin: 2mm; vertical-align: bottom; } @media all and (max-width: 20.4cm) { img { max-width: calc(100% - 4mm); } } body { margin: 0; } </style> </head> <body> <xsl:for-each select="list/file"> <img src="{.}" alt="{.}"/> </xsl:for-each> </body> </html> Опустил подробности HTTPS настройки- по этому поводу тут уже много мануалов написано
  2. Всем привет. Помогите найти решение для решения следующей задачи: Необходимо какой-то простой и легкий способ показывать фотографии. Что-то типа Piwigo ( но желательно полегче и без наворотов PHP). Есть интересный способ организовать это чисто через nginx с библиотекой ngx_http_xslt_filter_module.so ссылка , но насколько я понял под нашу платформу она не собрана.
×
×
  • Create New...