Инструменты пользователя

Инструменты сайта


Боковая панель

Разделы

Общее описание
История изменений
Рекомендации к обновлению
Планы на будущее
Известные проблемы
Онлайн демо
Случайная статья
Видео
Помощь проекту
Люди

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

Ну в общем вы поняли. Все ограничивается только вашей фантазией.

photostorage.txt · Последние изменения: 2022/02/03 17:42 — nightfly