Зміст
Системне сховище файлів
Не повірите - призначено для зберігання ваших файлів.
Ввімкнення
Просто увімкніть. Усюди, де це підтримується, воно почне працювати.
- config/alter.ini
FILESTORAGE_ENABLED=1
Винесення даних кудись подалі
За замовчуванням, дані зберігаються в content/documents/filestorage. Ті, хто активно використовують цей функціонал, для ведення своєї господарської діяльності, можуть зіткнутися з проблемою “розпухання” директорії білінгу, що як мінімум нездорово, з точки зору швидкого бекапу даних. У таких випадках, починаючи з релізу 1.6.2 з'явилася можливість тримати ці дані практично де завгодно вашій душі. Від “просто іншої директорії” до “на зовнішньому хості і взагалі хочу свою хмару”.
Конфігурація зовнішнього хоста
Припустимо, ми хочемо витягнути, всі наші файли сховища, на якийсь зовнішній сервер, нехай він буде віртуалкою. Нехай його 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/filestorage # 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/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/
Конфігурація білінгу
Потрібно просто вказати нову директорію для файлів
- config/alter.ini
FILESTORAGE_DIRECTORY="/mnt/filestorage/"
Про розміри
За максимальний розмір завантажуваних файлів відповідають рівно дві опції php.ini:
- php.ini
;Максимальний розмір всієї форми post_max_size = 64M ;Максимальний розмір одного файлу, що завантажується upload_max_filesize = 64M
