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

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


filestorage

Розбіжності

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

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

Наступна ревізія
Попередня ревізія
filestorage [2026/05/14 17:47]
nightfly створено
filestorage [2026/05/14 17:56] (поточний)
nightfly [Конфігурація білінгу]
Рядок 2: Рядок 2:
  
 Не повірите - призначено для зберігання ваших файлів. Не повірите - призначено для зберігання ваших файлів.
 +
 +
 +====== Ввімкнення ======
 +
 +Просто увімкніть. Усюди, де це підтримується, воно почне працювати.
 +
 +<file ini config/alter.ini>
 +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>
 +
filestorage.1778770066.txt.gz · Востаннє змінено: 2026/05/14 17:47 повз nightfly