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

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


filestorage

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

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