====== Системне сховище файлів ======
Не повірите - призначено для зберігання ваших файлів.
====== Ввімкнення ======
Просто увімкніть. Усюди, де це підтримується, воно почне працювати.
FILESTORAGE_ENABLED=1
====== Винесення даних кудись подалі ======
За замовчуванням, дані зберігаються в **content/documents/filestorage**. Ті, хто активно використовують цей функціонал, для ведення своєї господарської діяльності, можуть зіткнутися з проблемою "розпухання" директорії білінгу, що як мінімум нездорово, з точки зору швидкого бекапу даних. У таких випадках, починаючи з релізу 1.6.2 з'явилася можливість тримати ці дані практично де завгодно вашій душі. Від "просто іншої директорії" до "на зовнішньому хості і взагалі хочу свою хмару".
===== Конфігурація зовнішнього хоста =====
Припустимо, ми хочемо витягнути, всі наші файли сховища, на якийсь зовнішній сервер, нехай він буде віртуалкою. Нехай його IP буде 192.168.0.5, наприклад.\\
Отож по пунктах:
* Встановлюємо чисту FreeBSD, чи що ви там хочете або чим вмієте користуватися. Неважливо.
* Конфігуруємо на ній мережу
ifconfig_vtnet0="inet 192.168.0.5 netmask 255.255.255.0"
* Створюємо директорію, в якій ми зберігатимемо файли
# mkdir /share/
# mkdir /share/filestorage
# chmod -R 777 /share
* Експортуємо директорію як NFS, хоча можете використовувати будь-що, хоч CIFS хоч sshfs на ваш смак.
rpcbind_enable="YES"
nfs_server_enable="YES"
nfs_server_flags="-u -t -n 4"
mountd_enable="YES"
mountd_flags="-r"
/share -alldirs -maproot=root тут_IP_вашого_білінгу
* Перезавантажуємо сервер, щоб переконатися, що все нормально стартує
===== Монтування на білінговий сервер =====
Припустимо, ми збираємось зберігати файли локально на білінговому сервері, в змонтованій директорії **/mnt/filestorage**.
* Створюємо цю директорію:
# mkdir /mnt/filestorage
* Монтуємо в неї нашу шару 192.168.0.5
# mount 192.168.0.5:/share/filestorage /mnt/filestorage
Для забезпечення автоматичного монтування директорії, зверніться до документації з вашої ОС.
Можливо, вам не хочеться взагалі піднімати 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/filestorage /mnt/filestorage
Не забуваємо перенести в нове місце наявні файли сховища з **content/documents/filestorage/** в наше нове місце зберігання!
# mv /usr/local/www/apache24/data/billing/content/documents/filestorage/* /mnt/filestorage/
===== Конфігурація білінгу =====
Потрібно просто вказати нову директорію для файлів
FILESTORAGE_DIRECTORY="/mnt/filestorage/"
====== Про розміри ======
За максимальний розмір завантажуваних файлів відповідають рівно дві опції php.ini:
;Максимальний розмір всієї форми
post_max_size = 64M
;Максимальний розмір одного файлу, що завантажується
upload_max_filesize = 64M