Користувальницькькі налаштування

Налаштування сайту


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації до оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Допомога проекту
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

photostorage

Сховище зображень

Призначено, для зберігання ваших зображень, як не дивно.

Ввімкнення

Просто увімкніть. Усюди, де це підтримується, воно почне працювати.

config/alter.ini
PHOTOSTORAGE_ENABLED=1

Винесення даних кудись подалі

За замовчуванням, дані зберігаються в content/documents/photostorage. Ті, хто активно використовують зображення для ведення своєї господарської діяльності, можуть зіткнутися з проблемою “розпухання” директорії білінгу, що як мінімум нездорово, з точки зору швидкого бекапу даних. У таких випадках, починаючи з релізу 1.2.5 з'явилася можливість тримати ці дані практично де завгодно вашій душі. Від “просто іншої директорії” до “на зовнішньому хості і взагалі хочу свою хмару”.

Конфігурація зовнішнього хоста

Припустимо, ми хочемо витягнути, всі наші зображення, на якийсь зовнішній сервер, нехай він буде віртуалкою. Нехай його IP буде 192.168.0.5, наприклад.

Отож по пунктах:

  • Встановлюємо чисту FreeBSD, чи що ви там хочете або чим вмієте користуватися. Неважливо.
  • Конфігуруємо на ній мережу
/etc/rc.conf
ifconfig_vtnet0="inet 192.168.0.5 netmask 255.255.255.0"
  • Створюємо директорію, в якій ми зберігатимемо зображення
# mkdir /share/
# mkdir /share/photostorage
# chmod -R 777 /share
  • Експортуємо директорію як NFS, хоча можете використовувати будь-що, хоч CIFS хоч sshfs на ваш смак.
/etc/rc.conf
rpcbind_enable="YES"
nfs_server_enable="YES"
nfs_server_flags="-u -t -n 4"
mountd_enable="YES"
mountd_flags="-r"
/etc/exports
/share -alldirs -maproot=root  здесь_IP_вашего_биллинга
  • Перезавантажуємо сервер, щоб переконатися, що все нормально стартує

Монтування на білінговий сервер

Припустимо, ми збираємось зберігати зображення локально на білінговому сервері, в директорії /mnt/photostorage.

  • Створюємо цю директорію:
# mkdir /mnt/photostorage
  • Монтуємо в неї нашу шару 192.168.0.5
# mount 192.168.0.5:/share/photostorage /mnt/photostorage

Для забезпечення автоматичного монтування директорії, зверніться до документації з вашої ОС.

Можливо, вам не хочеться взагалі піднімати NFS, CIFS або ще щось і вам здається, що досить ssh. Да без проблем:

# pkg install fusefs-sshfs
# kldload fuse
# sysctl vfs.usermount=1
# devfs ruleset 10
# devfs rule add path 'fuse*' mode 666
# sshfs -o allow_other somelogin@192.168.0.5:/share/photostorage /mnt/photostorage

Не забуваємо перенести в нове місце наявні зображення з content/documents/photostorage/ в наше нове місце зберігання!

# mv /usr/local/www/apache24/data/billing/content/documents/photostorage/* /mnt/photostorage/

Конфігурація білінгу

Можемо взагалі нічого не змінювати, та вказати просто нову директорію сховища та включити режим проксування самим модулем “сховище зображень” для віддачі зображень зі змонтованою ФС.

config/alter.ini
PHOTOSTORAGE_DIRECTORY="/mnt/photostorage/"
PHOTOSTORAGE_URL_PREFIX=""
PHOTOSTORAGE_PROXY_MODE=1

Можемо знизити навантаження на бекенд, наприклад, тупо сімлінкнувши нове місце зберігання кудись у місце доступне по HTTP:

# ln -fs /mnt/photostorage /usr/local/www/apache24/data/photosplace

і вказавши це якось так у конфізі

config/alter.ini
PHOTOSTORAGE_DIRECTORY="/mnt/photostorage/"
PHOTOSTORAGE_URL_PREFIX="http://ваш_біллінг/photosplace/"
PHOTOSTORAGE_PROXY_MODE=0

Можемо показувати зображення прямо з нашого зовнішнього хоста, піднявши там web-сервер, що дивиться у /share/photostorage

config/alter.ini
PHOTOSTORAGE_DIRECTORY="/mnt/photostorage/"
PHOTOSTORAGE_URL_PREFIX="http://192.168.0.5/"
PHOTOSTORAGE_PROXY_MODE=0

Ну, загалом ви зрозуміли. Все обмежується лише вашою фантазією.

Пост-процесинг

Також, в Ubilling 1.4.3 з'явилась можливість автоматичної обробки всіх завантажуваних зображень.

config/alter.ini
; Чи ввімкнено після-обробку зображень при завантаженні в сховище зображень? Зображення просто відкриватимуться, 
; читатимуться та зберігатимуться по-новому після завантаження. Вже саме по собі, це може суттєво зменшувати їх розмір.
PHOTOSTORAGE_POSTPROCESSING=0
; Додавати на зображення водяний знак з content/documents/watermark.png? Очевидно, що підтримується прозорість та даний файл переживає оновлення.
PHOTOSTORAGE_WATERMARK=1
; Змінювати рівень стиснення для jpeg/png з метою мініфікації та підвищення їх притомності? Теж радикально зменшує розмір файлів, що будуть збережені.
PHOTOSTORAGE_RECOMPRESS=1
; Чи ввімкнено автоматичну зміну розмірів великих зображень? Власне, наразі, зображення з будь-яким з вимірів більшим 
; за 4k px буде продаунскейлено до 0.5х а зображення з будь-яким з вимірів більшим за 2к px буде продаунскейлено до 0.8х.
PHOTOSTORAGE_AUTORESIZE=1
; Вдруковувати в зображення відлагоджувальну інформацію, таку як дата, оригінальні розміри, оригінальний об'єм файлу, тощо.
PHOTOSTORAGE_DRAWIMGINFO=1
photostorage.txt · Востаннє змінено: 2024/01/09 12:12 повз nightfly